Aha thank you, I think that could be the problem!
Currently in resolveProjectDependencies I add to the
'requirements' set, adding in the dynamic dependencies. The
dependencies are ones which the _javascript_-maven-plugin (the Maven
plugin, not the Eclipse one) dynamically adds to the Maven project
- this works fine from the command line but m2e doesn't see these
dynamically added dependencies.
So that the moment, I instantiate an instance of our Maven
extension, read the dependencies from it (to avoid having to
duplicate the dependency configuration), and then add them to the
'requirements' set. I think if I add them to the facade instead,
they may be retained. It should be pretty easy to try, we will
post back and let you know how it goes.
Thanks again,
Ben.
On 20/12/2011 9:34 AM, Igor Fedorenko wrote:
Let
me rephrase my question.
What code requires those dependencies?
How does that code access those dependencies?
And what triggers execution of that code?
IMavenProjectFacade provides both persistent cache of frequently
used
MavenProject attributes, including project dependencies. It also
provides a mechanism to lazy load and cache in-memory MavenProject
instance. This is the interface you want to use from your code.
--
Regards,
Igor
On 11-12-19 5:25 PM, Ben Jones wrote:
Thanks for the response Igor.
The dynamically added dependencies aren't retained when the
workspace
restarts - these are dependencies which we add in
programatically from
resolveProjectDependencies().
Regards,
Ben.
On 19/12/2011 10:51 PM, Igor Fedorenko wrote:
Why do you need to read MavenProject
instance of workspace restart? It
is very expensive from performance point of view, especially
for large
workspaces, and m2e tries pretty hard to delay reading
MavenProject
instances on startup. Resources folders and Maven dependencies
classpath
container are expected to survive workspace restart.
--
Regards,
Igor
On 11-12-15 12:45 AM, Ben Jones wrote:
Hi,
I've been working with Christopher on the
_javascript_-maven-tools project
and have implemented the first version of our m2e plugin
which provides
IDE support for our _javascript_-maven-plugin [1], following
on from the
direction Igor gave Chris in their recent discussion.
I've got most things working now using the lifecycleMappings
and
lifecycleMappingsMetadataSource extension points; we get the
dynamically
configured dependencies resolved via m2e and we get
dynamically
configured resource folders visible in Eclipse as source
folders.
There is one major issue remaining and I'm hoping
someone may be
able to point us in the right direction - when you start the
IDE with an
open maven project which uses the _javascript_-maven-plugin
extension,
neither the ILifecycleMapping.configure() method or the
AbstractMavenDependencyResolver.resolveProjectDependencies()
method are
called, so none of our custom project configuration happens.
The
workaround is to manually right-click on the project and
select "Maven
> Update Project Configuration".
I note that when if the project is closed when you
start the IDE,
when you open the project these methods are called and
configuration
occurs as expected. But I'm not sure of the right place to
allow us to
run our plugin code when the editor is started with an open
project.
You can see the project source online here [2] if that
helps (and
the main class is here [3]).
Any pointers as to the right way to do this would be
appreciated.
Thanks,
Ben Jones.
[1]
http://mojo.codehaus.org/_javascript_-maven-tools/_javascript_-maven-plugin/index.html
[2]
https://fisheye.codehaus.org/browse/mojo/trunk/mojo/_javascript_-maven-tools/_javascript_-ide-helpers/_javascript_-maven-plugin-m2e/
[3]
https://fisheye.codehaus.org/browse/mojo/trunk/mojo/_javascript_-maven-tools/_javascript_-ide-helpers/_javascript_-maven-plugin-m2e/src/org/codehaus/mojo/_javascript_/m2e/_javascript_MavenToolsLifecycleMapping.java?r=15572
_______________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-dev
_______________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-dev
_______________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-dev
_______________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-dev
|