The "checkMissingArtifactsInReactor" method is only used when the plugin is
an aggregator.

The eclipse plugin may fail when it ask for execution of
phase=generate-sources, as some plugins requires dependency resolution
(sample : an ear having dependency on a war). But in this case, the
execution is not done in reactor.

To solve this issue, I have two options :

- make enhancements to core and plugin api to support a new ConfigureMojo
API for plugins that have to declare some project level metadatas (generated
source folders, or other...). This would require a new maven release, and
maybe wiat for 2.1

- change the way the eclipse plugin force a generate-resources phase to be
executed. AS this is NOT done in reactor, even when the eclipse plugin does,
the "*can't be resolved but has been found in the reactor*" does not
occur. I've no idea how a plugin can access the current MavenSession and
execute a phase/plugin, as @execute phase="" is not enough for this use
case.

Nico.


2007/12/20, Brian E. Fox <[EMAIL PROTECTED]>:
>
> This is done automatically by the core. If you inspect the file handle
> of artifacts passed to a plugin in a reactor build: if the phase compile
> was executed, it will point to /foo/target/classes. If the phase package
> was executed, it will be /foo/target/foo-version.jar, and if install, it
> will point to the repo.
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of nicolas de loof
> Sent: Thursday, December 20, 2007 9:57 AM
> To: Maven Developers List
> Subject: Re: how to bypass dependency resolution ?
>
> I just noticed when running release:prepare
>
> "
> [WARNING] The dependency: test:test2:jar:2-SNAPSHOT can't be resolved
> but
> has been found in the reactor.
> "
>
> This sounds like a project running in the reactor CAN bypass dependency
> resolution on its artifacts.
>
> Could someone explain me HOW it is done by the releaseManager and how we
> could port this code to IDE-plugins ?
>
> 2007/12/18, nicolas de loof <[EMAIL PROTECTED]>:
> >
> >
> > For those who didn't follow my provious post, the issue is about
> > IDE-support plugins that require a previously-built project to setup
> the dev
> > environment. When the source code is broken, you have to fix it under
> VI /
> > notepad.
> >
> > I experimented Kenney
> Westerhof<http://jira.codehaus.org/secure/ViewProfile.jspa?name=kenneyw>
> idea, as exposed in MECLIPSE-37 :
> >
> > - I created a ConfigureMojo interface with single method
> > configureProject()
> > - I updated AbsractMojo to do nothing on this method
> > - I enhanced JavaMojoDescriptorExrtaction to support a new @configure
> > phase=""
> >
> > that was the simple part ;-)
> >
> > I now need to update maven core to support a "configure" lifecycle
> > execution mode, so that the eclipse plugin can trigger a forked
> lifecycle in
> > sort of "dry run" mode. In this mode, the lifecycle should not fail
> when
> > resolving dependencies, or maybe not honnor
> @requiresDependecyResolution at
> > all. Existing Mojos will not be affected, and updated ones will
> declare
> > generated folders or any other setting usefull at configuration-time.
> >
> > What is the good place to add such a "configure" (dry-run) support ?
> >
> > It would require to enlarge the (allready long)
> > DefaultLifecycleExecutor.forkProjectLifecycle method for the " if (
> > mojoDescriptor.getConfigurePhase() != null)" case.
> >
> > It would also require to bypass the DefaultPluginManager.executeMojo
> "if (
> > mojoDescriptor.isDependencyResolutionRequired )"
> >
> > Maybe the simplier would be to cerate a DryRunLifecycleExecutor and
> > DryRunPluginManager ?
> >
> > Any suggestion is welcome...
> >
> > Nico.
> >
> >
> >
> >
> > 2007/12/14, nicolas de loof < [EMAIL PROTECTED]>:
> > >
> > > Hello,
> > >
> > > some MECLIPSE issues are related to the phase executed by the
> eclipse
> > > plugin to collect generated-* folders.
> > >
> > > Here is a simple example of the side-effect of this strategy
> > >
> > > pom.xml
> > > |_ ear project
> > >  |_ jar project
> > > |_ war project
> > >
> > > Lets supose the jar project is broken and can't compile.
> > >
> > > Checking the project from svn and running mvn eclipse:eclipse fails,
> as
> > > the maven-ear-plugin has @RequireDependencyResolustion(test) (is
> this really
> > > required ?) on GenerateApplicationXMLMojo
> > >
> > > mvn install also fails as the jar plugin is broken
> > >
> > > There is NO way to configure eclipse and fix the project !
> > >
> > > My first idea is to find some hook in the ArtifactResolver (or
> other) to
> > > register the multiproject modules as "fake" artifacts, so that
> dependency
> > > resolution doesn't fail. I looked at DefaultArtifactResolver ... but
> is far
> > > too complex for me and can't find where the Artifact objects are
> created,
> > > and how the associated File object could be hacked
> > >
> > > A cleaner fix would be to have an early phase for generate-* Mojos
> to
> > > register generated folders... but hits requires changes on most
> plugins -
> > > maybe could be planned for maven 2.1 ?
> > >
> > > Any suggestion ?
> > >
> > > Nico.
> > >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to