-
-
Notifications
You must be signed in to change notification settings - Fork 305
Changes in 3.3.0
For Bndtools 3.3.0 changes, see https://github.com/bndtools/bndtools/wiki/Changes-in-3.3.0.
A new repository plugin, aQute.bnd.repository.osgi.OSGiRepository, has been added to replace FixedIndexRepo. It serves the same role as FixedIndexRepo but uses the new HttpClient support introduced in Bnd 3.2. Please migrate your use of FixedIndexRepo to aQute.bnd.repository.osgi.OSGiRepository.
A new repository plugin, aQute.bnd.repository.maven.pom.provider.BndPomRepository, has been added which creates a repository around a POM file and its transitive dependencies. For example:
-plugin.enroute-distro: aQute.bnd.repository.maven.pom.provider.BndPomRepository; \
name="enRoute Distro"; \
pom=org.osgi:osgi.enroute.distro.pom:2.0.0-SNAPSHOT; \
snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \
releaseUrls=https://repo1.maven.org/maven2/
A new repository plugin, aQute.bnd.repository.p2.provider.P2Repository, has been added so that Eclipse p2 repositories can be used. For example:
-plugin.orbit-neon: aQute.bnd.repository.p2.provider.P2Repository; \
name = "Orbit (Neon)"; \
url = "http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository/"
A new bnd-export-maven-plugin Maven plugin is added which can export bndrun files. See the README for information on the plugin.
- A download progress plugin has been added to log
Downloadmessages when downloading files from repositories. - Exception reporting was improved to provide more information when an exception occurs. The exception will be logged to SLF4J at the DEBUG level, the exception type will be added to the Processor in addition to the exception message and InvocationTargetExceptions will be unwrapped before being added to the Processor.
- Added
-runprovidedcapabiltiesinstruction. These capabilities are added to the resolve system context but are not added the theorg.osgi.framework.system.capabilities.extrasystem property for the runtime. - The
${env}macro has been enhanced to allow the specification of a default value if the specified environment variable is not set. - The instruction
-dsannotations-options: norequirementscan be used to disable requirements generation for DS components. The instruction-dsannotations-options: nocapabilitiescan be used to disable capabilities generation for DS components.
- Bnd 4.0, planned for Spring 2017, will move to Java 8 as the base runtime.
- The Bnd DS, metatype and versioning annotations are deprecated and support for them will be removed in Bnd 4.0. Please make plans to migrate to the OSGi Release 6 specified annotations which now offer more features than the bnd annotations.
- The
OSGiRepositoryreplaces theaQute.bnd.deployer.repository.FixedIndexReporepository plugin which will be deprecated in the future. Please migrate to theOSGiRepositoryrepository plugin. - The
MavenBndRepositoryreplaces theaQute.bnd.deployer.repository.aether.AetherRepositoryrepository plugin which is now deprecated. Please migrate to theMavenBndRepositoryrepository plugin. - The
biz.aQute.junitbundle has updated to use Java 6 as the compile target. It was Java 5 in the Bnd 3.2 release.
- A comment line in a
bndfile ending in\is incorrectly continued onto the next line. - In Gradle 3.4, Gradle will remove source set output directories when up upgrade the version of Gradle used to build or if your
.gradlefolder is remove such as doinggit clean -dfxto make a clean build. If you use the Workspace build and have a project with no java source code, then thejartask can fail because the source output folder created by Bnd during Gradle project evaluation has been deleted by Gradle before thejartask executes. The Bnd code called by thejartask assumes the source output folder created earlier still exists. This issue has been fixed for Bnd 3.4. To workaround this issue, add the following to yourbuild.gradlefor thejartask:
jar {
doFirst {
project.mkdir(compileJava.destinationDir)
}
}