diff --git a/maven-jnaerator-plugin/pom.xml b/maven-jnaerator-plugin/pom.xml
index 52e84488..e3de749f 100644
--- a/maven-jnaerator-plugin/pom.xml
+++ b/maven-jnaerator-plugin/pom.xml
@@ -28,9 +28,14 @@
org.apache.maven
- maven-project
- 3.0-alpha-2
+ maven-core
+ 3.0.5
+
+ org.sonatype.plexus
+ plexus-build-api
+ 0.0.7
+
diff --git a/maven-jnaerator-plugin/src/main/java/com/jnaerator/JNAeratorMojo.java b/maven-jnaerator-plugin/src/main/java/com/jnaerator/JNAeratorMojo.java
index cbe73d26..4b236919 100644
--- a/maven-jnaerator-plugin/src/main/java/com/jnaerator/JNAeratorMojo.java
+++ b/maven-jnaerator-plugin/src/main/java/com/jnaerator/JNAeratorMojo.java
@@ -19,6 +19,7 @@
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
+import org.sonatype.plexus.build.incremental.BuildContext;
import com.ochafik.lang.jnaerator.*;
@@ -73,6 +74,16 @@ public class JNAeratorMojo
*/
private MavenProject project;
+
+ /**
+ * @component
+ * @required
+ * @readonly
+ *
+ */
+ private BuildContext buildContext;
+
+
static File canonizeDir(File f) throws IOException {
if (!f.exists())
f.mkdirs();
@@ -90,16 +101,16 @@ public void execute()
List args = new ArrayList();
args.add(config.getAbsolutePath());
-
+
// Override settings from config file :
args.add("-mode");
args.add(JNAeratorConfig.OutputMode.Directory.name());
args.add("-f");
args.add("-o");
-
+
File javaDir = canonizeDir(javaOutputDirectory);
args.add(javaDir.toString());
-
+
project.addCompileSourceRoot(javaDir.toString());
if (generateScala) {
@@ -108,6 +119,13 @@ public void execute()
}
com.ochafik.lang.jnaerator.JNAerator.main(args.toArray(new String[0]));
+
+ //attempt to have eclipse adding the generated directory to it the source path
+ if (this.buildContext != null) {
+ this.buildContext.refresh(javaDir);
+ getLog().info( "Refreshing " + javaDir );
+ }
+
}
catch (Exception e )
{
diff --git a/maven-jnaerator-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml b/maven-jnaerator-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml
new file mode 100644
index 00000000..6b6081ac
--- /dev/null
+++ b/maven-jnaerator-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+ generate
+
+
+
+
+ false
+ true
+
+
+
+
+
\ No newline at end of file