-
-
Notifications
You must be signed in to change notification settings - Fork 303
Multi project build order
When you build a bnd project in ant the dependencies are built first. This explains how the ordered set of dependencies is computed.
First of all, you can explicitly specify projects to build with
-depends:project1,project2,...
Second, you can supply one or more DependencyContributor bnd plugins to modify this set, for instance
-plugin:org.foo.MyDependencyContributor;prop1=value1,prop2=value2
The DependencyContributor is given the current project and the depends set (modified by previous DependencyContributors)
For instance, it's easy to write a DependencyContributor that adds all projects in the workspace, for a "build-all" project.
Third, you have specified the bundles your project depends on with the
-buildPath:bsn1,bsn2,...
When a bsn is from a project in the workspace, it is added.
Now we know the direct dependencies for the "current" project. The set of ordered transitive dependencies is calculated by a simple tree traversal of these projects, skipping duplicates. This results in an ordered set of projects in a suitable order to build in.
The code for this is in Project.prepare (computing the direct dependencies) and Project.traverse (computing the transitive dependencies).
Latest Releases
all versions
- 7.2.1 | 7.2.0
- 7.1.0 | 7.0.0
- 6.4.1 | 6.4.0 | 6.3.1 | 6.3.0
- 6.2.0 | 6.1.0 | 6.0.0
- 5.3.0 | 5.2.0 | 5.1.2 | 5.1.1
- 5.1.0 | 5.0.1 | 5.0.0
- 4.3.1 | 4.3.0 | 4.2.1 | 4.2.0
- 4.1.0 | 4.0.0
- 3.5.0 | 3.4.0 | 3.3.0 | 3.2.0
- 2.2.0
Gradle
- Plugin
- Build Customizations
- Builder & java-library
- Non-Workspace builds
- PluginManagement
- Using Kotlin
- Kotlin DSL jar config
- AntTasks
- Baselining [beta]
- Blurry Form Text on High-Resolution Displays
- Bnd toolchain parity table
- bnddistribute
- Buildpath Versions
- Conflict with M2E PDE Connector
- Eclipse Logging with Logback
- Hackathon June 2012
- Install bnd on the command line
- Is there a mailing list for bnd
- Launching Framework
- Multi-project build order
- Multi-release JAR support design discussion
- Plans wrt to enRoute
- Reading Eclipse project preferences in bnd
- Release Process
- Requirements for New Repository API
- Windows Locked Files
- WIP ideas ‐ bnd 8.0.0 breaking changes
- XML Attributes on Annotations
- [ant] Loading and Expanding Shared Headers or Properties