Skip to content

Commit 7c9a40f

Browse files
Andreas SchaeferAndreas Schaefer
authored andcommitted
1.0.3.5 - Migrated the Plugin to Services so that it works on current IDEA version and updated the Aemdc
It also contains a fix to handle bundle version checks for SNAPSHOTS and the handling of provided Symbolic Names using Plugin Facets
1 parent a60d33c commit 7c9a40f

File tree

56 files changed

+320
-432
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+320
-432
lines changed

.idea/encodings.xml

Lines changed: 1 addition & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

AEM IDE Tooling 4 IntelliJ.iml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<excludeFolder url="file://$MODULE_DIR$/eclipse.aem.tooling.generatedd.test.project" />
1212
<excludeFolder url="file://$MODULE_DIR$/src/main/java/com/headwire/aem/tooling/intellij/console/intellij" />
1313
</content>
14-
<orderEntry type="jdk" jdkName="IntelliJ IDEA Community Edition IC-182.4505.22" jdkType="IDEA JDK" />
14+
<orderEntry type="jdk" jdkName="IntelliJ IDEA Community Edition IC-193.5233.102" jdkType="IDEA JDK" />
1515
<orderEntry type="sourceFolder" forTests="false" />
1616
<orderEntry type="library" name="org.apache.jackrabbit.vault:org.apache.jackrabbit.vault.rcp:3.1.38" level="project" />
1717
<orderEntry type="library" name="org.apache.jackrabbit.vault:org.apache.jackrabbit.vault:3.1.38" level="project" />

META-INF/plugin.xml

Lines changed: 42 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<idea-plugin version="2">
22
<id>com.headwire.aem.tooling.intellij</id>
33
<name>AEM IDE Tooling 4 IntelliJ</name>
4-
<version>1.0.3.4</version>
4+
<version>1.0.3.5-beta</version>
55
<vendor email="aemintellijplugin@headwire.com" url="https://www.headwire.com/aemintellijplugin">headwire.com Inc</vendor>
66

77
<description><![CDATA[
@@ -16,6 +16,17 @@
1616

1717
<change-notes><![CDATA[
1818
<ul>
19+
<li>1.0.3.5-beta:
20+
<ol>
21+
<li>
22+
Migrated the Plugin to work with IntelliJ Plugin services rather than components so that it
23+
works with the latest releases of IntelliJ.
24+
</li>
25+
<li>
26+
Updated to the latest Aemdc code base
27+
</li>
28+
</ol>
29+
</li>
1930
<li>1.0.3.4:
2031
<ol>
2132
<li>
@@ -154,99 +165,39 @@
154165
order="last"
155166
nonDefaultProject="false"
156167
/>
157-
</extensions>
158168

159-
<application-components>
160-
<!-- Add your application components here -->
161-
<!-- AS NOTE: Any Wrapper class (ending in Wrapper) are classes that mimic the OSGi binding of other services -->
162-
<component>
163-
<implementation-class>com.headwire.aem.tooling.intellij.console.ConsoleLog</implementation-class>
164-
</component>
165-
<component>
166-
<interface-class>org.osgi.service.event.EventAdmin</interface-class>
167-
<implementation-class>com.headwire.aem.tooling.intellij.eclipse.wrapper.EventAdminWrapper
168-
</implementation-class>
169-
</component>
170-
<component>
171-
<interface-class>org.apache.sling.ide.transport.RepositoryFactory</interface-class>
172-
<implementation-class>com.headwire.aem.tooling.intellij.eclipse.wrapper.VltRepositoryFactoryWrapper
173-
</implementation-class>
174-
</component>
175-
<component>
176-
<interface-class>org.apache.sling.ide.osgi.OsgiClientFactory</interface-class>
177-
<implementation-class>com.headwire.aem.tooling.intellij.eclipse.wrapper.OsgiClientFactoryWrapper
178-
</implementation-class>
179-
</component>
180-
<component>
181-
<interface-class>org.apache.sling.ide.serialization.SerializationManager</interface-class>
182-
<implementation-class>com.headwire.aem.tooling.intellij.eclipse.wrapper.SerializationManagerWrapper
183-
</implementation-class>
184-
</component>
185-
<!--<component>-->
186-
<!--<interface-class>org.apache.sling.ide.artifacts.EmbeddedArtifactLocator</interface-class>-->
187-
<!--<implementation-class>com.headwire.aem.tooling.intellij.util.ArtifactsLocatorImpl</implementation-class>-->
188-
<!--</component>-->
189-
<component>
190-
<interface-class>org.apache.sling.ide.filter.FilterLocator</interface-class>
191-
<implementation-class>com.headwire.aem.tooling.intellij.eclipse.wrapper.VltFilterLocatorWrapper
192-
</implementation-class>
193-
</component>
194-
<component>
195-
<interface-class>org.apache.sling.ide.impl.vlt.VaultFsLocator</interface-class>
196-
<implementation-class>org.apache.sling.ide.impl.vlt.VaultFsLocatorImpl</implementation-class>
197-
</component>
198-
<component>
199-
<interface-class>org.apache.sling.ide.log.Logger</interface-class>
200-
<implementation-class>com.headwire.aem.tooling.intellij.eclipse.wrapper.PluginLoggerWrapper
201-
</implementation-class>
202-
</component>
203-
<component>
204-
<implementation-class>com.headwire.aem.tooling.intellij.config.general.AEMPluginConfiguration
205-
</implementation-class>
206-
</component>
169+
<postStartupActivity implementation="com.headwire.aem.tooling.intellij.explorer.PluginStartupActivity"/>
207170

208-
</application-components>
171+
<applicationService serviceImplementation="com.headwire.aem.tooling.intellij.config.general.AEMPluginConfiguration" />
172+
<applicationService serviceImplementation="com.headwire.aem.tooling.intellij.console.ConsoleLog" />
173+
<applicationService serviceInterface="org.osgi.service.event.EventAdmin"
174+
serviceImplementation="com.headwire.aem.tooling.intellij.eclipse.wrapper.EventAdminWrapper" />
175+
<applicationService serviceInterface="org.apache.sling.ide.impl.vlt.VaultFsLocator"
176+
serviceImplementation="org.apache.sling.ide.impl.vlt.VaultFsLocatorImpl" />
177+
<applicationService serviceInterface="org.apache.sling.ide.serialization.SerializationManager"
178+
serviceImplementation="com.headwire.aem.tooling.intellij.eclipse.wrapper.SerializationManagerWrapper" />
179+
<applicationService serviceInterface="org.apache.sling.ide.transport.RepositoryFactory"
180+
serviceImplementation="com.headwire.aem.tooling.intellij.eclipse.wrapper.VltRepositoryFactoryWrapper" />
181+
<applicationService serviceInterface="org.apache.sling.ide.osgi.OsgiClientFactory"
182+
serviceImplementation="com.headwire.aem.tooling.intellij.eclipse.wrapper.OsgiClientFactoryWrapper" />
183+
<applicationService serviceInterface="org.apache.sling.ide.filter.FilterLocator"
184+
serviceImplementation="com.headwire.aem.tooling.intellij.eclipse.wrapper.VltFilterLocatorWrapper" />
185+
<applicationService serviceInterface="org.apache.sling.ide.log.Logger"
186+
serviceImplementation="com.headwire.aem.tooling.intellij.eclipse.wrapper.PluginLoggerWrapper" />
209187

210-
<project-components>
211-
<component>
212-
<implementation-class>com.headwire.aem.tooling.intellij.communication.MessageManager</implementation-class>
213-
</component>
214-
<component>
215-
<implementation-class>com.headwire.aem.tooling.intellij.explorer.SlingServerTreeSelectionHandler
216-
</implementation-class>
217-
</component>
218-
<component>
219-
<implementation-class>com.headwire.aem.tooling.intellij.explorer.SlingServerTreeManager
220-
</implementation-class>
221-
</component>
222-
<component>
223-
<implementation-class>com.headwire.aem.tooling.intellij.config.ServerConfigurationManager
224-
</implementation-class>
225-
</component>
226-
<component>
227-
<implementation-class>com.headwire.aem.tooling.intellij.communication.ServerConnectionManager
228-
</implementation-class>
229-
</component>
230-
<component>
231-
<implementation-class>com.headwire.aem.tooling.intellij.console.ConsoleLogProjectTracker
232-
</implementation-class>
233-
</component>
234-
<component>
235-
<implementation-class>com.headwire.aem.tooling.intellij.communication.ContentResourceChangeListener
236-
</implementation-class>
237-
</component>
238-
<component>
239-
<interface-class>com.headwire.aem.tooling.intellij.config.ModuleManager</interface-class>
240-
<implementation-class>com.headwire.aem.tooling.intellij.config.ModuleManagerImpl</implementation-class>
241-
</component>
242-
<component>
243-
<interface-class>org.apache.sling.ide.artifacts.EmbeddedArtifactLocator</interface-class>
244-
<implementation-class>com.headwire.aem.tooling.intellij.util.ArtifactsLocatorImpl</implementation-class>
245-
</component>
246-
<component>
247-
<implementation-class>com.headwire.aem.tooling.intellij.explorer.AemdcPanel</implementation-class>
248-
</component>
249-
</project-components>
188+
<projectService serviceImplementation="com.headwire.aem.tooling.intellij.communication.MessageManager" />
189+
<projectService serviceImplementation="com.headwire.aem.tooling.intellij.explorer.SlingServerTreeSelectionHandler" />
190+
<projectService serviceImplementation="com.headwire.aem.tooling.intellij.explorer.SlingServerTreeManager" />
191+
<projectService serviceImplementation="com.headwire.aem.tooling.intellij.communication.ServerConnectionManager" />
192+
<projectService serviceImplementation="com.headwire.aem.tooling.intellij.config.ServerConfigurationManager" />
193+
<projectService serviceImplementation="com.headwire.aem.tooling.intellij.console.ConsoleLogProjectTracker" />
194+
<projectService serviceInterface="com.headwire.aem.tooling.intellij.config.ModuleManager"
195+
serviceImplementation="com.headwire.aem.tooling.intellij.config.ModuleManagerImpl" />
196+
<projectService serviceInterface="org.apache.sling.ide.artifacts.EmbeddedArtifactLocator"
197+
serviceImplementation="com.headwire.aem.tooling.intellij.util.ArtifactsLocatorImpl" />
198+
<projectService serviceImplementation="com.headwire.aem.tooling.intellij.communication.ContentResourceChangeListener" />
199+
<projectService serviceImplementation="com.headwire.aem.tooling.intellij.explorer.AemdcPanel" />
200+
</extensions>
250201

251202
<actions>
252203
<!-- Add your actions here -->

Readme.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ The **master** is the latest release code and it the same as the highest
4848

4949
#### Updates:
5050

51+
**1.0.3.5-beta**
52+
* Migrated the Plugin to work with IntelliJ Plugin services rather than components so that it works with the latest releases of IntelliJ.
53+
* Updated to the latest Aemdc code base
54+
5155
**1.0.3.4**:
5256
* A fix for the Import From User Action that fails because I cannot write from a
5357
User Action.

documenation/AEM Tooling Plugin for IntelliJ IDEA.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ Maven OSGi Bundle plugin will create bind / unbind methods based on the annotati
8383

8484
8) Go back to the Preferences, Plugins and make sure it is listed there
8585

86-
![IntelliJ with installed Felix SCR Annoation Processor](./img/1.4.IntelliJ.Preferences.Review.Felix.Plugin.png)
86+
![IntelliJ with installed Felix SCR Annotation Processor](./img/1.4.IntelliJ.Preferences.Review.Felix.Plugin.png)
8787

8888
The **Felix OSGi Annotation Processor** hooks into the compilation process and at the end of it will handle the
8989
**Annotation** similar to what the Maven OSGi Bundle plugin does. So when the compilation concludes the created class has

src/main/java/com/headwire/aem/tooling/intellij/action/AEMActionGroup.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.headwire.aem.tooling.intellij.util.ComponentProvider;
2323
import com.intellij.openapi.actionSystem.AnActionEvent;
2424
import com.intellij.openapi.actionSystem.DefaultActionGroup;
25+
import com.intellij.openapi.components.ServiceManager;
2526
import com.intellij.openapi.project.DumbAware;
2627
import com.intellij.openapi.project.Project;
2728

@@ -41,7 +42,7 @@ protected boolean isAvailable(AnActionEvent e) {
4142
boolean ret = false;
4243
Project project = e.getProject();
4344
if(project != null) {
44-
final SlingServerTreeSelectionHandler selectionHandler = ComponentProvider.getComponent(project, SlingServerTreeSelectionHandler.class);
45+
final SlingServerTreeSelectionHandler selectionHandler = ServiceManager.getService(project, SlingServerTreeSelectionHandler.class);
4546
ret = selectionHandler.getCurrentConfiguration() != null;
4647
}
4748
return ret;

src/main/java/com/headwire/aem/tooling/intellij/action/AbstractConnectionAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.headwire.aem.tooling.intellij.util.ComponentProvider;
2525
import com.intellij.openapi.actionSystem.ActionManager;
2626
import com.intellij.openapi.actionSystem.DataContext;
27+
import com.intellij.openapi.components.ServiceManager;
2728
import com.intellij.openapi.project.Project;
2829
import org.jetbrains.annotations.NotNull;
2930
import org.jetbrains.annotations.Nullable;
@@ -55,7 +56,7 @@ protected boolean prepareDeployment(@Nullable Project project, @Nullable final D
5556
final SlingServerTreeSelectionHandler selectionHandler = getSelectionHandler(project);
5657
ServerConfiguration serverConfiguration = selectionHandler.getCurrentConfiguration();
5758
if(serverConfiguration != null) {
58-
AEMPluginConfiguration pluginConfiguration = ComponentProvider.getComponent(project, AEMPluginConfiguration.class);
59+
AEMPluginConfiguration pluginConfiguration = ServiceManager.getService(project, AEMPluginConfiguration.class);
5960
String lastUsedServerConfiguration = pluginConfiguration != null ? pluginConfiguration.getLastUsedServerConfiguration() : "";
6061
if(lastUsedServerConfiguration != null && lastUsedServerConfiguration.length() > 0 && !lastUsedServerConfiguration.equals(serverConfiguration.getName())) {
6162
doPurge(project, progressHandler);

0 commit comments

Comments
 (0)