Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Platform-releng-basebuilder"

m (Updated "last used")
(Added obsolete section.)
Line 1: Line 1:
 
Many non-platform build teams rely of the plugins in org.eclipse.releng.basebuilder to run their builds. This page will serve to notify build teams of recent changes to basebuilder so they may incorporate changes as appropriate.  
 
Many non-platform build teams rely of the plugins in org.eclipse.releng.basebuilder to run their builds. This page will serve to notify build teams of recent changes to basebuilder so they may incorporate changes as appropriate.  
 +
 +
== Obsolete ==
 +
 +
The "basebuilder" has not been used in our platform builds for some time (since at least Luna). Instead, we install the "binary platform" and then install into it the "tools" we need. Tools that used to exist in the basebuilder are now part of {{git|platform|eclipse.platform.releng.buildtools}}.
 +
Note: even then the platform binary and the tools needed are only for "post build" tasks -- nothing central to the main build.
 +
 +
We did, however, continue to use the basebuilder as part of running our Unit Tests on eclipse.org, simply to get things started and run the antrunner application at the beginning. We slowly lost the need for this as some platforms "broke" and had to use the binary platform distribution in those cases. Finally, during Neon M7 the use of it broke even on Linux (see {{bug|492580}}) so that motivated getting rid of it completely.
 +
 +
The use of the basebuilder might still be needed in LTS (Long Term Support) but even then only if unit tests are desired to be run "as is" for any of those old streams. If that is ever needed, other changes may be needed also and, if so, it is recommended to remove the need for basebuilder even in those old streams.
  
 
== General Information ==
 
== General Information ==

Revision as of 13:25, 1 May 2016

Many non-platform build teams rely of the plugins in org.eclipse.releng.basebuilder to run their builds. This page will serve to notify build teams of recent changes to basebuilder so they may incorporate changes as appropriate.

Contents

Obsolete

The "basebuilder" has not been used in our platform builds for some time (since at least Luna). Instead, we install the "binary platform" and then install into it the "tools" we need. Tools that used to exist in the basebuilder are now part of eclipse.platform.releng.buildtools (browse, stats, fork on OrionHub) . Note: even then the platform binary and the tools needed are only for "post build" tasks -- nothing central to the main build.

We did, however, continue to use the basebuilder as part of running our Unit Tests on eclipse.org, simply to get things started and run the antrunner application at the beginning. We slowly lost the need for this as some platforms "broke" and had to use the binary platform distribution in those cases. Finally, during Neon M7 the use of it broke even on Linux (see bug 492580) so that motivated getting rid of it completely.

The use of the basebuilder might still be needed in LTS (Long Term Support) but even then only if unit tests are desired to be run "as is" for any of those old streams. If that is ever needed, other changes may be needed also and, if so, it is recommended to remove the need for basebuilder even in those old streams.

General Information

The "basebuilder" (org.eclipse.releng.basebuilder) is a special subset of the Eclipse SDK. It has some things removed to be smaller, and a few things added so it can be ran (in headless "batch mode") on multiple platforms. A tagged version is approximately 60 Megabytes.

It has been kept in a Version Control System (VCS) to make sure builds are reproducible. From the beginning of time, 2002, to 2012 it was kept in CVS.

In December, 2012, it was migrated to Git (bug 395777). Caution: cloning the whole repo is not advised. It is 1.5 Gigabytes of mostly binary data and can take 45 minutes on a good broadband connection, and even 10 minutes on build.eclipse.org.

By the Kepler release, it is planned to no longer use the basebuilder from VCSs but instead rely on retention of Platform builds and p2 repositories. (See bug 324682.)

But, before that transition, we (in the active Platform builds) will use the Git version with a few modifications. So, information about using it is provided here, but its not anticipated anyone would have to move to the Git version ... and hopefully our method of using SDK and p2 repositories, once done, can be duplicated by others, as they need.

Location of the repository, see eclipse.platform.releng.basebuilder. But, again, do not clone the whole repo, especially from CGit!

Notice that the Git repo is not named org.eclipse.releng.basebuilder but its files are "directly under" the repo, named eclipse.platform.releng.basebuilder. Hence, as part of the "checkout", you need to convert/copy to a folder named org.eclipse.releng.basebuilder -- if you want to keep the rest of the build scripts the same as they are for the CVS version.

The main steps of getting a tagged version of the basebuilder are to

  1. Use CGit to get the version you need in a zip file, such as http://git.eclipse.org/c/platform/eclipse.platform.releng.basebuilder.git/snapshot/eclipse.platform.releng.basebuilder-R38M6PlusRC3D.zip.
  2. Unzip that file, and copy files to a folder named ${yourBuildRoot}/org.eclipse.releng.basebuilder.
  3. fix the executable permissions of files that need it (since not maintained by Git).

While details and exact location may change, for an example using Ant, see the fetchBaseBuilderFromGit task we use in getBaseBuilder.xml:

http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/tree/getBaseBuilder.xml#n178

Current tags, per release stream

Current build tag for 4.3, 4.4, and 4.5 stream builds (Kepler, Luna, Mars)

R38M6PlusRC3G

Current build tag for 4.2 (and 3.8) stream builds (Juno)

R38M6PlusRC3F

Current build tag for 3.7 stream builds (Indigo)

R37_M7

Current build tag for 3.6 stream builds (Helios)

r36x_v20101125

Current build tag for 3.5 stream builds (Galileo)

r35x_v20090811

Current build tag for 3.4 stream builds (Ganymede)

r342_v20090210

Current build tag for R3_3_maintenance stream builds (Europa)

v20070614

Current build tag for R3_2_maintenance stream builds (Callisto)

r322_v20070104

basebuilder history

February 13, 2013, Compiler updated to Kepler M5 version

R38M6PlusRC3G created by updating master (R38M6PlusRC3F) with M5 compiler (org.eclipse.jdt.core_3.9.0.v20130129-050623.jar). bug 400052

December 17, 2012, Updated to Ant 1.8.4

R38M6PlusRC3F created by updating R38M6PlusRC3E with Ant 1.8.4 (from the M4 SDK build) bug 396700

December 16, 2012, Compiler updated to Kepler M4 version

R38M6PlusRC3E created by updating R38M6PlusRC3D with M4 compiler (org.eclipse.jdt.core_3.9.0.v20121025-162051.jar). bug 396690

December, 2012, Migrated basebuilder to Git

Migrated basebuilder to Git (bug 395777). Used R38M6PlusRC3D from Git to produce M4 SDK.

CVS is expected to be in "read-only" mode for a while, bug R38M6PlusRC3D is the last-used tag in CVS. Note that the "old" tagged versions are also available from Git, but old build scripts would have to change to fetch the Git versions instead of the CVS version. It is planned that by Kepler release, we will no longer use basebuilder at all (but instead use SDK based Eclipse when needed, along with tools built on their own, see bug 324682), but there will be a few updates made in Git versions prior to the transition.

Below is the old introduction to this page, oriented to the CVS version, as the new intro will be oriented to the Git version:

By using the HEAD version of org.eclipse.releng.basebuilder, there may be unexpected changes at times. Building from HEAD is advised for people who like to have lots of broken builds :-). A version of org.eclipse.releng.basebuilder is tagged after every milestone before we upgrade to the lastest milestone plugins. For instance, version M2_32 of org.eclipse.releng.basebuilder reflects the version of org.eclipse.releng.basebuilder that was used to build 3.2 M2.

You can find org.eclipse.relengbasebuilder in /cvsroot/eclipse

November, 2012, Compiler update

R38M6PlusRC3D created by updating R38M6PlusRC3C with M3 compiler (jdt.core 3.9.0.v20121025-162051).

August, 2012, Ant updates

R38M6PlusRC3B created by updating R38M6PlusRC3 with the normal executable scripts from Ant 1.8.2.

R38M6PlusRC3C created by updating R38M6PlusRC3B with Ant 1.8.3. This was the version used for Juno SR1 (4.2.1 and 3.8.1).

May, 2012, created version for Juno release builds.

R38M6PlusRC3 created by updating R38M6 SDK with RC3 compiler jdt.core (3.8.1.v20120531-0637). This was the version used for Juno release.

May 9, 2011

3.7M7 plugins have been copied to the HEAD branch and tagged as R37_M7.

Mar 15, 2011

3.7M6 plugins have been copied to the HEAD branch and tagged as R37_M6.

Feb 7, 2011

3.7M5 plugins have been copied to the HEAD branch and tagged as R37_M5.

December 14, 2010

3.7M4 plugins have been copied to the HEAD branch and tagged as R37_M4.

June 14, 2010

3.6RC4 plugins have been copied to the HEAD branch and tagged as R36_RC4.

June 1, 2010

3.6RC3 plugins have been copied to the HEAD branch and tagged as R36_RC3.

May 25, 2010

3.6RC2 plugins have been copied to the HEAD branch and tagged as R36_RC2.

May 17, 2010

3.6RC1 plugins have been copied to the HEAD branch and tagged as R36_RC1.

May 9, 2010

3.6M7 plugins have been copied to the HEAD branch and tagged as R36_M7.

-can be used for generating source references in the manifests of your bundles. For more information, see the information on the cross project list

Jan 22, 2010

3.6M4 plugins have been copied to the HEAD branch and tagged as R36_M4.

November 2, 2009

3.6M3 plugins have been copied to the HEAD branch and tagged as R36_M3.

September 30, 2009

3.6M2 plugins have been copied to the HEAD branch and tagged as R36_M2.

August 17, 2009

3.6M1 plugins have been copied to the HEAD branch and tagged as R36_M1.

June 9, 2009

3.5RC4 plugins have been copied to the HEAD branch and tagged as R35_RC4.

June 5, 2009

3.5RC3 plugins have been copied to the HEAD branch and tagged as R35_RC3.

May 29, 2009

3.5RC2 plugins have been copied to the HEAD branch and tagged as R35_RC2. This includes a new post RC2 publisher bundle to address bug 278333

May 21, 2009

3.5RC1 plugins have been copied to the HEAD branch and tagged as R35_RC1.

May 4, 2009

3.5M7 plugins have been copied to the HEAD branch and tagged as R35_M7.

Mar 16, 2009

3.5M6 plugins have been copied to the HEAD branch and tagged as R35_M6.

Feb 14, 2009

3.5M5 plugins have been copied to the HEAD branch and tagged as R35_M5.

December 31, 2008

3.5M4 plugins have been copied to the HEAD branch and tagged as R35_M4.

October 27, 2008

3.5M2 plugins have been moved to the HEAD branch and tagged with R35_M2. This includes a post M2 pde build for Sorting Bundles and Parallel Compilation in PDE/Build and a new jdt core to disable warnings that were enabled in M2 [bug 249618].

May 28, 2008

3.4RC2 plugins have been moved to the HEAD branch and tagged with RC2_34.

May 22, 2008

3.4RC1 plugins have been moved to the HEAD branch and tagged with RC1_34. See also bug 230924, bug 233467.

May 5, 2008

3.4M7 plugins have been moved to the HEAD branch and tagged with M7_34. See also bug 228114, bug 229916, bug 230034, bug 230042, bug 230045.

Note that you will need to change your .releng project's root build.xml, if it includes this line:

<property name="pde.build.scripts" value="../org.eclipse.releng.basebuilder/plugins/org.eclipse.pde.build/scripts" />

Change it to:

<property name="pde.build.scripts" value="${eclipse.pdebuild.scripts}" />

Feb 15, 2008

3.4M5 plugins have been moved to the HEAD branch and tagged with M5_34.

January 11, 2008

3.4M4 plugins + fixed help base plugin - see bug 213346

November 8, 2007

The latest tag is v20071108, which changes the way source plugins are generated and fixes a number of issues with the M3_34 tag, including bug 209362, bug 209092, bug 208617, bug 207013. To suppress new warnings when building, such as Unnecessary @SuppressWarnings("deprecation"), use the new compiler arg -warn:-warningToken.

October 19, 2007

The latest tag is v20071030, which fixes a number of issues with the M2_34 tag, including bug 206335, bug 206679, bug 207500.

August 14, 2007

3.4M1 plugins have been moved to the HEAD branch and tagged with M1_34.

June 11, 2007

3.3RC4 plugins have been moved to the HEAD branch and tagged with RC4_33.

June 4, 2007

3.3RC3 plugins have been moved to the HEAD branch and tagged with RC3_33.

May 28, 2007

3.3RC2 plugins have been moved to the HEAD branch and tagged with RC2_33.

May 18, 2007

3.3RC1 plugins have been moved to the HEAD branch and tagged with RC1_33.

May 11, 2007

3.3M7 plugins have been moved to the HEAD branch and tagged with M7i_33.

  • There is a new version of Ant org.apache.ant_1.7.0.v200704241635, JUnit org.junit_3.8.2.v200701261102 and ICU 3.6.1 from Orbit.
  • PDE build qualifier generation has changed see bug 175714
  • There are additonal fixes to the update core for the jar processor - see bug 178886

March 27, 2007

3.3M6 plugins have been moved to the HEAD branch and tagged with M6_33.

  • There is a older version of org.eclipse.update.core than exists in M6 to address

Handle case when pack200 fails

  • The are new plugins in the basebuilder to support the additional dependancies in the help plugins with the move from tomcat to jetty. See

Bug 176989 Add Jetty and JSP Support bundles to Platform Feature

February 28, 2007

3.3M5 plugins have been moved to the HEAD branch and tagged with M5_33. Changes include

  • The startup.jar has been removed as per the launcher reorganization. As a convenience factor in our scripts, we have renamed org.eclipse.equinox.launcher_1.0.0.qualifier to org.eclipse.equinox.launcher.jar, much like we have for pde build.

http://wiki.eclipse.org/index.php/Equinox_Launcher

  • There is a newer version of org.eclipse.update.core than exists in M5 to address

Handle case when pack200 fails

  • There is a newer version of pde build than M5 to address

qualifiers are not generated properly with 3.3M5 pde build

January 10, 2007

3.3 stream builds - 3.3M4 plugins have been moved to the HEAD branch and tagged with M4_33.

3.2.x stream builds Latest R3_2_maintenance stream tag is r322_v20070104

November 15, 2006

3.2.x stream builds 3.2.1 plugins have been moved to the R3_2_maintenance stream branch and tagged with r322_v20061115a.

November 13, 2006

3.3 stream builds - 3.3M3 plugins have been moved to the HEAD branch and tagged with M3_33.

September 25, 2006

3.3 stream builds - 3.3M2 plugins have been moved to the HEAD branch and tagged with M2_33.

August 28, 2006

3.3 stream builds - 3.3M1 plugins have been moved to the releng_test branch and tagged with M1_33.

3.2.x stream builds - For teams running 3.2.x maintenance builds, this builder is in the R3_2_maintenance branch. The current tag is r321_v20060830.

June 9, 2006

3.2RC7 plugins have been moved to the releng_test branch and tagged with RC7_32.

May 29, 2006

3.2RC6 plugins have been moved to the releng_test branch and tagged with RC6_32.

May 25, 2006

3.2RC5 plugins have been moved to the the releng_test branch and tagged with RC5_32.

May 15, 2006

3.2RC4 plugins have been moved to releng_test and tagged with RC4_32.

May 8, 2006

3.2RC3 plugins have been moved to releng_test and tagged with RC3_32.

May 2, 2006

3.2RC2 plugins have been moved to releng_test and tagged with RC2_32. Also, there is a new version of jdt.core because we are testing it at the same time. In plugins/org.eclipse.build.tools, there is the code from Bug 116912 Release Train Cascade / RSS Notification & Response that the EMF team contributed. However, I haven't modified our builder to use this code yet.

April 18, 2006

3.2RC1 plugins have been moved to HEAD and tagged with RC1_32. I didn't have to make any changes to the builder to accommodate the new plugins.

April 6, 2006

We have tagged HEAD with M6_32 because the M6 plugins have been moved to HEAD + a new org.eclipse.help.base for the following https://bugs.eclipse.org/bugs/show_bug.cgi?id=134857

February 22, 2006

We have tagged HEAD with M5_32 because the M5 plugins have been moved to HEAD.

February 20, 2006

We have tagged HEAD with M4_32. We actually used version I20060217-1115 to build Eclipse M5 which had a newer version of PDE build than was provided by M4 + a help fix.

December 19, 2005

We are holding off moving to new plugins in HEAD until the New Year. When we do release the new plugins to HEAD, they will be M4 + a fix from Help. https://bugs.eclipse.org/bugs/show_bug.cgi?id=121098

November 9, 2005

For build teams that use org.eclipse.basebuilder project in their builds, tag M3_32 of org.eclipse.releng.basebuilder is now available. This tag refers to a version of basebuilder that consists of plugins from Eclipse 3.2 M3. We would strongly advise all teams not to use the HEAD version of org.eclipse.releng.basebuilder in their builds as this is a development stream. We would advise all teams to either use the stable tags M2_32 (plugins from milestone 2) or M3_32 (plugins from milestone 3) of org.eclipse.releng.basebuilder.

November 7, 2005 changes

HEAD stream of org.eclipse.releng.basebuilder tagged as version M2_32. Subsequently, released Eclipse 3.2M3 plugins in HEAD.

We renamed org.eclipse.pde.build_3.2.0/scripts to org.eclipse.pde.build/scripts because our scripts explicitly reference the path to pde build. With the plugin versioning changes now being implemented, we didn't want to change name of pde build each time the qualifier changes. For instance, the full name of the pde.build plugin from from M3 is org.eclipse.pde.build_3.2.0.v20051031a.

Back to the top