The Virgo source code is managed with Git and hosted at the Eclipse Foundation. All Virgo related repositories are listed here.
$ git clone git://git.eclipse.org/gitroot/virgo/org.eclipse.virgo.root.git virgo $ cd virgo $ git submodule update --init
Since 3.7.0.M02 Virgo is built with Gradle.
Running the default tasks with ./gradlew
will
To build distributable zipped files run:
$ ./gradlew clean jar build distZip fullDistZip rapDistZip
There is an additional task to install the zips, too. This comes quite handy to quickly check the distributables:
$ ./gradlew installDist installFullDist installRapDist
To speed up local builds you can skip some time-consuming processes like follows:
-Dskip.normalize.bundles=true
-Dskip.local.signing=true
-Dskip.compress.bundles=true
If you are only interested in the distribution(s) you might additionally want to skip some Gradle tasks, too: -x test -x findBugsMain -x findBugsTest
.
A simple local build can be done using the following command:
$ ./gradlew -Dskip.normalize.bundles=true -Dskip.local.signing=true -Dskip.compress.bundles=true clean jar build distZip fullDistZip -x test
TBD
You can upload the create p2 update site with ./gradlew uploadUpdateSite
. This will
Please review the configuration located in org.eclipse.virgo.updatesite/gradle.properties
. You can test your setup with ./gradlew testEclipseConnection
:
$ ./gradlew testEclipseConnection ... :org.eclipse.virgo.site:testEclipseConnection eclipseDotOrg|Linux build 3.0.101-0.47.52-default #1 SMP Thu Mar 26 10:55:49 UTC 2015 (0e3c7c8) x86_64 x86_64 x86_64 GNU/Linux Linux build 3.0.101-0.47.52-default #1 SMP Thu Mar 26 10:55:49 UTC 2015 (0e3c7c8) x86_64 x86_64 x86_64 GNU/Linux BUILD SUCCESSFUL Total time: 12.935 secs
Once the configuration is successfully tested you can do the actual upload of a snapshot site with ./gradlew uploadUpdateSite
.
$ ./gradlew -Dci.build=true clean uploadUpdateSite ... :org.eclipse.virgo.site:copyBundles :org.eclipse.virgo.site:normalizeBundles :org.eclipse.virgo.site:signBundles ... :org.eclipse.virgo.site:compressBundles :org.eclipse.virgo.site:createP2Repository Generating metadata for .. Generation completed with success [3 seconds]. Generating metadata for .. Generation completed with success [0 seconds]. > Building 99% > :org.eclipse.virgo.site:uploadUpdateSite