Jump to: navigation, search

Difference between revisions of "EclipseLink/Build"

(Build Automation)
Line 14: Line 14:
  
 
== Build Automation ==
 
== Build Automation ==
EclipseLink utilizes automated build processes and methodologies for nearly all aspects of build processing. In some cases, like milestone and release publication, the build scripts need to be manually initiated to start the automated processes. In others, the processes are initated automatically - as is the case for the continuous and nightly integration builds. This section is dedicated to providing general information about these processes.
+
EclipseLink utilizes automated build processes and methodologies for nearly all aspects of build processing. In some cases, like milestone and release publication, the automated processes are manually initiated, while in others, the continuous and nightly integration builds are initated automatically via crontab. This section is dedicated to providing general information about these processes.
 
   
 
   
 
=== Build Schedule ===
 
=== Build Schedule ===
Line 30: Line 30:
 
'''Continuous builds'''
 
'''Continuous builds'''
  
: <u>''Trunk'':</u> On the hour (6a-8p)
+
: <u>''Trunk'':</u> On the hour (6a-8p daily)
  
: <u>''2.1.1'':</u> 20 minutes after the hour (6a-8p)
+
: <u>''2.1.1'':</u> 20 minutes after the hour (6a-8p daily)
  
: <u>''2.0.3'':</u> 40 minutes after the hour (6a-8p)
+
: <u>''2.0.3'':</u> 40 minutes after the hour (6a-8p daily)
  
All times are EDT.
+
All times are EDT. The cron entries are stored in cron.txt, which can be found in the /buildsystem directory of the trunk branch.
  
 
== Related Links ==
 
== Related Links ==

Revision as of 12:15, 11 August 2010

Build Requirements

Past requirements used in designing the build

  • Need reproducable Build automation quickly
  • EclipseLink component builds need to be runnable on other non-eclipse IDEs (IntelliJ, JDev, etc)
  • EclipseLink component builds need to be able to execute from either the hierarchical (SVN) tree, or a flat directory structure (all components at the same level

Moving Forward

  • EclipseLink needs to shift from the old JEE to OSGi centric organization
    • Builds should rely upon the manifest info for compile and runtime dependency info/versioning
    • Any given component should build only when the component code changes
    • Bundle version info should be updated per actual component build (split marketing and bundle versioning)
    • 'Features' should dynamically generate (currently mostly hard-coded)
    • Nightly should use same system, or at least not interfere at all with Eclipse/Dev builds

Build Automation

EclipseLink utilizes automated build processes and methodologies for nearly all aspects of build processing. In some cases, like milestone and release publication, the automated processes are manually initiated, while in others, the continuous and nightly integration builds are initated automatically via crontab. This section is dedicated to providing general information about these processes.

Build Schedule

Nightly builds

Trunk: 12:05a nightly
2.1.1: 1:35a nightly
2.0.3: 3:05a SuTThSa
1.2.1: 3:05a MWF

Continuous builds

Trunk: On the hour (6a-8p daily)
2.1.1: 20 minutes after the hour (6a-8p daily)
2.0.3: 40 minutes after the hour (6a-8p daily)

All times are EDT. The cron entries are stored in cron.txt, which can be found in the /buildsystem directory of the trunk branch.

Related Links

Links to other EclipseLink Build related pages:

EclipseLink/Building - http://wiki.eclipse.org/EclipseLink/Building

EclipseLink/Infrastructure - http://wiki.eclipse.org/EclipseLink/Infrastructure

EclipseLink/Build/Antlr - http://wiki.eclipse.org/EclipseLink/Build/Antlr

EclipseLink/Build/Roadmap - http://wiki.eclipse.org/EclipseLink/Build/Roadmap