Wow! That looks useful. But how do you get the names of the IUs you must put in IUsToInstall?
On Wed, Dec 9, 2009 at 8:31 PM, Nick Boldt <nickbo...@gmail.com> wrote: > If you list the IUsToInstall separated by "+" instead of "," they're all > installed in a single step. > > Requires Eclipse 3.5+ as the base, though, not 3.4. > > Example from a recent build: > > [exec] [p2.dir] Command-line arguments: -application > org.eclipse.equinox.p2.director -consoleLog -flavor tooling -roaming > -profile SDKProfile -installIU org.eclipse.sdk.feature.group -installIU > org.eclipse.sdk.ide -installIU org.eclipse.core.net -installIU > org.eclipse.equinox.common -installIU org.eclipse.core.runtime -installIU > org.eclipse.debug.core -installIU org.eclipse.rcp.feature.group -installIU > org.eclipse.jst.server.generic.core -installIU > org.eclipse.wst.ws_core.feature.feature.group -installIU > org.eclipse.wst.web_ui.feature.feature.group -installIU > org.eclipse.wst.ws_wsdl15.feature.feature.group -installIU > org.eclipse.wst.xml_ui.feature.feature.group -installIU > org.eclipse.wst.common_ui.feature.feature.group -installIU > org.eclipse.wst.common_core.feature.feature.group -installIU > org.eclipse.xsd.feature.group -installIU org.eclipse.gef.feature.group > -installIU org.eclipse.gmf.runtime.diagram.ui -installIU > org.eclipse.emf.compare.match -installIU org.eclipse.emf.compare.diff > -installIU org.eclipse.emf.compare.ui -installIU org.mozilla.xpcom > -installIU org.jboss.tools.vpe.resref -installIU org.jboss.tools.jst.web.ui > -installIU org.jboss.ide.eclipse.as.core -installIU > org.jboss.ide.eclipse.archives.webtools -installIU > org.jboss.tools.jmx.feature.feature.group -destination > /home/hudson/hudson_workspace/workspace/jbosstools-cbi-bpel/build/N-SNAPSHOT/testing/target/eclipse > -bundlepool > /home/hudson/hudson_workspace/workspace/jbosstools-cbi-bpel/build/N-SNAPSHOT/testing/target/eclipse > -metadataRepository > file:/home/hudson/hudson_workspace/workspace/jbosstools-cbi-bpel/build/N-SNAPSHOT/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile, > http://download.jboss.org/jbosstools/updates/nightly/trunk/,http://download.eclipse.org/releases/galileo/,http://download.jboss.org/jbosstools/updates/nightly/trunk/,http://download.eclipse.org/releases/galileo/, > -artifactRepository > file:/home/hudson/hudson_workspace/workspace/jbosstools-cbi-bpel/build/N-SNAPSHOT/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile, > http://download.jboss.org/jbosstools/updates/nightly/trunk/,http://download.eclipse.org/releases/galileo/,http://download.jboss.org/jbosstools/updates/nightly/trunk/,http://download.eclipse.org/releases/galileo/, > -profileProperties org.eclipse.update.install.features=true -os linux -ws > gtk -arch x86 > > As run from this releng project [1]: > > [1]https://anonsvn.jboss.org/repos/jbosstools/trunk/bpel/releng/ > > Which simply says: > > repositoryURLs=\ > http://download.jboss.org/jbosstools/updates/nightly/trunk/,\ > http://download.eclipse.org/releases/galileo/ > > IUsToInstall=org.eclipse.sdk.feature.group+org.eclipse.sdk.ide+ > org.eclipse.core.net > +org.eclipse.equinox.common+org.eclipse.core.runtime+org.eclipse.debug.core+org.eclipse.rcp.feature.group+\ > org.eclipse.jst.server.generic.core+\ > > org.eclipse.wst.ws_core.feature.feature.group+org.eclipse.wst.web_ui.feature.feature.group+org.eclipse.wst.ws_wsdl15.feature.feature.group+\ > > org.eclipse.wst.xml_ui.feature.feature.group+org.eclipse.wst.common_ui.feature.feature.group+org.eclipse.wst.common_core.feature.feature.group+\ > org.eclipse.xsd.feature.group+org.eclipse.gef.feature.group+\ > org.eclipse.gmf.runtime.diagram.ui+\ > > org.eclipse.emf.compare.match+org.eclipse.emf.compare.diff+org.eclipse.emf.compare.ui+\ > > org.mozilla.xpcom+org.jboss.tools.vpe.resref+org.jboss.tools.jst.web.ui+org.jboss.ide.eclipse.as.core+org.jboss.ide.eclipse.archives.webtools+org.jboss.tools.jmx.feature.feature.group > > In this case, even pulling from the Galileo and JBT nightly update sites, > the provisioning step only took 4 minutes (248411 ms). > > If you source from locally cached p2 repo zips such as these [2], it's even > faster. > > [2]http://download.eclipse.org/athena/repos/ > > Nick > > > David Carver wrote: > >> There are ways to do this. And you might be able to do it in your own >> customTargets.xml file. Basically you would do a two stage build, either >> all in one Job or in two separate jobs. The first one would be to build and >> create the target platform and provision it. The second would be to create >> the necessary tests, and run them based on the input from the first >> provisioning. >> >> I've done this in the past by using a combination of the ZIP files, >> combining them into a working target platform, and then deploying the tests >> and running them. I do agree that the P2 provisioning process seems to >> take way longer to get setup than just a straight ZIP provisioning. >> >> The main issue I see right now is that with the P2 director steps, it is >> done in a loop, instead of being able to provide a list of all the items to >> be provisioned in one provisioning step. Each plugin or feature is >> provisioned separately. If we could find a way to provide a list of items >> to be provisioned and have it done in one provisioning step (i.e. not >> executing P2 director multiple times), I think that alone would go a long >> way to speeding up the build. >> >> Also, you may want to look at an alternative cleanUp step if you have a >> large directory that is created during the build with many sub directories. >> I've found that trying to avoid wildcard searches and deletions with >> FileSets greatly speeds up the deletion and cleanup process. >> >> Nicolas Bros wrote: >> >>> In fact, I was not only thinking of re-using the build target platform >>> for testing, but also re-using a previously snapshotted build target >>> platform instead of provisioning a new one for each build. My idea was to be >>> able to skip all the work done in the "postSetup" target in >>> customTargets.xml, if nothing changed in the build configuration since the >>> last build. Would that be doable ? >>> >>> On Wed, Dec 9, 2009 at 3:24 AM, Nick Boldt <nickbo...@gmail.com <mailto: >>> nickbo...@gmail.com>> wrote: >>> >>> The previously provisioned target used to build is reused when >>> creating the test target - it's added to the list of repos from >>> which IUs are installed. >>> >>> This means (in theory) that instead of refetching from Galileo, >>> IUs will simply be copied from the local disk. So the only thing >>> that slows the process down is file i/o. >>> >>> Yes, we could even go a step further to use the existing eclipse >>> instead of creating a fresh, clean one, but that means a "dirty" >>> test, and I don't like that approach. Having this behaviour be >>> optional is certainly doable, but I'm sure people like Dave C will >>> object violently to the idea of setting up tests w/ chunks of >>> leftover compilation artifacts in them, instead of a clean >>> "provision the target, install the built runtime, install the >>> tests, and run them" process. >>> >>> It may be slower, but it's a more valid test IMO. >>> >>> If you want an optional override to reuse the build environment >>> instead of creating a new one, please open a bug and propose the >>> override property name, eg., "useDirtyBuildEnvironmentForTesting" :) >>> >>> Nicolas Bros wrote: >>> >>> Hi, >>> >>> I'd like my build to be faster. I have noticed that Athena >>> installs a whole new Eclipse with all the dependencies >>> specified in the build.properties twice for each build (once >>> for the build and a second time for tests). That obviously >>> takes quite some time. >>> Would it be possible to save the Eclipse install once the >>> dependencies are deemed stable, and re-use it for future >>> builds? There could be a property in the build.properties file >>> that indicates the path of an existing Eclipse install to use >>> for the build for example. >>> If not, what would prevent this? >>> -- Nicolas Bros >>> R&D >>> tel: 06 75 09 19 88 >>> nb...@mia-software.com <mailto:nb...@mia-software.com> >>> <mailto:nb...@mia-software.com <mailto:nb...@mia-software.com>> >>> nbros....@gmail.com <mailto:nbros....@gmail.com> >>> <mailto:nbros....@gmail.com <mailto:nbros....@gmail.com>> >>> >>> Mia-Software, 410 clos de la Courtine >>> 93160 Noisy-le-Grand >>> http://www.mia-software.com >>> .: model driven agility :. >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> dash-dev mailing list >>> dash-dev@eclipse.org <mailto:dash-dev@eclipse.org> >>> https://dev.eclipse.org/mailman/listinfo/dash-dev >>> >>> >>> -- Nick Boldt :: http://nick.divbyzero.com >>> Release Engineer :: Eclipse Modeling & Dash Athena >>> _______________________________________________ >>> dash-dev mailing list >>> dash-dev@eclipse.org <mailto:dash-dev@eclipse.org> >>> https://dev.eclipse.org/mailman/listinfo/dash-dev >>> >>> >>> >>> >>> -- >>> Nicolas Bros >>> R&D >>> tel: 06 75 09 19 88 >>> nb...@mia-software.com <mailto:nb...@mia-software.com> >>> nbros....@gmail.com <mailto:nbros....@gmail.com> >>> Mia-Software, 410 clos de la Courtine >>> 93160 Noisy-le-Grand >>> http://www.mia-software.com >>> .: model driven agility :. >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> dash-dev mailing list >>> dash-dev@eclipse.org >>> https://dev.eclipse.org/mailman/listinfo/dash-dev >>> >>> >> >> _______________________________________________ >> dash-dev mailing list >> dash-dev@eclipse.org >> https://dev.eclipse.org/mailman/listinfo/dash-dev >> > > -- > Nick Boldt :: http://nick.divbyzero.com > Release Engineer :: Eclipse Modeling & Dash Athena > _______________________________________________ > dash-dev mailing list > dash-dev@eclipse.org > https://dev.eclipse.org/mailman/listinfo/dash-dev > -- Nicolas Bros R&D tel: 06 75 09 19 88 nb...@mia-software.com nbros....@gmail.com Mia-Software, 410 clos de la Courtine 93160 Noisy-le-Grand http://www.mia-software.com .: model driven agility :.
_______________________________________________ dash-dev mailing list dash-dev@eclipse.org https://dev.eclipse.org/mailman/listinfo/dash-dev