Builds | ||
---|---|---|
Running EGit from Eclipse | Documentation |
The central EGit and JGit builds run on the JGit/EGit Hudson instance
Prerequisites for the Maven build are
Hudson
If you're interested in following builds, please check out the following mailing lists:
Complete build sequence for a clean build (assuming $M2_HOME/bin is on the path and local Maven repository at ~/.m2/repository):
[~/src/jgit] $ mvn clean install [INFO] Scanning for projects... ... [~/src/jgit] $ mvn -f org.eclipse.jgit.packaging/pom.xml clean install [INFO] Scanning for projects... ... [~/src/jgit] $ cd ../egit [~/src/egit] $ mvn clean install [INFO] Scanning for projects... ...
The EGit build uses the JGit p2 repository to resolve jgit dependencies. For local builds the build assumes that egit and jgit source trees are located under a common parent folder. If this is not the case the path to the jgit p2 repository has to be injected via system property:
[~/src/egit] $ mvn clean install -Djgit-site=file:/path/to/org.eclipse.jgit.updatesite/target/site
The hudson build on build.eclipse.org uses (for SNAPSHOT builds):
[~/src/egit] $ mvn clean install -Djgit-site=https://repo.eclipse.org/content/unzip/snapshots.unzip/ org/eclipse/jgit/org.eclipse.jgit.repository/${JGIT_VERSION}/org.eclipse.jgit.repository-${JGIT_VERSION}.zip-unzip/
If you wan to build EGit for the specific Neon (4.6) platform, consider using the egit-4.6
target platform:
[~/src/egit] $ mvn -Dtarget-platform=egit-4.6 clean install
For EGit version 4.6, egit-4.5
(Mars, Eclipse 4.5), egit-4.6
(Neon, Eclipse 4.6), and egit-4.7
(Oxygen, Eclipse 4.7) are available. In addition egit-4.7-staging
refers to the Oxygen staging repository.
Upon a successful build, a p2 update site should be generated inside
egit/org.eclipse.egit.repository/target/repository. If not, make sure the target platform has been downloaded from within Eclipse (Windows>Preferences>Plug-in Development>Target Platform). The default target platform defined in the maven build is currently Eclipse 4.6. If you skip setting the system property target-platform
the target platform for Eclipse 4.6 will be used.
Since Gerrit migrated its build from buck to Bazel a Bazel build was also implemented for JGit. The change https://gerrit-review.googlesource.com/#/c/90843/ will enable building both Gerrit and JGit from sources in the same build.
bazel build :all
bazel test //...
bazel test --test_tag_filters=api,dfs,revplot,treewalk //...
Note that the Bazel build does not yet support building JGit OSGi bundles, Eclipse features and the p2 repository which are required to install JGit in Eclipse.
As part of the build, JGit and EGit run FindBugs and PMD to find issues.
The JGit projects have API tooling enabled. In order to use PDE API tools to get assistance with maintaining API changes and additions you need to set an API baseline:
~/egit-releases/updates-4.0
, find the p2 repository URLs
here and download the p2 repository of the latest minor release (service releases don't change API) using the corresponding link in the last column of that table
EGit and JGit builds running on the JGit/EGit Hudson are automatically signed (using the CBI eclipse-jarsigner-plugin) and published to the folder
master branch: /home/data/httpd/download.eclipse.org/egit/updates-nightly latest stable branch: /home/data/httpd/download.eclipse.org/egit/updates-stable-nightly
eclipse-sign
must be enabled via the option -P eclipse-sign
in the respective build jobs running at
https://hudson.eclipse.org/egit/
publish
must be enabled via the option -P publish
in the egit build job.
To sign the EGit build, you need to have ssh access to build.eclipse.org and the ability to run /usr/bin/sign
At the moment, Chris Aniszczyk (caniszczyk) and Matthias Sohn (msohn) have signing privileges.
The first step is to ensure you're in a place you can sign on build.eclipse.org
cd /home/data/httpd/download-staging.priv/commonBuild
Next you run the signing command (Usage: /usr/bin/sign <file> <mail|nomail> [outputDir]) on a zip of the EGit repo...
sign egit-p2-repo.zip my@email.com /home/data/users/caniszczyk/egit-0.8
After that, you can publish the zip that is generated with the signing information.
The release train contribution for JGit and EGit is maintained in the git repository
ssh://git.eclipse.org/gitroot/simrel/org.eclipse.simrel.build.git
in the file
egit.b3aggrcon
The release train build is coordinated on the cross-project-issues-dev mailing list
Running EGit from Eclipse | Documentation |