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.
Difference between revisions of "EclipseLink/Build/Requirements"
< EclipseLink | Build
Line 4: | Line 4: | ||
* 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 | * 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 | ||
* Full build system needs to be under version control | * Full build system needs to be under version control | ||
+ | |||
'''Requirements Inherited from Simultanious Release Participation''' | '''Requirements Inherited from Simultanious Release Participation''' | ||
Line 11: | Line 12: | ||
* Product/features/plugins must follow Eclipse versioning conventions (Major.Minor.Micro.qualifier) | * Product/features/plugins must follow Eclipse versioning conventions (Major.Minor.Micro.qualifier) | ||
* Shared Dependencies must come from Orbit (same as rest of release) | * Shared Dependencies must come from Orbit (same as rest of release) | ||
+ | |||
'''Moving Forward (2.2.0+)''' | '''Moving Forward (2.2.0+)''' |
Revision as of 10:03, 12 August 2010
Past requirements used in designing the build (1.0+)
- 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
- Full build system needs to be under version control
Requirements Inherited from Simultanious Release Participation
- All published builds must be signed by the foundation (effectively Milestone and release builds)
- Must provide 'features' for Eclipse installers
- Must provide builds in P2 repository
- Product/features/plugins must follow Eclipse versioning conventions (Major.Minor.Micro.qualifier)
- Shared Dependencies must come from Orbit (same as rest of release)
Moving Forward (2.2.0+)
- EclipseLink needs to adopt a more dynamic dependency resolution mechanism
- cannot continue to merge Orbit and other dependencies into repos
- mechanism must maintain build reproducability
- cannot rebuild a past release and get latest dependencies - must be SAME dependencies
- 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