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

Background:

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).

Changes:

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}"		/>

Thanks
Barrie