I use: eclipse mars where m2e has version 1.6.0 Linux Mint 17 - however solution should be multiplatform
2015-09-20 22:17 GMT+02:00 Marek Jagielski <[email protected]>: > Hi, > > I am developing pde plugin where user projects are maven nature projects. > My plugin requires m2e to handle project configuration from user > perspective. > > In some occasion I needed to run "package" goal programmatically. I was > doing like this as below: > > String path = project.getLocation().toOSString(); > MavenCli cli = new MavenCli(); > int result = cli.doMain(new String[] { "package", "-T 4C", > "-DskipTests" }, path, null, null); > return result == 0 ? true : false; > > However, I was using separate bundle: > <dependency> > <groupId>org.apache.maven</groupId> > <artifactId>maven-embedder</artifactId> > <version>3.2.3</version> > </dependency> > that was integrated using maven-bundle-plugin. > > Doing further development I started using m2e and reached compatibility > issues. I decided to use only m2e api. > > With the same code, but using m2e I got exception: > > -Dmaven.multiModuleProjectDirectory system propery is not set. Check > $M2_HOME environment variable and mvn script match > > So I started to look into m2e api. I tried code like this: > > IMavenProjectRegistry projectManager = > MavenPlugin.getMavenProjectRegistry(); > IFile pomFile = project.getFile(new Path("pom.xml")); > IMavenProjectFacade projectFacade = projectManager.create(pomFile, > true, new NullProgressMonitor()); > MavenProject mp = projectFacade.getMavenProject(); > > IMavenExecutionContext ec = > MavenPlugin.getMaven().createExecutionContext(); > ec.getExecutionRequest().getGoals().add("package"); > ec.getExecutionRequest().setBaseDirectory(mp.getBasedir()); > ec.getExecutionRequest().setPom(mp.getFile()); > ec.getExecutionRequest().setBuilderId("multithreaded"); > ec.getExecutionRequest().setDegreeOfConcurrency(4); > ec.execute(projectFacade.getMavenProject(),new > ICallable<Boolean>() { > @Override > public Boolean call(IMavenExecutionContext mec, > IProgressMonitor pm) throws CoreException { > return true; > } > }, new NullProgressMonitor()); > > without errors, however without expected results. In console I got: > > 21:40:43.440 [Worker-37] DEBUG o.e.m.c.i.builder.MavenBuilder - Building > project test1 > 21:40:43.443 [Worker-37] DEBUG o.e.a.i.i.DefaultLocalRepositoryProvider - > Using manager EnhancedLocalRepositoryManager with priority 10.0 for > /home/marek/.m2/repository > 21:40:43.444 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Build participants for > MavenProject: org.examples:example:1.0.0-SNAPSHOT @ > /home/marek/Projects/systemInCloudModeler/runtime-EclipseApplication/test1/pom.xml > 21:40:43.444 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Mojo execution key: > org.apache.maven.plugins:maven-resources-plugin:2.6:resources (execution: > default-resources, phase: process-resources) > 21:40:43.444 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Action: execute > 21:40:43.444 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Mojo execution key: > org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (execution: > default-compile, phase: compile) > 21:40:43.444 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Mojo execution key: > org.apache.maven.plugins:maven-resources-plugin:2.6:testResources > (execution: default-testResources, phase: process-test-resources) > 21:40:43.445 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Action: execute > 21:40:43.445 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Mojo execution key: > org.apache.maven.plugins:maven-compiler-plugin:2.3.2:testCompile > (execution: default-testCompile, phase: test-compile) > 21:40:43.445 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Mojo execution key: > org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (execution: > default-test, phase: test) > 21:40:43.445 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Mojo execution key: > org.apache.maven.plugins:maven-jar-plugin:2.4:jar (execution: default-jar, > phase: package) > 21:40:43.445 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Action: configurator > 21:40:43.445 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Project configurator : > id=org.sonatype.m2e.mavenarchiver.jararchiverconfigurator > class=org.sonatype.m2e.mavenarchiver.internal.JarArchiverConfigurator > 21:40:43.446 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Build participant: > org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator$1 > 21:40:43.446 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Mojo execution key: > org.apache.maven.plugins:maven-install-plugin:2.4:install (execution: > default-install, phase: install) > 21:40:43.446 [Worker-37] DEBUG > o.e.m.c.p.c.AbstractCustomizableLifecycleMapping - Mojo execution key: > org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (execution: > default-deploy, phase: deploy) > 21:40:43.446 [Worker-37] DEBUG o.e.m.c.i.builder.MavenBuilderImpl - > Executing build participant > org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant for > plugin execution > org.apache.maven.plugins:maven-resources-plugin:2.6:resources (execution: > default-resources, phase: process-resources) > 21:40:43.451 [Worker-37] INFO o.e.m.c.i.embedder.EclipseLogger - Using > 'UTF-8' encoding to copy filtered resources. > 21:40:43.452 [Worker-37] INFO o.e.m.c.i.embedder.EclipseLogger - Copying > 0 resource > 21:40:43.453 [Worker-37] DEBUG o.e.m.c.i.builder.MavenBuilderImpl - > Finished executing build participant > org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant for > plugin execution > org.apache.maven.plugins:maven-resources-plugin:2.6:resources (execution: > default-resources, phase: process-resources) in 7 ms > 21:40:43.453 [Worker-37] DEBUG o.e.m.c.i.builder.MavenBuilderImpl - > Executing build participant > org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant for > plugin execution > org.apache.maven.plugins:maven-resources-plugin:2.6:testResources > (execution: default-testResources, phase: process-test-resources) > 21:40:43.456 [Worker-37] INFO o.e.m.c.i.embedder.EclipseLogger - Using > 'UTF-8' encoding to copy filtered resources. > 21:40:43.457 [Worker-37] INFO o.e.m.c.i.embedder.EclipseLogger - Copying > 0 resource > 21:40:43.457 [Worker-37] DEBUG o.e.m.c.i.builder.MavenBuilderImpl - > Finished executing build participant > org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant for > plugin execution > org.apache.maven.plugins:maven-resources-plugin:2.6:testResources > (execution: default-testResources, phase: process-test-resources) in 4 ms > 21:40:43.457 [Worker-37] DEBUG o.e.m.c.i.builder.MavenBuilderImpl - > Executing build participant > org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator$1 > for plugin execution org.apache.maven.plugins:maven-jar-plugin:2.4:jar > (execution: default-jar, phase: package) > 21:40:43.457 [Worker-37] DEBUG o.e.m.c.i.builder.MavenBuilderImpl - > Finished executing build participant > org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator$1 > for plugin execution org.apache.maven.plugins:maven-jar-plugin:2.4:jar > (execution: default-jar, phase: package) in 0 ms > 21:40:43.458 [Worker-37] DEBUG o.e.m.c.i.builder.MavenBuilder - Built > project test1 in 18 ms > > > I would be appreciated for any help with explaining how to use m2e api. > Thanks in advance, > > Marek > > -- > Marek Jagielski > +48 513 402 596 > -- Marek Jagielski +48 513 402 596
_______________________________________________ m2e-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/m2e-users
