<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hard for me to follow if you guys have solved this one or now but, Re: the potential of a maven version discrepancy between Eclipse and the CLI, it looks like you can check the install/version of maven that eclipse is using by going to the menu Eclipse > Preferences > Maven > Installations <div class=""><br class=""></div><div class="">Only now just found this now and I see it is a different install than I use at the command line. Looks like you can point it to a particular install though to make sure they are the same.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class=""><br class=""></div><div class="">Jay</div><div class=""><br class=""><div class=""><div><blockquote type="cite" class=""><div class="">On Mar 19, 2015, at 1:50 PM, Curtis Rueden <<a href="mailto:ctrueden@wisc.edu" class="">ctrueden@wisc.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi Stephan,<div class=""><br class=""></div><div class="">To reword Mark's explanation:</div><div class=""><br class=""></div><div class="">The current behavior is a bug, which happens when you try to build _only_ the submodule, rather than building at the top level of the multi-module project.</div><div class=""><br class=""></div><div class="">It is triggered in Eclipse because Eclipse's project configuration runs each submodule's build separately, in some sense.</div><div class=""><br class=""></div><div class="">Mark said he would change the scijava-maven-plugin's use of the word "dependency" in the case of parent POM linkage, since a parent POM is not a "dependency" in Maven terms. (This is what he meant by "consider it reworded" -- like a genie saying "It's as good as done!")</div><div class=""><br class=""></div><div class="">We will also be exploring how to solve this bug in general, such that it _does_ become possible to build only a submodule of a multi-module project, without the enforcer throwing a tantrum.</div><div class=""><br class=""></div><div class="">Regards,</div><div class="">Curtis</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Mar 19, 2015 at 1:36 PM, Stephan Saalfeld <span dir="ltr" class=""><<a href="mailto:saalfelds@janelia.hhmi.org" target="_blank" class="">saalfelds@janelia.hhmi.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Mark,<br class="">
<span class=""><br class="">
> It is fine that mpicbg-trakem2 is a SNAPSHOT. The (P) indicates that a<br class="">
> SNAPSHOT parent is making things unhappy. If the object was not allowed to<br class="">
> be a SNAPSHOT you would see a (V). But it is misleading to call it a<br class="">
> dependency.. consider it reworded.<br class="">
><br class="">
<br class="">
</span>Sorry, I didn't get this. Could you reword please ;) (I mean,<br class="">
seriously, I didn't get it)? A trial:<br class="">
<br class="">
The complaint is that pom-trakem2, which is mpicbg-trakem2's parent is<br class="">
at a SNAPSHOT-version?<br class="">
<span class=""><br class="">
> For SNAPSHOT-coupled multi-module builds, the contract is that SNAPSHOTS<br class="">
> are allowed as long as everything is built from the top-level. If you built<br class="">
> from a submodule, Maven could resolve the SNAPSHOT parent remotely, which<br class="">
> would then not be guaranteed to match the parent in your multi-module<br class="">
> project.<br class="">
><br class="">
<br class="">
</span>I guess I got it.<br class="">
<span class=""><br class="">
> Eclipse is problematic because it splits each submodule out to the same<br class="">
> level as the parent pom, and resolves each individually, thus causing<br class="">
> RequireReproducibleBuilds to fail.<br class="">
><br class="">
<br class="">
</span>That sounds like a perfect explanation. But since Eclipse is the<br class="">
primary development platform, that should definitely work. I actually<br class="">
think that it is more important that builds build in Eclipse without red<br class="">
x-es than that builds are reproducible. I am reverting to<br class="">
pom-fiji-7.2.0 in the meantime to give myself peace of mind.<br class="">
<span class=""><br class="">
> I will look into ways of obtaining the reactor's parent pom locally[1], so<br class="">
> that we can build submodules directly.<br class="">
><br class="">
<br class="">
</span>Thanks a lot!<br class="">
<br class="">
Best,<br class="">
Stephan<br class="">
<div class="HOEnZb"><div class="h5"><br class="">
<br class="">
> [1] <a href="https://github.com/scijava/scijava-maven-plugin/issues/12" target="_blank" class="">https://github.com/scijava/scijava-maven-plugin/issues/12</a><br class="">
><br class="">
> On Thu, Mar 19, 2015 at 12:53 PM, Stephan Saalfeld <<br class="">
> <a href="mailto:saalfelds@janelia.hhmi.org" class="">saalfelds@janelia.hhmi.org</a>> wrote:<br class="">
><br class="">
> > Hi Curtis and Jay,<br class="">
> ><br class="">
> > I upgraded to Luna with the same effect. 7.2.0 works, 8.0.0 triggers<br class="">
> > the unspecific complaint as show in the OP.<br class="">
> ><br class="">
> > Run As > Maven build... + Debug Output<br class="">
> ><br class="">
> > says:<br class="">
> ><br class="">
> > [INFO] Property 'imagej.app.directory' unset; Skipping copy-jars<br class="">
> > [INFO]<br class="">
> > ------------------------------------------------------------------------<br class="">
> > [INFO] Reactor Summary:<br class="">
> > [INFO]<br class="">
> > [INFO] Aggregator project for Albert Cardona's TrakEM2 software suite<br class="">
> > SUCCESS [ 5.098 s]<br class="">
> > [INFO] jars/VectorString.jar ............................. SUCCESS [<br class="">
> > 8.813 s]<br class="">
> > [INFO] mpicbg-trakem2 .................................... SUCCESS [<br class="">
> > 8.074 s]<br class="">
> > [INFO] plugins/TrakEM2_.jar .............................. SUCCESS<br class="">
> > [ 28.727 s]<br class="">
> > [INFO] jars/T2-NIT.jar ................................... SUCCESS<br class="">
> > [ 14.724 s]<br class="">
> > [INFO] jars/T2-TreelineGraph.jar ......................... SUCCESS<br class="">
> > [ 13.202 s]<br class="">
> > [INFO]<br class="">
> > ------------------------------------------------------------------------<br class="">
> > [INFO] BUILD SUCCESS<br class="">
> > [INFO]<br class="">
> > ------------------------------------------------------------------------<br class="">
> > [INFO] Total time: 01:19 min<br class="">
> > [INFO] Finished at: 2015-03-19T13:45:46-05:00<br class="">
> > [INFO] Final Memory: 250M/3444M<br class="">
> > [INFO]<br class="">
> > ------------------------------------------------------------------------<br class="">
> ><br class="">
> ><br class="">
> ><br class="">
> ><br class="">
> ><br class="">
> > But the error mark (red x) persists on all mudules' pom files with the<br class="">
> > unspecific error message.<br class="">
> ><br class="">
> > Next test, running Maven build... in mpicbg-trakem2-1.2.3-SNAPSHOT, or<br class="">
> > any of the other modules where the error manifests leads to more<br class="">
> > informative output:<br class="">
> ><br class="">
> ><br class="">
> > The following dependencies either are SNAPSHOT versions (V), contain<br class="">
> > SNAPSHOT parents (P), or contain SNAPSHOT dependencies (D):<br class="">
> ><br class="">
> > (P) sc.fiji:mpicbg-trakem2:1.2.3-SNAPSHOT<br class="">
> ><br class="">
> > [INFO]<br class="">
> > ------------------------------------------------------------------------<br class="">
> > [INFO] BUILD FAILURE<br class="">
> > [INFO]<br class="">
> > ------------------------------------------------------------------------<br class="">
> > [INFO] Total time: 3.043 s<br class="">
> > [INFO] Finished at: 2015-03-19T13:48:20-05:00<br class="">
> > [INFO] Final Memory: 33M/1930M<br class="">
> > [INFO]<br class="">
> > ------------------------------------------------------------------------<br class="">
> > [ERROR] Failed to execute goal<br class="">
> > org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce<br class="">
> > (enforce-rules) on project mpicbg-trakem2: Some Enforcer rules have<br class="">
> > failed. Look above for specific messages explaining why the rule failed.<br class="">
> > -> [Help 1]<br class="">
> > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to<br class="">
> > execute goal<br class="">
> > org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce<br class="">
> > (enforce-rules) on project mpicbg-trakem2: Some Enforcer rules have<br class="">
> > failed. Look above for specific messages explaining why the rule failed.<br class="">
> > at<br class="">
> ><br class="">
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)<br class="">
> > at<br class="">
> ><br class="">
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)<br class="">
> > at<br class="">
> ><br class="">
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)<br class="">
> > at<br class="">
> ><br class="">
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)<br class="">
> > at<br class="">
> ><br class="">
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)<br class="">
> > at<br class="">
> ><br class="">
> > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)<br class="">
> > at<br class="">
> ><br class="">
> > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)<br class="">
> > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)<br class="">
> > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)<br class="">
> > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)<br class="">
> > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)<br class="">
> > at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)<br class="">
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br class="">
> > at<br class="">
> ><br class="">
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br class="">
> > at<br class="">
> ><br class="">
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br class="">
> > at java.lang.reflect.Method.invoke(Method.java:606)<br class="">
> > at<br class="">
> ><br class="">
> > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)<br class="">
> > at<br class="">
> > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)<br class="">
> > at<br class="">
> ><br class="">
> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)<br class="">
> > at<br class="">
> > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)<br class="">
> > Caused by: org.apache.maven.plugin.MojoExecutionException: Some Enforcer<br class="">
> > rules have failed. Look above for specific messages explaining why the<br class="">
> > rule failed.<br class="">
> > at<br class="">
> > org.apache.maven.plugins.enforcer.EnforceMojo.execute(EnforceMojo.java:209)<br class="">
> > at<br class="">
> ><br class="">
> > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)<br class="">
> > at<br class="">
> ><br class="">
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)<br class="">
> > ... 19 more<br class="">
> > [ERROR]<br class="">
> > [ERROR]<br class="">
> > [ERROR] For more information about the errors and possible solutions,<br class="">
> > please read the following articles:<br class="">
> > [ERROR] [Help 1]<br class="">
> > <a href="http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException" target="_blank" class="">http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException</a><br class="">
> ><br class="">
> ><br class="">
> ><br class="">
> > Wait, mpicbg-trakem2-1.2.3-SNAPSHOT is the project that I am building,<br class="">
> > not a dependency thereof---and it is at a SNAPSHOT version---yes,<br class="">
> > because I am in development cycle---that should work---no?<br class="">
> ><br class="">
> > Thanks for your help,<br class="">
> > Stephan<br class="">
> ><br class="">
> ><br class="">
> ><br class="">
> > On Thu, 2015-03-19 at 12:18 -0500, Curtis Rueden wrote:<br class="">
> > > Hi Stephan,<br class="">
> > ><br class="">
> > > > Do you know about this [, do you have an idea what it is[<br class="">
> > ><br class="">
> > > Probably, this started happening because of this change:<br class="">
> > ><br class="">
> > ><br class="">
> > <a href="https://github.com/scijava/pom-scijava/commit/5e6bddae9fcc965722c0fce1e2996c2e49b60411" target="_blank" class="">https://github.com/scijava/pom-scijava/commit/5e6bddae9fcc965722c0fce1e2996c2e49b60411</a><br class="">
> > ><br class="">
> > > Which in general is a _good_ thing because it's better for Eclipse to<br class="">
> > tell<br class="">
> > > you than for Jenkins to tell you later after you pushed to master.<br class="">
> > ><br class="">
> > > If there are enforcer issues, they should be addressed, or if<br class="">
> > unaddressable<br class="">
> > > the enforcer can be squelched so that CLI and Jenkins also do not<br class="">
> > complain.<br class="">
> > ><br class="">
> > > The weird thing here is that your Eclipse is complaining but our CLI is<br class="">
> > > not. Jay may be on to something about a Maven version discrepancy. Why<br class="">
> > are<br class="">
> > > you still on Kepler? You could try upgrading to Luna—I know of at least<br class="">
> > one<br class="">
> > > annoying Maven-related bug that was fixed. You could also try using the<br class="">
> > Run<br class="">
> > > As > Maven build... and specifying the "Debug Output" option (which<br class="">
> > passes<br class="">
> > > the -X flag to Maven), and see if that tells you anything interesting.<br class="">
> > ><br class="">
> > > Regards,<br class="">
> > > Curtis<br class="">
> > ><br class="">
> > > On Wed, Mar 18, 2015 at 10:33 PM, Stephan Saalfeld <<br class="">
> > > <a href="mailto:saalfelds@janelia.hhmi.org" class="">saalfelds@janelia.hhmi.org</a>> wrote:<br class="">
> > ><br class="">
> > > > Hi ImageJ developers,<br class="">
> > > ><br class="">
> > > > Eclipse complains<br class="">
> > > ><br class="">
> > > > Some Enforcer rules have failed. Look above for specific messages<br class="">
> > > > explaining why the rule failed.<br class="">
> > > ><br class="">
> > > ><br class="">
> > (org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce:enforce-rules:validate)<br class="">
> > > ><br class="">
> > > > in my TrakEM2 master for each module. No further information (neither<br class="">
> > > > above nor below) is provided.<br class="">
> > > ><br class="">
> > > > A terminal `mvn clean install`, however, succeeds without complaints.<br class="">
> > > > So I assume that this is an Eclipse specific quirk. I have Kepler<br class="">
> > > > Service Release 1 installed.<br class="">
> > > ><br class="">
> > > > Do you know about this [, do you have an idea what it is[, and do you<br class="">
> > > > know how to fix it]]]?<br class="">
> > > ><br class="">
> > > > Thanks in any case,<br class="">
> > > > Stephan<br class="">
> > > ><br class="">
> > > ><br class="">
> > > > _______________________________________________<br class="">
> > > > ImageJ-devel mailing list<br class="">
> > > > <a href="mailto:ImageJ-devel@imagej.net" class="">ImageJ-devel@imagej.net</a><br class="">
> > > > <a href="http://imagej.net/mailman/listinfo/imagej-devel" target="_blank" class="">http://imagej.net/mailman/listinfo/imagej-devel</a><br class="">
> > > ><br class="">
> ><br class="">
> ><br class="">
> > _______________________________________________<br class="">
> > ImageJ-devel mailing list<br class="">
> > <a href="mailto:ImageJ-devel@imagej.net" class="">ImageJ-devel@imagej.net</a><br class="">
> > <a href="http://imagej.net/mailman/listinfo/imagej-devel" target="_blank" class="">http://imagej.net/mailman/listinfo/imagej-devel</a><br class="">
> ><br class="">
<br class="">
</div></div></blockquote></div><br class=""></div>
_______________________________________________<br class="">ImageJ-devel mailing list<br class=""><a href="mailto:ImageJ-devel@imagej.net" class="">ImageJ-devel@imagej.net</a><br class="">http://imagej.net/mailman/listinfo/imagej-devel<br class=""></div></blockquote></div><br class=""></div></div></body></html>