Skip to content

ilx/m2e-querydsl

Repository files navigation

Where to download

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)

Developers guide

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.

Build

mvn package

Release a new version

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

Using target platform with local repos

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

Using local mirrors

mvn -s settings.tycho.xml -Dlocal.repo=file:///media/sda2/Java/eclipse/mirrors package

Setup development environment

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.

Create eclipse mirror

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… ?!

Creating a p2 Repository from Features and Plugins

See Creating a p2 Repository from Features and Plugins

Setup local nexus instance

See nexus documentation.

setup maven settings.xml

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)

Notes

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

Linux build – local


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