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