Community
Participate
Working Groups
In Bug 281409 we created zips for the Platform repositories. But the current platform repo zips don't contain the IUs for the platform IDE, so people can't use them to update their platform install. How are the repo zips constructed? The org.eclipse.platform.ide IUs should be included.
As a workaround...if someone can describe the missing p2 metadata (or point me to where I can find it), I could add it to the p2 zip on the fly as part of my update/installation process.
If you unzip your platform repo, you can mirror the org.eclipse.platform.ide IU into it from the matching Eclipse SDK repository (like http://download.eclipse.org/eclipse/updates/3.8-I-builds ) or the repo on the build page. There are the artifact and metadata mirror apps, as well as simply writing an ant script with a p2.mirror task. PW
(In reply to comment #2) > If you unzip your platform repo, you can mirror the org.eclipse.platform.ide IU > into it from the matching Eclipse SDK repository (like > http://download.eclipse.org/eclipse/updates/3.8-I-builds ) or the repo on the > build page. > > There are the artifact and metadata mirror apps, as well as simply writing an > ant script with a p2.mirror task. Sorry. I can't fine a p2 repo zip for the 3.7.1 Eclipse *SDK*. Can you point me in the right direction?
(In reply to comment #3) > > Sorry. I can't fine a p2 repo zip for the 3.7.1 Eclipse *SDK*. Can you point me > in the right direction? There isn't a zip, but the repo is available: http://download.eclipse.org/eclipse/updates/3.7 is the main repo, and the specific child repo for 3.7.1 is http://download.eclipse.org/eclipse/updates/3.7/R-3.7.1-201109091335 You can use that repo to add the IU you want to your platform and just re-zip it. PW
Here's an example to mirror to a local repo: <target name="mirrorJFace" > <echo message="Mirror from ${eclipseRepoLocation} to ${localRepoLocation}" /> <p2.mirror destination="file:${localRepoLocation}" ignoreerrors="true"> <source location="${eclipseRepoLocation}" /> <slicingOptions includeOptional="false" includeNonGreedy="false" latestVersionOnly="true"/> <iu id="org.eclipse.jface" /> <iu id="org.eclipse.swt.gtk.linux.x86_64" /> <iu id="org.eclipse.swt.gtk.linux.x86" /> <iu id="org.eclipse.swt.win32.win32.x86_64" /> <iu id="org.eclipse.swt.win32.win32.x86" /> </p2.mirror> </target> And run it with eclipse -noSplash -application org.eclipse.ant.core.antRunner -buildfile mirror-file.xml PW
(In reply to comment #5) Thanks, Paul. I'll give this a try tomorrow and let you know how it goes.
(In reply to comment #5) Worked like a charm. Updated the repo p2 via the ant task then used the result to update the platform in my target installation. Thanks!
One more question to help me solve the overall issue (I'm ultimately working with Freescale builds of the platform). In which p2 zip produced by the platform/SDK build can I find the org.eclipse.platform.ide IU? There's a large (260MB) p2 "master" zip produced by the build and I expected to find the IU there, but no luck.
It is available in the Platform Runtime Binary zip as it is the root of the install, but I don't think it is currently available in a repository in zip format. That's what this bug is meant to address.
(In reply to comment #9) > It is available in the Platform Runtime Binary zip as it is the root of the > install, but I don't think it is currently available in a repository in zip > format. That's what this bug is meant to address. Sorry. I'm probably getting concepts and terms mixed up here. Can you elaborate on what exactly the "Platform Runtime Binary zip" is? What's its name, e.g. That might lead me to what I'm after.
If you go here: http://download.eclipse.org/eclipse/downloads/drops/R-3.7.1-201109091335/index.php And scroll down you will see a Platform Runtime Binary section. These are zips which contain an executable that you can run and it contains the Platform. (no PDE or JDT). Sorry, I had assumed this was where you got your platform.zip repository from.
(In reply to comment #11) > If you go here: > > http://download.eclipse.org/eclipse/downloads/drops/R-3.7.1-201109091335/index.php > And scroll down you will see a Platform Runtime Binary section. > > These are zips which contain an executable that you can run and it contains the > Platform. (no PDE or JDT). Sorry, I had assumed this was where you got your > platform.zip repository from. So indeed this is where I've been getting the repo zips. The Platform Runtime Repo that's on that site (org.eclipse.platform-3.7.1.zip) is a p2 repo zip, right? That doesn't contain the org.eclipse.platform.ide IU. That's what this bug is about. What I'm asking for now is where is that IU in the output of a platform build? The build produces a ton of zips, jars, etc, not all of which ends up on the downloads webpage. That IU has to exist in some format in one of those build artifacts, no? I can ask the question another way. I was able to successfully mirror in the platform.ide IU from the update site. What's physically providing the IU in that situation? Where am I mirroring from (what's behind the Oz curtain)? To let you know why I'm asking all this...it's great that I can mirror in the "missing" IU from the update site in the case of stock eclipse. But I'm actually dealing with a Freescale build of the platform. We don't have an update site. All I have to work with are the artifacts from a build.
Some further insight... Looking at the Ant script that produces the Platform Runtime Repo... eclipse/buildConfigs/repos/platformrepo.xml we can see that it's mirroring a number of IUs from some file <p2.mirror source="file://${buildRepo}"> <destination kind="metadata" location="file://${featureTemp}" name="Platform Repo" format="file://${buildRepo}" /> ... (list of IUs) </p2.mirror> This leads me to believe there's some "master" zip file, file://${buildRepo}, that has all the IUs that go into the platform repo zip (including platform.ide in the future), and I assume this master file is produced by the build.
(In reply to comment #13) > This leads me to believe there's some "master" zip file, file://${buildRepo}, > that has all the IUs that go into the platform repo zip (including platform.ide > in the future), and I assume this master file is produced by the build. The output of the build is a large p2 repository expanded as a set of directories. That's what is copied to http://download.eclipse.org/eclipse/updates/3.7/R-3.7.1-201109091335, and this format can be used by Help>Install New Software to install extra features from (just jars and indices served up by a web server). The Platform Runtime p2 repository has the same structure, but it has been zipped up for your convenience (and now needs a fix). PW
(In reply to comment #14) > (In reply to comment #13) > > This leads me to believe there's some "master" zip file, file://${buildRepo}, > > that has all the IUs that go into the platform repo zip (including platform.ide > > in the future), and I assume this master file is produced by the build. > > The output of the build is a large p2 repository expanded as a set of > directories. That's what is copied to > http://download.eclipse.org/eclipse/updates/3.7/R-3.7.1-201109091335, and this > format can be used by Help>Install New Software to install extra features from > (just jars and indices served up by a web server). The Platform Runtime p2 > repository has the same structure, but it has been zipped up for your > convenience (and now needs a fix). > > PW Ah...that was the missing piece of the puzzle for me. The fact that what's serving the update site is not a single p2 zip produced by the build but a p2 *directory tree* containing everything produced by the build. We've apparently tweaked our process to produce a master p2 zip that has a large superset of what's produced by the build and that is what's distributed to various teams. I didn't realize that was unique to us and hence the confusion. Thanks again for all the help. John
Created attachment 206621 [details] patch
Hmm, that fix seems to result in ius like toolingorg.eclipse.platform.ide.ini.gtk.linux.x86 not sure if this is what is expected.
(In reply to comment #17) > Hmm, that fix seems to result in ius like > toolingorg.eclipse.platform.ide.ini.gtk.linux.x86 > > not sure if this is what is expected. Yes, those are required by the product IU PW
Oh yes, that's true. Okay closing as fixed. This was released for N20111110-2000.