Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "LTS/HowTos"
(→Adding LTS Central remotes) |
(→Adding LTS Central remotes) |
||
Line 92: | Line 92: | ||
rt.equinox.framework | rt.equinox.framework | ||
rt.equinox.p2 | rt.equinox.p2 | ||
+ | </pre> | ||
+ | |||
+ | Once all the remotes are added you will want to run a "git fetch" to get the latest updates you can use the git submodule foreach command to update all the submodules in one command: | ||
+ | <pre> | ||
+ | git fetch | ||
+ | git submodule foreach git fetch | ||
</pre> | </pre> | ||
Revision as of 16:03, 28 February 2013
Contents
Howtos
Using TortoiseGit to "git submodule update"
- Navigate to your git repository which you cloned (eg. eclipse.platform.releng.aggregator)
- Right click > TortoiseGit > Submodule Update
- Select to Initialize Submodules
- Click OK
Setting up a Hudson Maven project to build Eclipse Platform
For the steps below. Navigate to your Job you wish to configure and choose Configure
Setting up Git
- Enter URL of git repo (example: /gitroot/lts-central/platform/eclipse.platform.releng.aggregator.git)
- Note: This is the path component of the https:// provider.
- Example: https://lts.eclipse.org/gitroot/lts-central/platform/eclipse.platform.releng.aggregator.git
- Becomes: /gitroot/lts-central/platform/eclipse.platform.releng.aggregator.git
- Note: This is the path component of the https:// provider.
- Set the build branch (eg. R4_2_maintenance)
- Click Advanced... under Branches to Build
- Check Skip internal tag
- Save
Setting up Platform Build
Build step 1, invoke maven for eclipse-parent
- click Add Build Step -> Invoke Maven 3
- click Advanced
- Set goals: clean install
- Set pom-file: eclipse-parent/pom.xml
- Set private repository enabled
- Save
Build step 2, invoke maven for maven-cbi-plugin
- click Add Build Step -> Invoke Maven 3
- click Advanced
- Set goals: clean install
- Set pom-file: maven-cbi-plugin/pom.xml
- Set private repository enabled
- Save
Build step 3, invoke maven for Platform build
- click Add Build Step -> Invoke Maven 3
- click Advanced
- Set goals: clean install
- Set properties: maven.test.skip=true
- Set pom-file: pom.xml
- Set private repository enabled
- Set profiles: no-bree-libs
- Save
Updating LTS Repository
Adding LTS Central remotes
Before you can update your repos with the latest changes from the LTS Central repo, you will need to add the LTS Central repos as a remote for the aggregator as well as all the submodules.
Example Command to add a remote for aggregator:
git remote add central https://<username>@lts.eclipse.org/gitroot/lts-central/platform/eclipse.platform.releng.aggregator.git
Submodules to update:
eclipse.jdt eclipse.jdt.core eclipse.jdt.core.binaries eclipse.jdt.debug eclipse.jdt.ui eclipse.pde eclipse.pde.build eclipse.pde.ui eclipse.platform eclipse.platform.common eclipse.platform.debug eclipse.platform.releng eclipse.platform.resources eclipse.platform.runtime eclipse.platform.swt eclipse.platform.swt.binaries eclipse.platform.team eclipse.platform.text eclipse.platform.ua eclipse.platform.ui rt.equinox.binaries rt.equinox.bundles rt.equinox.framework rt.equinox.p2
Once all the remotes are added you will want to run a "git fetch" to get the latest updates you can use the git submodule foreach command to update all the submodules in one command:
git fetch git submodule foreach git fetch
Known Issues
Fail to clone submodules using msysgit
Per Bug 376400 we discovered that msysgit has a max character limit somewhere around 256 which causes cloning files with a path longer than that to fail.
See: https://bugs.eclipse.org/bugs/show_bug.cgi?id=376400#c4
Workaround: Put your repo in the root of a drive and give it a short name. For example: C:\z
Error assembling JAR: Could not find a common basedir (Resolved)
In git version 1.7.8 and newer, git changed it's behaviour with respect to submodules https://raw.github.com/gitster/git/master/Documentation/RelNotes/1.7.8.txt
The new behaviour causes Tycho Eclipse-SourceReference provider for git to be unable to calculate the basedir correctly. There is a open Tycho bug that includes a patch for getting this resolved https://bugs.eclipse.org/bugs/show_bug.cgi?id=393752
Workaround: Use a git version 1.7.7 or earlier.
Cannot git clone via ssh:// protocol (Resolved)
The issue with this is that most user accounts on the Forge will not have shell access to the forge and the ssh:// protocol requires shell to operate. The solution we decided to go with was we provisioned a https:// protocal instead which we will recommend users to use instead.