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 "Orbit/Adding Bundles To Orbit In 5 Minutes"
m (→Manual Build And Promotion) |
(Remove info that was duplicated - up to date version is https://wiki.eclipse.org/Orbit/Promotion,_Release,_and_Retention_Policies#Milestone_Release_Process) |
||
(13 intermediate revisions by 5 users not shown) | |||
Line 3: | Line 3: | ||
This is for primarily meant as a guide for contributing a bundle to make its way into a release. This guide assumes all the steps to get approval for the bundle itself have already been performed. | This is for primarily meant as a guide for contributing a bundle to make its way into a release. This guide assumes all the steps to get approval for the bundle itself have already been performed. | ||
− | See | + | See https://git.eclipse.org/c/orbit/orbit-recipes.git/tree/README.md for a more thorough explanation |
== Setup == | == Setup == | ||
Line 13: | Line 13: | ||
== Creation/Preparation == | == Creation/Preparation == | ||
− | * Choose a folder under which to create the recipe and then create it there | + | * Choose a folder under which to create the recipe and then create it there using the below mvn command or the ''create-*-recipes.sh'' if any: |
$ cd github/mongodb | $ cd github/mongodb | ||
Line 24: | Line 24: | ||
$ $EDITOR osgi.bnd | $ $EDITOR osgi.bnd | ||
− | * Perform a test build of the package | + | * Perform a test build of the package. |
$ mvn -U clean package -DdirtyWorkingTree=warning | $ mvn -U clean package -DdirtyWorkingTree=warning | ||
− | |||
== Add To Build == | == Add To Build == | ||
Line 44: | Line 43: | ||
(eg. <code><plugin id="org.mongodb.mongo-java-driver" version="3.4.1.qualifier"/></code>) | (eg. <code><plugin id="org.mongodb.mongo-java-driver" version="3.4.1.qualifier"/></code>) | ||
− | * Add and commit the new recipe and changes to the aggregation feature | + | * Add and commit the new recipe and changes to the aggregation feature. |
$ git add github/mongodb/org.mongodb.mongo-java-driver_3.4.1 releng/aggregationfeature/feature.xml | $ git add github/mongodb/org.mongodb.mongo-java-driver_3.4.1 releng/aggregationfeature/feature.xml | ||
Line 53: | Line 52: | ||
* We should also test that our new recipe builds successfully prior to submitting for review | * We should also test that our new recipe builds successfully prior to submitting for review | ||
− | First we test that our recipe builds alongside all other recipes and install them locally to be discovered later by our aggregation | + | First we test that our recipe builds alongside all other recipes and install them locally to be discovered later by our aggregation feature |
$ mvn clean install | $ mvn clean install | ||
Line 73: | Line 72: | ||
== Consumption == | == Consumption == | ||
− | Once a change has been reviewed and approved, a build should be triggered within about an hour at https:// | + | Once a change has been reviewed and approved, a build should be triggered within about an hour at https://ci.eclipse.org/orbit/job/orbit-recipes/ . Once the build succeeds, information about where to find the build page, as well as the generated p2 repository can be found at the bottom of the build's logs. |
The automated builds are analogous to nightly builds, in that they are not usually retained for long and are generally used merely for testing purposes. For more stable repositories, committers have the ability to push integration, milestone, and recommended (I, S, R) builds that can also be promoted to the [http://download.eclipse.org/tools/orbit/downloads/ downloads page] for visibility. | The automated builds are analogous to nightly builds, in that they are not usually retained for long and are generally used merely for testing purposes. For more stable repositories, committers have the ability to push integration, milestone, and recommended (I, S, R) builds that can also be promoted to the [http://download.eclipse.org/tools/orbit/downloads/ downloads page] for visibility. | ||
See [[Orbit_Builds#Orbit_Builds_for_Orbit_Committers | Orbit Builds for Orbit Committers]]. | See [[Orbit_Builds#Orbit_Builds_for_Orbit_Committers | Orbit Builds for Orbit Committers]]. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category: Orbit]] | [[Category: Orbit]] |
Revision as of 15:22, 13 February 2023
For the long version See Adding Bundles to Orbit
This is for primarily meant as a guide for contributing a bundle to make its way into a release. This guide assumes all the steps to get approval for the bundle itself have already been performed.
See https://git.eclipse.org/c/orbit/orbit-recipes.git/tree/README.md for a more thorough explanation
Contents
Setup
- Clone the orbit-recipes git repository
$ git clone ssh://USERNAME@git.eclipse.org:29418/orbit/orbit-recipes
Creation/Preparation
- Choose a folder under which to create the recipe and then create it there using the below mvn command or the create-*-recipes.sh if any:
$ cd github/mongodb $ mvn ebr:create-recipe -DgroupId=org.mongodb -DartifactId=mongo-java-driver -Dversion=3.4.1 -DbundleSymbolicName=org.mongodb.mongo-java-driver
- Modify recipe pom and osgi.bnd to suite the needs of the bundle. If the bundles has dependencies, make sure to specify them under the Import-Package header in the osgi.bnd as opposed to just leaving it as '*;resolution:=optional'.
$ cd org.mongodb.mongo-java-driver_3.4.1 $ $EDITOR pom.xml $ $EDITOR osgi.bnd
- Perform a test build of the package.
$ mvn -U clean package -DdirtyWorkingTree=warning
Add To Build
- Add the new recipe to the category pom as a module
(eg. <module>org.mongodb.mongo-java-driver_3.4.1</module>
)
$ cd ../ $ $EDITOR pom.xml
- Add the recipe bundle to the aggregation feature to ensure it ends up in the generated repository
$ cd ../../ $ EDITOR releng/aggregationfeature/feature.xml
(eg. <plugin id="org.mongodb.mongo-java-driver" version="3.4.1.qualifier"/>
)
- Add and commit the new recipe and changes to the aggregation feature.
$ git add github/mongodb/org.mongodb.mongo-java-driver_3.4.1 releng/aggregationfeature/feature.xml $ git commit
Building Locally (Recommended)
- We should also test that our new recipe builds successfully prior to submitting for review
First we test that our recipe builds alongside all other recipes and install them locally to be discovered later by our aggregation feature
$ mvn clean install
Next we test that the aggregation feature builds successfully
$ mvn clean install -f releng/aggregationfeature/pom.xml
Finally, we test that the generated repository containing all bundle recipes builds successfully
$ mvn clean package -f releng/repository/pom.xml
Contributing
- Lastly, we push to review
$ git push origin HEAD:refs/for/master
Consumption
Once a change has been reviewed and approved, a build should be triggered within about an hour at https://ci.eclipse.org/orbit/job/orbit-recipes/ . Once the build succeeds, information about where to find the build page, as well as the generated p2 repository can be found at the bottom of the build's logs.
The automated builds are analogous to nightly builds, in that they are not usually retained for long and are generally used merely for testing purposes. For more stable repositories, committers have the ability to push integration, milestone, and recommended (I, S, R) builds that can also be promoted to the downloads page for visibility.