[
http://jira.codehaus.org/browse/MNG-4641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nigel Magnay reopened MNG-4641:
-------------------------------
Sorry, I don't think that's a good enough response.
Clearly the plugin works perfectly in 2.x, and in 3.x. Therefore turning on
some option in M3 introduces a regression. That's a bug, or an API
incompatibility that should be being detected or dealt with. I can also see
this regressions for other plugins, and in plugin generation (I have a
groovy+java+modello plugin that fails as well, because it's clearly got the
compilation dependency order totally wrong).
If it's a half-baked feature, it should have text at the end of the build
failure to say 'Build failed, might be because you're using old plugins that
don't support a new API'. "At your risk only". But it seems that this feature
is assuming that concurrency is, by default, possible for all plugins, which
seems to me a fairly tenuous assertion.
The *very first* thing that a plugin developer is going to say is 'huh? what do
I have to do here to support this? Do I just wrap the whole plugin in a
critical section? or what?'. I can't find anything in any documentation
anywhere that describes any new API (if there is one), or any compatibility
changes that plugin authors should be conforming to. Nothing in README.txt,
nothing in the release notes. And if the build fails in this mode, it ought to
spit out a URL to this documentation (m3 has made such great strides here in
other places in explaining what's probably gone wrong).
But this mode also either shouldn't be attempting to run concurrent plugins
that aren't known to work correctly in parallel - so either an API ought to
exist to declare this attribute, or a configuration point somewhere to
explicitly enable or disable it.
> flex-mojos plugin fails with parallel threads
> ---------------------------------------------
>
> Key: MNG-4641
> URL: http://jira.codehaus.org/browse/MNG-4641
> Project: Maven 2 & 3
> Issue Type: Bug
> Affects Versions: 3.0-beta-1
> Environment: OS X, 3.0-beta1
> Reporter: Nigel Magnay
> Assignee: Benjamin Bentmann
> Priority: Minor
>
> Normal build completes correctly. Multiproject build with
> mvn -X -T 2.0C clean install
> yields:
> [ERROR] Failed to execute goal
> org.sonatype.flexmojos:flexmojos-maven-plugin:3.6:compile-swc
> (default-compile-swc) on project realtime-flex-model: null:
> MojoExecutionException: NullPointerException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
> goal org.sonatype.flexmojos:flexmojos-maven-plugin:3.6:compile-swc
> (default-compile-swc) on project realtime-flex-model: null
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:141)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:77)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:69)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:82)
> at
> org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:165)
> at
> org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:162)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:637)
> Caused by: org.apache.maven.plugin.MojoExecutionException
> at
> org.sonatype.flexmojos.compiler.AbstractFlexCompilerMojo.build(AbstractFlexCompilerMojo.java:2491)
> at
> org.sonatype.flexmojos.compiler.AbstractFlexCompilerMojo.run(AbstractFlexCompilerMojo.java:1282)
> at
> org.sonatype.flexmojos.AbstractIrvinMojo.execute(AbstractIrvinMojo.java:183)
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:133)
> ... 13 more
> Caused by: java.lang.NullPointerException
> at
> macromedia.asc.embedding.LintEvaluator.getWarningDefaults(LintEvaluator.java:3221)
> at
> flex2.compiler.as3.As3Compiler.processCoachSettings(As3Compiler.java:1270)
> at flex2.compiler.as3.As3Compiler.<init>(As3Compiler.java:202)
> at flex2.tools.WebTierAPI.getCompilers(WebTierAPI.java:257)
> at flex2.tools.oem.Library.recompile(Library.java:763)
> at flex2.tools.oem.Library.compile(Library.java:1388)
> at flex2.tools.oem.Library.build(Library.java:653)
> at
> org.sonatype.flexmojos.compiler.AbstractFlexCompilerMojo.build(AbstractFlexCompilerMojo.java:2473)
> ... 17 more
> This could be because 2 flex compiles are trying to run concurrently, and
> perhaps that isn't allowed..
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira