Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "Building Equinox Launcher"

(Update all URLs to new CI and GitHub locations and remove dead link to Step-1-Increment-build-id that had no explanation text around it)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Equinox Launchers can be built from [https://hudson.eclipse.org/releng/view/Launcher/ Releng CI Instance]. This needs to be used on demand only.
 
Equinox Launchers can be built from [https://hudson.eclipse.org/releng/view/Launcher/ Releng CI Instance]. This needs to be used on demand only.
 
https://hudson.eclipse.org/releng/view/Launcher/job/Step-1-Increment-build-id/
 
 
  
 
==Process==
 
==Process==
 
====Identify affected platforms====
 
====Identify affected platforms====
The library source structure is (can be seen here [https://git.eclipse.org/c/equinox/rt.equinox.framework.git/tree/features/org.eclipse.equinox.executable.feature/library Launcher Source]
+
The library source structure is (can be seen here [https://github.com/eclipse-equinox/equinox/tree/master/features/org.eclipse.equinox.executable.feature/library Launcher Source])
 
: library - contains common code
 
: library - contains common code
 
:: cocoa  - contains Mac specific code
 
:: cocoa  - contains Mac specific code
Line 16: Line 13:
 
====Identify whether build id needs to increment====
 
====Identify whether build id needs to increment====
 
You need to compare last build id  
 
You need to compare last build id  
: used in the last successful build of launcher across all platforms and
+
* used in the last successful build of launcher across all platforms and
: used for that specific platform
+
:: Can be identified by the variable LIB_VERSION in [https://github.com/eclipse-equinox/equinox/blob/master/features/org.eclipse.equinox.executable.feature/library/make_version.mak make_version.mak]
 +
* used for that specific platform
 +
:: Verify platform specific eclipse_<version>.<so/dll> at [https://github.com/eclipse-equinox/equinox.binaries binaries repo] eclipse_<version>.<so/dll> would be present in org.eclipse.equinox.launcher.<ws>.<os>.<arch>
  
 
If both are same you'll need to increment, otherwise build id should not be incremented
 
If both are same you'll need to increment, otherwise build id should not be incremented
 
   
 
   
 
+
====Execution of build jobs====
* Identify the last built build-id for that specific platform
+
Run the [https://ci.eclipse.org/releng/view/Launcher/job/Build-eclipse-launcher/ Build-eclipse-launcher] in the next page it asks for 4 options.
** Can be identified by https://git.eclipse.org/c/equinox/rt.equinox.binaries.git/tree/org.eclipse.equinox.launcher.<ws>.<os>.<arch>/eclipse_<build id>.<so/dll>
+
* Identify last build id used for building any launcher platform
+
** Available here https://git.eclipse.org/c/equinox/rt.equinox.framework.git/tree/features/org.eclipse.equinox.executable.feature/library/make_version.mak
+
 
+
if both are same then the build_id needs to be incremented.
+
 
+
===Execution of build jobs===
+
Run the [https://hudson.eclipse.org/releng/view/Launcher/job/Step-1-Increment-build-id/ Step-1-Increment-build-id] in the next page it asks for 4 options.
+
 
   * increment build id (check this if you have determined the build_id needs to be incremented)
 
   * increment build id (check this if you have determined the build_id needs to be incremented)
 
   * buildGtk (check this if linux platforms needs to be built)
 
   * buildGtk (check this if linux platforms needs to be built)
Line 36: Line 27:
 
   * buildWin32 (check this for windows platforms)
 
   * buildWin32 (check this for windows platforms)
  
After this click on build button. then build will start and you'll see [https://hudson.eclipse.org/releng/view/Launcher/job/collect-launcher-libs/  scheduled multiple times(4 times for gtk, 2 for win32 and 1 for Mac).
+
After this click on build button, then build will start, this triggers build on native configurations and once the builds succeed newly built libraries are pushed to git repos as well
 
+
Wait for the collect-launcher-libs jobs to complete and also check for any failures. If there are no failures run [https://hudson.eclipse.org/releng/view/Launcher/job/Step-2-Commit-libraries-and-push/ Step-2-Commit-libraries-and-push]. This will push newly built libraries to git repos.
+

Latest revision as of 07:23, 9 October 2023

Equinox Launchers can be built from Releng CI Instance. This needs to be used on demand only.

Process

Identify affected platforms

The library source structure is (can be seen here Launcher Source)

library - contains common code
cocoa - contains Mac specific code
gtk - contains Linux specific code
win32 - contains Windows specific code

If common code is changed you need to build all platforms. Otherwise only the specific platforms needs to built

Identify whether build id needs to increment

You need to compare last build id

  • used in the last successful build of launcher across all platforms and
Can be identified by the variable LIB_VERSION in make_version.mak
  • used for that specific platform
Verify platform specific eclipse_<version>.<so/dll> at binaries repo eclipse_<version>.<so/dll> would be present in org.eclipse.equinox.launcher.<ws>.<os>.<arch>

If both are same you'll need to increment, otherwise build id should not be incremented

Execution of build jobs

Run the Build-eclipse-launcher in the next page it asks for 4 options.

 * increment build id (check this if you have determined the build_id needs to be incremented)
 * buildGtk (check this if linux platforms needs to be built)
 * buildCocoa (check this for Macos platforms)
 * buildWin32 (check this for windows platforms)

After this click on build button, then build will start, this triggers build on native configurations and once the builds succeed newly built libraries are pushed to git repos as well

Back to the top