This document descibes how to patch Eclipse RCP itself, e.g. if a default plugin causes a problem. It can hapen that a fix is already present in the GIT repository of Eclipse, but there is no binary release of the RCP framework yet. In this case you have to compile RCP by yourself and this document tells how to do it.
Inspect the GIT repository
Have a look at https://git.eclipse.org/c/ to find the repository for the plugin you need an update. Hava a look for the branches and compare them (some times a fix is already in a later version, but not in the older version). Then checkout the correct branch. After the release of an Eclipse version there are several maintainance releases which can be found in the maintainenance branch. For TextGrid 3.2 and 3.3 this is R4_4_maintenance.
It is assumed that you have the Java compiler, Maven (3) and GIT installed and in your path.
Clone the repository
Eclipse is build with tycho, which makes the compilation of the modules easy. Start to checkout the releng project:
replace -b with the correct branch.
Now go into the eclipse.platform.releng.aggregator:
I had the problem that some submodules where not up to date, so they missed the fixes. To fix this I went manually into the directories of the plugins I need a fix and issued a git pull, e.g.
and verify the commit log with the web based git.
You can also try to issue
(Optional) apply the patch to the desired module
Now patch the corresponding module.
Important: The updated plugin is only included if the change has been committed to a repository. In this case it is the best if you create a new GIT repository for the module and push the changes. Only commited versions get a new qualifier!.
Update the build versions of the plugins
Increase the memory limit
You could also try a parallel build, which is faster (here 4 threads)
This will take a couple of hours.
You will find the repository in the directory: eclipse.platform.releng.tychoeclipsebuilder/platform/target/repository
Now you can include this repository in the Eclipse RCP build, for testing as local directory or for the buiild server deploy it to the textgridlab website.
Carefully inspect if the desired plugin has the right qualifier (date/time string of the commit).
The build leaves a lot of files in the directory, before redoing the build, issue
Include the new repository in the TextGridLab Build
Assumed that you have checkout TextGridLab open the file textgrid-laboratory/parent/pom.xml in a text editor and find the <repositories> sections and add the new p2 repository. Local build from file system:
Replace the URL with the correct path. For a public accessible repository, just replace the URL with a valid HTTP address.
Now Tycho will search both repositories (the official eclipse one and this one) and will use the latest version of the plugins (but only if the plugin has a new qualifier!).