• Intro Headers Instructions Macros Commands
Fork me on GitHub
    • Introduction
    • How to install bnd
    • Guided Tour
    • Guided Tour Workspace & Projects
    • Concepts
    • Best practices
    • Build
    • Project Setup
    • Generating JARs
    • Versioning
    • Baselining
    • Service Components
    • Metatype
    • Contracts
    • Bundle Annotations
    • Accessor Properties
    • SPI Annotations
    • Resolving Dependencies
    • Launching
    • Startlevels
    • Testing
    • Testing with Launchpad
    • Packaging Applications
    • JPMS Libraries
    • Wrapping Libraries to OSGi Bundles
    • Generating Documentation
    • Commands
    • For Developers
    • Tips for Windows users
    • Tools bound to bnd
    • Reference
    • Headers
    • Instruction Reference
    • Instruction Index
    • Macro Reference
    • Macro Index
    • Plugins
    • External Plugins
    • Settings
    • Errors
    • Warnings
    • Frequently Asked Questions
  • -resolve.effective qname (',' qname )
    Workspace

    Each requirement and capability has an effective or is effective=resolve. An effective of resolve is always processed by the resolver.However, in (very) special cases it is necessary to provide more rules.

    The -resolve.effective syntax is as follows:

    -resolve.effective 	::= effective ( ',' effective )*
    effective		::= NAME (';skip:=' skip )
    skip			::= skip = '"' namespace ( ',' namespace ) * '"'
    

    The simplest model is to just list the names, for example:

    -resolve.effective: resolve,active
    

    In this case, the resolver will only look at requirements that are either resolve or active.

    Adding a meta effective could then be:

    -resolve.effective: resolve,active, meta
    

    However, in very, very rare (usually error) cases it is necessary to exclude certain namespaces. This can be done by using the skip: directive.

    -resolve.effective: resolve,active, meta;skip:='osgi.extender,osgi.wiring.package'
    
    • GitHub