[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [pde-build-dev] The difference between "assemble" and "package"

Essentially, the assemble is collecting the pieces that were built and package is collecting the binary pieces.  The specific reasons for this are likely lost in antiquity :)
However, note that the package only runs if the property runPackager is set, so it is possible to only collect the built pieces.
As well, the package is used by the packager.xml script to repackage previously built zips.

I can't remember if there are any issues with only doing the zip on the package.  Take a look at the generateTarGZTasks and generateGZipTarget..  Notice that the GZip target when assembling only runs if the runPackager property is not set.
You could make the zipping during assemble conditional on the packager not running.  The only issue would be having the assemble fileset available when we are generating for package.


"Barrie Treloar" <baerrach@xxxxxxxxx>
Sent by: pde-build-dev-bounces@xxxxxxxxxxx

02/26/2007 07:12 PM

Please respond to
"Eclipse PDE Build developers list." <pde-build-dev@xxxxxxxxxxx>

[pde-build-dev] The difference between "assemble" and "package"


I have 400 Mb of Geospatial data that is being included in my Eclipse
RCP application.
The Ant PDE build files are inefficiently calling Zip with update="true".
This means that any stage of the process that touches the final build
zip file is copying the entire final build zip file each time
(including the 400Mb of GIS data).


What I have done so far is to modify
AssembleConfigScriptGenerator.generateAntZipTarget() so that there is
one Zip task and it includes all the filesets used in that method.

But I noticed that the production of the final build zip file seems to
be split across assemble and package.

The assemble.org.eclipse.pde.build.container.feature.win32.win32.x86.xml
will zip up all plugins and features defines in the project structure
(ROOT/plugins/* and ROOT/features/*)

The package.org.eclipse.pde.build.container.feature.win32.win32.x86.xml
will zip up all the plugins as defined in *.product that are
dependencies and take these from the Eclipse Target Platform. (I'm
still building via plugins instead of features so far, that is the
next thing to tackle)

Is there are reason for this split?

I think it would make more sense to have the zip task used in the
assemble build file moved into the package build file.

This would mean I can set Zip to have update="false" and create the file once.

Can anyone comment on this please?

As an aside, I noticed that both assemble and package are calling:
<eclipse.brand root="${eclipse.base}/win32.win32.x86/${collectingFolder}"
icons="${launcherIcons}" name="${launcherName}" os="${os}"                                  />

pde-build-dev mailing list