|
|
(19 intermediate revisions by 5 users not shown) |
Line 1: |
Line 1: |
− | For the long version See [[Adding Bundles to Orbit]]
| + | {{warning|Note: The contents of this page has been migrated. Please see https://github.com/eclipse/orbit/blob/master/Add-bundle-in-5-minutes.md for current information, or page history for historical versions. }} |
− | | + | |
− | 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 http://git.eclipse.org/c/gerrit/orbit/orbit-recipes.git/tree/README.md for a more thorough explanation
| + | |
− | | + | |
− | == 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
| + | |
− | | + | |
− | $ 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 to have an ip_log.xml file generated. Fill in the missing information (Name, Email, Company, Ipzilla Bug Id), into the ip_log.xml file. Note that the Ipzilla Bug Id must be an Add-To-Orbit (ATO) CQ.
| + | |
− | | + | |
− | $ mvn -U clean package -DdirtyWorkingTree=warning
| + | |
− | $ $EDITOR src/eclipse/ip_log.xml
| + | |
− | | + | |
− | == Add To Build ==
| + | |
− | | + | |
− | * Add the new recipe to the category pom as a module
| + | |
− | (eg. <code><module>org.mongodb.mongo-java-driver_3.4.1</module></code>)
| + | |
− | | + | |
− | $ 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. <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. Be sure to reference the ATO CQ in your commit message.
| + | |
− | | + | |
− | $ 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 featue
| + | |
− | | + | |
− | $ 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
| + | |
− | | + | |
− | See [[Orbit_Builds#Orbit_Builds_for_Orbit_Committers | Orbit Builds for Orbit Committers]].
| + | |
− | | + | |
− | [[Category: Orbit]]
| + | |