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
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev

Reply via email to