Community
Participate
Working Groups
http://wiki.eclipse.org/Platform-releng/Juno_Git_Migration The platform will be moving to git. We shouldn't keep the launcher binaries in the git repository like we do in CVS. The launcher compilation/releng setup needs to be modified to do something like the following: 1) Check out native sources 2) Compile binaries 3) Publish the binaries into a p2 repository 4) Normal releng build downloads binaries from the p2 repo and places them into the fragments/executable feature Binaries can be published to a p2 repository by packaging them as root files to a feature. This is for convenience only, these should not be considered as "real" root files to be installed into eclipse. We should perhaps add some metadata to prevent people from installing these binary IUs. The executable feature and launcher fragments can use custom build callbacks to get the binaries from the p2 repository and put them in the normal locations during the releng build. This download can be accomplished via a simple wget or by using p2 tasks.
Some details on (2)-(3). Current compilation setup compiles the binaries on each platform and copies the results to a "resultsBaseFolder" which currently is a workspace on my workstation. I then review the results and manually check into CVS those binaries which are affected by the chanes I'm compiling for. The change is for the scripts to instead copy the binary results into a location on some build machine, probably the linux.x86 box. The build will then get from SCM two new features org.eclipse.equinox.executable.binaries org.eclipse.equinox.launcher.binaries The binary files are copied into these features as appropriate. We then invoke PDE/Build's ant task <eclipse.gatherFeature/> to publish these features into a p2 repository which can then be scp'd to dev.eclipse.org.
I have created the two new features, they are located under /cvsroot/rt/org.eclipse.equinox/framework/releng org.eclipse.equinox.executable.binaries org.eclipse.equinox.launcher.binaries
As part of the git migration should we consider moving the launcher fragments out of org.eclipse.equinox.launcher? I suppose a move like that would be best done after migrating to git since git handles moving folders/files around much better than CVS for preserving history.
Just a note. Other projects that need to create binaries and then consume them as part of their build steps (on hudson at eclipse.org) are considering maven.eclipse.org. http://wiki.eclipse.org/Maven PW
Launchers have been moved to git. Source is under git://git.eclipse.org/gitroot/equinox/rt.equinox.framework.git All the fragments have been moved from org.eclipse.equinox.launcher/[fragments|contributed]/ to be siblings of the launcher project. All the binaries are stored in a git repo: git://git.eclipse.org/gitroot/equinox/rt.equinox.binaries.git Projects are just in the root of the repo and only contain binaries. Each fragment and the executable feature all contain a customBuildCallbacks.xml script which will retrieve the binaries from the binary repo at build time. The previous mentioned org.eclipse.equinox.executable.binaries and org.eclipse.equinox.launcher.binaries features were not necessary and were not included in the move from cvs to git.