Ok, this helps. It is indeed maven-pax-plugin that is the cause (indirectly) of my performance problems.
If I do not include that plugin, my build time is 4:43. When I include it, however, it slows to 27:07. Hmmmm.... The problem is that if I don't include it, almost nothing will compile in Eclipse. I do need to compile against bundles with embedded jars, but not all my projects need this. I guess I'll need to break things down on a project-by-project basis. Tell me again how this works in IDEA? You guys don't have these problems, right? Cheers, =David On Fri, 2009-01-16 at 18:01 +0800, Stuart McCulloch wrote: > 2009/1/16 David Leangen <op...@leangen.net> > > Thanks, Stuart, > > Just to clarify a few points of confusion on my part... > > Is it not sufficient to just use maven-bundle-plugin? Other > than > generating my Eclipse files, is there any purpose for using > maven-pax-plugin? > > maven-pax-plugin provides the following enhanced (inherited) mojos: > > 1) enhanced Eclipse mojo (better .project / .classpath for OSGi > projects) > > 2) enhanced compile mojo (can compile against bundles with embedded > jars) > > the other mojos are related to project management and provisioning: > > > http://www.ops4j.org/projects/pax/construct/maven-pax-plugin/index.html > > if you don't need 2) then there's no reason to enable the <extensions> > for the pax-plugin... however, you should still keep the plugin > definition > in your pom.xml because it means you can use the short form: > > mvn pax:provision > > if you don't have the plugin in your pom Maven requires the long form: > > mvn org.ops4j:maven-pax-plugin:provision > > HTH > > > Thanks! > =David > > On Thu, 2009-01-15 at 22:49 +0800, Stuart McCulloch wrote: > > > > 2009/1/15 David Leangen <op...@leangen.net> > > > > "Yo" to all, > > > > Question regarding maven build and OSGi stuff. > > > > I am now using maven-bundle-plugin along with > maven-pax-plugin > > for > > almost all my projects. It works great! > > > > My only complaint is that the build is soooooooooo > sloooooow. > > The > > culprit is mostly the generation of the manifests > and the > > Eclipse stuff. > > > > Any ideas how I could speed things up? > > > > What do peeps here usually do? > > > > (And no Eclipse wisecracks this time, please, I KNOW > many of > > you think I > > should switch to IDEA. ;-) > > > > get a faster computer / more memory? > > > > [ seriously, this is sometimes the answer and can be cheaper > in the > > long run ] > > > > anyway, here are a few other options: > > > > 1) Maven pauses when it first loads the maven-pax-plugin > lifecycle, > > possibly > > because there are several goals with quite a few > parameters - > > but as the > > delay happens in Maven internals when parsing the > plugin XML > > there isn't > > much we can do - none of our code is involved in this > delay > > > > but you could try moving the <extensions> tag down > from the > > pax-plugin > > to the bundleplugin section, this would disable > certain pax > > features (like > > support for compiling against embedded jars) and may > well > > reduce the > > initial delay as Maven then wouldn't load the > pax-plugin > > lifecycle > > > > [ you definitely don't need > <extensions>true</extensions> on > > *both* of the > > plugin definitions like you have below, try with it > just on > > the bundleplugin > > section and if that doesn't work move it back to > the > > pax-plugin section ] > > > > 2) upgrade to 1.4.3 of the maven-bundle-plugin, this > version plugs > > a few > > leaks wrt. zip resources - your builds will use less > memory & > > less GC > > > > 3) add a profile to generate the files that you're > finding slow > > (Eclipse, etc.) > > and move the relevant plugin executions into that > profile - you > > probably > > don't need to keep regenerating these files all the > time, just > > once in a > > while after some major coding - some people generate > the > > manifest > > separately, save it, and then use it with the normal > > maven-jar-plugin > > > > 4) as Toni suggested, check your repository settings - > make sure > > it's > > not repeatedly trying to download some missing piece > of > > metadata > > > > if all else fails I'm afraid you would probably have to > resort to > > profiling the build > > (the source is available online for anyone to use) - > personally I > > don't have any > > spare time to spend on this :( > > > > another option is to look at the recent Tycho work as an > alternative > > solution: > > > > > > > > http://blogs.sonatype.com/people/2008/11/building-eclipse-plugins-with-maven-tycho/ > > http://docs.codehaus.org/display/M2ECLIPSE/Tycho+project > +overview > > > > HTH > > > > > > Below are my plugin and pluginManagement sections of > my master > > pom. > > > > Thanks! > > =David > > > > <plugin> > > <groupId>org.ops4j</groupId> > > <artifactId>maven-pax-plugin</artifactId> > > <executions> > > <execution> > > <id>ide-support</id> > > <goals> > > <goal>eclipse</goal> > > </goals> > > </execution> > > </executions> > > </plugin> > > > > > > <pluginManagement> > > <plugins> > > <plugin> > > <groupId>org.apache.felix</groupId> > > > <artifactId>maven-bundle-plugin</artifactId> > > <version>1.4.1</version> > > <extensions>true</extensions> > > <configuration> > > <instructions> > > > <Bundle-DocURL>${pom.url}</Bundle-DocURL> > > <_include>osgi.bundle</_include> > > <Embed-Dependency>*;scope=compile| > > runtime</Embed-Dependency> > > </instructions> > > </configuration> > > </plugin> > > <plugin> > > <groupId>org.ops4j</groupId> > > <artifactId>maven-pax-plugin</artifactId> > > <extensions>true</extensions> > > <version>1.3</version> > > <configuration> > > <classpathContainers> > > > > > > <classpathContainer>org.eclipse.pde.core.requiredPlugins</classpathContainer> > > <classpathContainer> > > > > > > org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1 > > .5 > > </classpathContainer> > > </classpathContainers> > > </configuration> > > </plugin> > > <plugin> > > <groupId>org.apache.felix</groupId> > > <artifactId>maven-obr-plugin</artifactId> > > </plugin> > > </plugins> > > </pluginManagement> > > _______________________________________________ > > general mailing list > > general@lists.ops4j.org > > http://lists.ops4j.org/mailman/listinfo/general > > > > -- > > Cheers, Stuart > > _______________________________________________ > > general mailing list > > general@lists.ops4j.org > > http://lists.ops4j.org/mailman/listinfo/general > > > _______________________________________________ > general mailing list > general@lists.ops4j.org > http://lists.ops4j.org/mailman/listinfo/general > > > > > -- > Cheers, Stuart > _______________________________________________ > general mailing list > general@lists.ops4j.org > http://lists.ops4j.org/mailman/listinfo/general _______________________________________________ general mailing list general@lists.ops4j.org http://lists.ops4j.org/mailman/listinfo/general