You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Milos Kleint <mk...@gmail.com> on 2005/11/03 14:19:48 UTC

maven-embedder comments

Hello,

after playng with the embedder for some time, I have a few comments
regarding integration with IDEs.

1. I'm using the embedder to load the project definition. I didn't manage to
setup the embedder to be completely offline and not to check remote
repositories at all.
That can results in serious performance hits when the dependencies and
everyting is not resolved locally. Since my netbeans IDE projects
representation is based purely on maven data, I need to load fast, possibly
not precisely correct and completely resolved data but fast. Opening plexus
for example means opening 30+ projects (when one opens all the subprojects
of the root parent pom.) It takes forever on a machine that didn't have the
plexus sources prebuilt and everything resolved and cached locally.

2. when the data loads I need to be able to figure that something is not
really correct with the setup. Example:
To display dependencies of the project, I use the
MavenProject.getCompile/Text/RuntimeArtifacts
methods. I visually indicate which dependencies are direct and which are
transitive. Fine. For plexus projects that I never built before, the metods
didn't return anything. (I was off the net, in a train at that time) That
way it pretended that there are no dependencies. I would like to have a
visual indication in the UI somehow that the dependency is not found and
that completion/compilation will not work and let use resolve these.. Will
looking at getDependencies() list and comparing it to the artifacts help me
here?

3. Error messaging. I have no idea how to handle that. Any hints? Currently
it prints out some stuff to console. In the ideal case I would like to get
the info in a format where I would be able to react to certain error
conditions in the UI. For that matter I need to identify the problem
precisely. Parsing the output is no good. (how do I redirect it elsewhere at
least?

4. What are the memory requirements of embedder? I seems to me to be an
overkill to start up a new instance of embedder for each project opened in
the IDE. Can I get in trouble if I use single instance of embedder for
loading of all projects and then have separate embedder instances for
executing maven builds? Do I need to synchronize access to the singleton
embedder instance?

5. plugin information is currently not implemented. any schedule? any hints
how to implement it?

6. based on dependency artifact of the current project I would like to
lookup the sources and javadocs in local repository. If not there, then on
user request download it from the remote repositories.

Thanks

Milos Kleint