Thanks gentlemen, sorry for the delayed reply these look like great options.
Pascal: -Where can I grab your released build supporting the new code? -Is it possible to run your solution to create a repository for each platform, then aggregate them into one repository? Thomas: -Is it possible to use the aggregator to slice out just one feature and all transitively required bundles? Thanks! David On Mon, Apr 11, 2011 at 3:59 AM, Thomas Hallgren <[email protected]> wrote: > Hi David, > > An alternative for you might be to use the b3 aggregator [1]. That is the > tool that was used when creating the Helios and Indigo aggregations and it > can be used for this type of use-case as well. It can be downloaded from our > update site [2] and executed either as a freestanding headless product, or > within your IDE complete with graphical editor. > > Since the aggregator performs a validation prior to mirroring there are two > "flaws" in Helios that must be catered for. One is explained here: > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=342350 > > and the other is that the feature org.eclipse.jwt.feature was renamed to > org.eclipse.jwt.feature in a service pack release which in turn leads to > conflicts since both are included when trying to resolve a "canonical" > repository. > > This b3.aggr file will successfully create a validated, "as small as > possible" mirror of Helios for three common environments (win32.win32.x86, > linux.gtk.x86, linux.gtk.x86_64). You can add other environments using the > editor. > > <?xml version="1.0" encoding="ASCII"?> > <aggregator:Aggregator xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" > description="Used to test stuff that causes errors when added to the main > repo model." label="Test Repo" buildRoot="build-test" > packedStrategy="VERIFY"> > <configurations/> > <configurations operatingSystem="linux" windowSystem="gtk"/> > <configurations operatingSystem="linux" windowSystem="gtk" > architecture="x86_64"/> > <contributions label="Platform Repo"> > <repositories location="http://download.eclipse.org/releases/helios/"> > <mapRules xsi:type="aggregator:ValidConfigurationsRule" > description="Cater for bad filtering in the epp.package.linuxtools > requirement for org.eclipse.epp.package.linuxtools.feature.feature.group" > name="epp.package.linuxtools" validConfigurations="//@configurations.1 > //@configurations.2"/> > <mapRules xsi:type="aggregator:ExclusionRule" description="Exclude > feature that has been renamed and hence causes conflicts." > name="org.eclipse.jwt.feature.group" versionRange="[0.7.0,0.8.0)"/> > </repositories> > </contributions> > </aggregator:Aggregator> > > [1] http://wiki.eclipse.org/Eclipse_b3/aggregator/manual > [2] > https://hudson.eclipse.org/hudson/job/emft-b3-build/lastSuccessfulBuild/artifact/b3.p2.repository/ > > Regards, > Thomas Hallgren > > > On 2011-04-11 06:10, Pascal Rapicault wrote: > > 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 > > > _______________________________________________ > 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
