You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directmemory.apache.org by no...@apache.org on 2012/10/14 15:08:27 UTC

svn commit: r1398077 - in /directmemory/lightning/trunk/lightning-maven-eclipse-helper: ./ META-INF/ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/directmemory/ src/main/java/org/apache/directmemory...

Author: noctarius
Date: Sun Oct 14 13:08:27 2012
New Revision: 1398077

URL: http://svn.apache.org/viewvc?rev=1398077&view=rev
Log:
Made m2e integration m2e 1.0.x compatible by providing implementation of
AbstractJavaProjectConfigurator

Added:
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningBuildParticipant.java
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningProjectConfigurator.java
Modified:
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/META-INF/MANIFEST.MF
    directmemory/lightning/trunk/lightning-maven-eclipse-helper/plugin.xml

Modified: directmemory/lightning/trunk/lightning-maven-eclipse-helper/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-maven-eclipse-helper/META-INF/MANIFEST.MF?rev=1398077&r1=1398076&r2=1398077&view=diff
==============================================================================
--- directmemory/lightning/trunk/lightning-maven-eclipse-helper/META-INF/MANIFEST.MF (original)
+++ directmemory/lightning/trunk/lightning-maven-eclipse-helper/META-INF/MANIFEST.MF Sun Oct 14 13:08:27 2012
@@ -6,5 +6,8 @@ Bundle-Version: 0.0.1.qualifier
 Bundle-Vendor: Noctarius
 Bundle-RequiredExecutionEnvironment: J2SE-1.5,
  JavaSE-1.6
-Require-Bundle: org.eclipse.m2e.jdt;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.m2e.core;bundle-version="[1.1.0,1.2.0)"
+Require-Bundle: org.eclipse.core.resources;bundle-version="3.4.0",
+ org.eclipse.core.runtime;bundle-version="3.4.0",
+ org.eclipse.m2e.jdt;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.m2e.core;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.m2e.maven.runtime;bundle-version="[1.0.0,2.0.0)"

Modified: directmemory/lightning/trunk/lightning-maven-eclipse-helper/plugin.xml
URL: http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-maven-eclipse-helper/plugin.xml?rev=1398077&r1=1398076&r2=1398077&view=diff
==============================================================================
--- directmemory/lightning/trunk/lightning-maven-eclipse-helper/plugin.xml (original)
+++ directmemory/lightning/trunk/lightning-maven-eclipse-helper/plugin.xml Sun Oct 14 13:08:27 2012
@@ -19,7 +19,13 @@ specific language governing permissions 
 under the License.
 -->
 <plugin>
-  <extension
-    point="org.eclipse.m2e.core.lifecycleMappingMetadataSource">
+  <extension point="org.eclipse.m2e.core.projectConfigurators">
+    <configurator
+        class="org.apache.directmemory.lightning.m2e.LightningProjectConfigurator"
+        id="org.apache.directmemory.lightning.lightningConfigurator"
+        name="DM-Lightning Project Configurator">
+    </configurator>
+  </extension>
+  <extension point="org.eclipse.m2e.core.lifecycleMappingMetadataSource">
   </extension>
 </plugin>
\ No newline at end of file

Added: directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningBuildParticipant.java
URL: http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningBuildParticipant.java?rev=1398077&view=auto
==============================================================================
--- directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningBuildParticipant.java (added)
+++ directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningBuildParticipant.java Sun Oct 14 13:08:27 2012
@@ -0,0 +1,62 @@
+package org.apache.directmemory.lightning.m2e;
+
+import java.io.File;
+import java.util.Set;
+
+import org.apache.maven.plugin.MojoExecution;
+import org.codehaus.plexus.util.Scanner;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.m2e.core.MavenPlugin;
+import org.eclipse.m2e.core.embedder.IMaven;
+import org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant;
+import org.sonatype.plexus.build.incremental.BuildContext;
+
+public class LightningBuildParticipant
+    extends MojoExecutionBuildParticipant
+{
+
+    public LightningBuildParticipant( MojoExecution execution )
+    {
+        super( execution, true );
+    }
+
+    @Override
+    public Set<IProject> build( int kind, IProgressMonitor monitor )
+        throws Exception
+    {
+        IMaven maven = MavenPlugin.getMaven();
+        BuildContext buildContext = getBuildContext();
+
+        File classesDirectory =
+            maven.getMojoParameterValue( getSession(), getMojoExecution(), "targetBuildDirectory", File.class );
+
+        if ( classesDirectory == null )
+        {
+            return null;
+        }
+
+        Scanner scanner = buildContext.newScanner( classesDirectory );
+        scanner.scan();
+
+        String[] includedFiles = scanner.getIncludedFiles();
+        if ( includedFiles == null || includedFiles.length == 0 )
+        {
+            return null;
+        }
+
+        Set<IProject> result = super.build( kind, monitor );
+
+        File generatedDirectory =
+            maven.getMojoParameterValue( getSession(), getMojoExecution(), "generatedSourceDirectory", File.class );
+        if ( generatedDirectory != null )
+        {
+            buildContext.refresh( generatedDirectory );
+        }
+
+        buildContext.refresh( classesDirectory );
+
+        return result;
+    }
+
+}

Added: directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningProjectConfigurator.java
URL: http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningProjectConfigurator.java?rev=1398077&view=auto
==============================================================================
--- directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningProjectConfigurator.java (added)
+++ directmemory/lightning/trunk/lightning-maven-eclipse-helper/src/main/java/org/apache/directmemory/lightning/m2e/LightningProjectConfigurator.java Sun Oct 14 13:08:27 2012
@@ -0,0 +1,20 @@
+package org.apache.directmemory.lightning.m2e;
+
+import org.apache.maven.plugin.MojoExecution;
+import org.eclipse.m2e.core.lifecyclemapping.model.IPluginExecutionMetadata;
+import org.eclipse.m2e.core.project.IMavenProjectFacade;
+import org.eclipse.m2e.core.project.configurator.AbstractBuildParticipant;
+import org.eclipse.m2e.jdt.AbstractJavaProjectConfigurator;
+
+public class LightningProjectConfigurator
+    extends AbstractJavaProjectConfigurator
+{
+
+    @Override
+    public AbstractBuildParticipant getBuildParticipant( IMavenProjectFacade projectFacade, MojoExecution execution,
+                                                         IPluginExecutionMetadata executionMetadata )
+    {
+        return new LightningBuildParticipant( execution );
+    }
+
+}