[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Helios Features Mirror

Since there was no satisfying solution, I've just released code to the mirroring app that will perform the same resolution than the one performed at install time. This will be available in the next I build (Tuesday morning)
This can be enabled by setting resolve="true" (see example below).
Only one platform filter can be supported at a time (or none).


<project name="Helios Mirror" default="mirror" basedir=".">
<target name="mirror">
<p2.mirror source="http://download.eclipse.org/releases/helios/" destination="${basedir}" verbose="true">
<iu id="org.eclipse.equinox.sdk.feature.group" version="3.6.0.v20100601-7H7R-7v8rtGVR34XkO3kfH3DUO07" />
<slicingOptions resolve="true" platformFilter="win32,win32,x86"/>
</p2.mirror>
</target>
</project>


On 2011-04-08, at 5:53 PM, David Erickson wrote:

Hi all-
I am trying to make the smallest mirror size as possible of two
features from Helios.  I am using the following ant-task:

<project name="Helios Mirror" default="mirror" basedir=".">
 <target name="mirror">
   <p2.mirror source="http://download.eclipse.org/releases/helios/"
destination="${basedir}" verbose="true">
      <iu id="org.eclipse.equinox.sdk.feature.group"
version="3.6.0.v20100601-7H7R-7v8rtGVR34XkO3kfH3DUO07" />
      <iu id="org.eclipse.pde.junit.runtime.standalone.feature.group"
version="1.0.0.v20100610" />
      <slicingOptions followStrict="true" includeOptional="false"
includeNonGreedy="false"/>
   </p2.mirror>
 </target>
</project>

and the following target file:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.6"?>

<target name="Main Target">
<locations>
<location path="${resource_loc:/Libraries}" type="Profile"/>
<location includeAllPlatforms="false" includeMode="planner"
type="InstallableUnit">
<unit id="org.eclipse.equinox.sdk.feature.group"
version="3.6.0.v20100601-7H7R-7v8rtGVR34XkO3kfH3DUO07"/>
<unit id="org.eclipse.pde.junit.runtime.standalone.feature.group"
version="1.0.0.v20100610"/>
<repository location="file:/path/to/libs_helios/"/>
</location>
</locations>
</target>

The result is a nice small sized mirror at ~31MB, however when I load
the target in Eclipse that points to this folder and the two specified
features I get resolution errors on needed packages that don't have an
explicit version requirement listed, many of which are in javax.*. (To
make this even more bizarre I've actually had it resolve happily once
or twice then on all followups it fails to resolve).

Now I can solve the resolution problem by changing followStrict to
false, however then I end up with a mirror folder that is ~90MB,
containing many duplicates of the same bundles but with separate
versions, ie the folder has 3 commons logging bundles, 3 JFace
libraries at 1MB a piece, 3 org.eclipse.ui.ide bundles, etc etc.

How can I bridge the gap here by getting just the features I need
using the requested versions and the small mirror size, but also have
all the bundles I need so I don't get resolution errors?

Thanks!
David
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev