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 Source Bundles"
Line 5: | Line 5: | ||
* add a map file entry for your source bundle | * add a map file entry for your source bundle | ||
− | We highly recommend the usage of the script attached at the bottom of this page, since it will create the right shape and do almost all the necessary steps. | + | We highly recommend the usage of the script attached at the bottom of this page (sourcegen.zip), since it will create the right shape and do almost all the necessary steps. |
===Bundle structure=== | ===Bundle structure=== | ||
Line 44: | Line 44: | ||
===customCallbacks.xml=== | ===customCallbacks.xml=== | ||
− | + | Copy the customCallbacks from the sourceGen.zip available at the bottom of this page. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
===build.properties=== | ===build.properties=== |
Revision as of 11:36, 22 May 2007
Created from bug 184026.
Contents
What you need to do
If you have bundles in Orbit and you would like to have source bundles automatically generated for you, here are the things that you have to do:
* put your bundles in the structure below * add a map file entry for your source bundle
We highly recommend the usage of the script attached at the bottom of this page (sourcegen.zip), since it will create the right shape and do almost all the necessary steps.
Bundle structure
In order to leverage the automatic infrastructure, avoid the profusion of projects in CVS and simplify management, it is recommended that you store the source bundles in the same project than its binary counter part. This is achieved by creating a sub-folder called "source-bundle" in the project. This folder will be setup like any other bundle with a manifest.mf, build.properties, etc... The zip files containing the source should follow a strict structure (see example below) and should be named after the entries specified in the BundleClasspath of the manifest.mf.
{plugin_root} META-INF/MANIFEST.MF plugin.xml plugin.properties build.properties {class_files} ... source-bundle/ META-INF/MANIFEST.MF plugin.xml build.properties customCallbacks.xml ... src/{plugin_id}_{version}/src.zip
Example for junit 3.8.2
org.junit META-INF/MANIFEST.MF plugin.properties build.properties junit.jar source-bundle/ META-INF/MANIFEST.MF plugin.xml build.properties customCallbacks.xml src/org.junit_3.8.2/junitsrc.zip
customCallbacks.xml
Copy the customCallbacks from the sourceGen.zip available at the bottom of this page.
build.properties
Add the following entries to the build.properties of the source bundle.
customBuildCallbacks=customCallbacks.xml customBuildCallbacks.inheritall=true
Utility to generate source bundles
Given an orbit bundle loaded in your workspace, the attached script will generate a corresponding source bundle following the shape described above. To use the utility:
- import the archive in your workspace
- edit the build.xml to refer to the location of the bundle for which source is being generated
- execute the script