Add latest p2 update site from this list of p2 update sites
If this doesn’t make any sense to you, read Eclipse Help section on this topic (Workbench user guide → Updating and installing software)
The rest of the document is for the brave souls that want to build this from scratch.
It’s not a finished step by step guide, so take it just as a hint.
mvn package
mvn -s settings.tycho.xml -Dlocal.repo=file:///media/sda2/Java/eclipse/mirrors org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.0.2
Clean projects:
mvn -X -s settings.tycho.xml -Dtarget.platform=m2e-e37-local -Dlocal.repo="" clean
Bump version:
mvn -X -s settings.tycho.xml -Dtarget.platform=m2e-e37-local org.eclipse.tycho:tycho-versions-plugin:0.14.0:set-version -DnewVersion=0.0.2-SNAPSHOT
Package:
mvn -X -s settings.tycho.xml -Dtarget.platform=m2e-e37-local package
You need to specify local.repo environment variable if you use supplied settings.tycho.xml file:
mvn -X -s settings.tycho.xml -Dtarget.platform=m2e-e37-local -Dlocal.repo="C:\Java\eclipse\mirrors" package
mvn -s settings.tycho.xml -Dlocal.repo=file:///media/sda2/Java/eclipse/mirrors package
In order to speed up builds and have them reproducible on your own computer it’s probably a good idea to mirror some of the eclipse p2 repositories locally on the development environment (developers computer or local network).
Unfortunately this takes time and is not as simple as one would expect.
If you follow steps below creating local mirrors will cost you ~ 6GB.
You can tune mirroring, but I would not recommend it.
It’s probably a good idea to mirror eclipse releases.
One can use cygwin & rsync to create local eclipse mirror on windows platform.
One can connecto to the eclipse mirror using ftp:
lftp ftp.mirrorservice.org:/sites/download.eclipse.org/eclipseMirror/tools/orbit/downloads/drops/R20120119162704/
Mirror indigo (takes a long long time):
rsync.exe --progress -v -rlt "rsync.mirrorservice.org::download.eclipse.org/eclipseMirror/releases/indigo" "/cygdrive/C/Java/eclipse/mirrors/indigo/"
Mirror platform updates (a bit faster than indigo):
rsync.exe --progress -v -rlt "rsync.mirrorservice.org::download.eclipse.org/eclipseMirror/eclipse/updates/3.7" "/cygdrive/C/Java/eclipse/mirrors/platform-e37/"
Mirror orbit drops:
rsync.exe --progress -v -rlt "rsync.mirrorservice.org::download.eclipse.org/eclipseMirror/tools/orbit/downloads/drops//R20120119162704/repository" "/cygdrive/C/Java/eclipse/mirrors/tools/orbit/downloads/drops/R20120119162704"
You will have to serve it through HTTP server (Apache is a good choice)
artifacts.xml contains a reference to the eclipse site… ?!
See Creating a p2 Repository from Features and Plugins
See nexus documentation.
You can use supplied settings.tycho.xml.
Make sure you adjust mirrors:
<mirror>
<id>indigo-local</id>
<mirrorOf>indigo</mirrorOf>
<!-- <url>http://localhost/eclipse/indigo/indigo</url> -->
<url>file:///${local.repo}/indigo/indigo</url>
<layout>p2</layout>
<mirrorOfLayouts>p2</mirrorOfLayouts>
</mirror>
<mirror>
<id>platform-e37-local</id>
<mirrorOf>platform-e37</mirrorOf>
<!-- <url>http://localhost/eclipse/platform-e37/3.7</url> -->
<url>file:///${local.repo}/platform-e37/3.7</url>
<layout>p2</layout>
<mirrorOfLayouts>p2</mirrorOfLayouts>
</mirror>
<mirror>
<id>m2e-local</id>
<mirrorOf>m2e</mirrorOf>
<url>http://localhost/eclipse/indigo/m2e/releases</url>
<layout>p2</layout>
<mirrorOfLayouts>p2</mirrorOfLayouts>
</mirror>
<mirror>
<id>orbit-local</id>
<mirrorOf>orbit</mirrorOf>
<url>file:///${local.repo}/tools/orbit/downloads/drops/R20120119162704/repository</url>
<layout>p2</layout>
<mirrorOfLayouts>p2</mirrorOfLayouts>
</mirror>
Variable local.repo can be defined in the settins.tycho.xml file or you can pass it to tycho as environment variable (using -D…).
Mirrors defined above will point to the local p2 repositories you may have created before using rsync.
Alternatively you could use local http server (as http://localhost/eclipse/indigo/m2e/releases
in m2e mirror)
You can override the location of the global and user settings from the command line, the following example will set the global settings to c:\global\settings.xml and the user settings to c:\user\settings.xml:
mvn install --settings c:\user\settings.xml --global-settings c:\global\settings.xml
mvn -s settings.tycho.xml -Dtarget.platform=m2e-e37-local -Dlocal.repo=file:///media/sda2/Java/eclipse/mirrors -X org.eclipse.tycho:tycho-versions-plugin:0.15.0:set-version -DnewVersion=0.0.3-SNAPSHOT