Changes in 2.3.0
We now fully support using Gradle as the headless build tool.
In fact, we like it so much that it's become the preferred solution over the Ant build, which is now deprecated and will be removed in a future release (unless someone volunteers to maintain them).
The Ant build and the Gradle build live side-by-side and have no interference.
Adding The Gradle Templates To Your Existing Workspace
Create a new cnf
project in a temporary workspace and recursively copy from the root of the temporary workspace into the root of your workspace:
- build.gradle
- BUILDING-GRADLE.md
- settings.gradle
- cnf/build.gradle.properties
- cnf/gradle
Also, in the .gitignore
in the root of your workspace add:
/.gradle/
/reports/
/generated/
During project creation we can now also generate the default Maven layout and setup the bnd.bnd
file in the corresponding way.
And we go even further: you can modify the project layout yourself and we'll generate the correct settings in the bnd.bnd
file!
- Gradle is now supported by bndtools. In fact, it's the preferred headless build solution.
- The Ant headless build solution is deprecated and will be removed in a future release.
- The ACE plugins were removed since they were deprecated by their maintainers.
- We added JUnit 4 support for regular (non-integration) tests to the project templates. Integration tests are restricted to JUnit 3 until we find the time and inspiration to update our JUnit runner (patches welcome!). If you're creating a new project in an existing workspace (with an existing cnf) then you might want to add the JUnit and Hamcrest-Core jars to your buildrepo, or re-create your cnf.
- Add JUnit 4 support for regular (non-integration) JUnit tests to the templates (Ferry Huberts)
- Set the bundle version to '0.0.0.${tstamp}' for all new projects (Ferry Huberts)
- Fix #723: release tool: add 'Select All' and 'Unselect All' buttons (PK Soreide)
- Fix #765: release tool: ui need to indicate when no version adjustment is needed (PK Soreide)
- Fix #787: templates should use project name as package name for source code (Ferry Huberts)
- Fix #789: templates: add javadoc target to ant build files (Ferry Huberts)
- Add Gradle support (Ferry Huberts)
- Fix #664: release: always uses the 'Release' repo (PK Soreide)
- Fix #667: release: NPE if trying to release build.bnd (PK Soreide)
- Fix #731: Creating a new project sometimes causes an Invalid thread access (Marcel Offermans)
- Fix #749: Include files not properly refreshing includees (PK Soreide)
- Fix #766: Release tool: doesn't respect bnd -diffignore instruction (PK Söreide)
- Fix #769: index.xml.gz is not a gzip file (not compressed) (Ferry Huberts)
- Fix #773: Release UI split pane divider (PK Söreide)
- Fix #779: JarEditor fails with URI scheme is not "file" due to custom URI handler from Jazz/RTC (Peter Kirschner)
- Fix #782: Ant clean deletes portions of bndtools project directories (Ferry Huberts)
- Fix #800: Generate Maven layout settings from new Bnd project wizard (Ferry Huberts)
- Fix #816: Ant build does not work, tasks missing (Marcel Offermans)
- Fix #819: Error persisting package model for project: ... (Ferry Huberts)
- Fix #822: Quickfix on bundle version removes qualifier (PK Soreide)
- Fix #825: JarViewer: hex view must use a fixed width font (Ferry Huberts)
- Fix #829: Release: checking 'show all' hides panels when no bundle selected (PK Soreide)
- Fix #832 Failed to generated .resolved file (Neil Bartlett)
- Fixes and minor enhancements to the release functionality (PK Soreide)
- Remove exact duplicates from RunBundles after resolution wizard finishes (Carter Smithhart)
- Improved JUnit test case selections (Peter Kriens)
- Enable the test folder for the API template (Ferry Huberts)
- Various minor fixes to the Ant templates (Ferry Huberts)
- Various fixes for findbugs warnings (Ferry Huberts)
- Various fixes and improvements to the release tooling (PK Söreide)
- The Ant headless build template files will now use the
build.ant.properties
file instead of thebuild.properties
file. - The old gradle plugin was removed.
- Bndtools itself is now built with Gradle, and can no longer be built with Ant
- The internal architecture for headless build plugins and version control ignores was refactored to use Declarative Services. This makes it much easier to add your own plugins.
- If you encounter build problems like
Using local cache;
downloading https://github.com/bndtools/bundle-hub/raw/master/index.xml.gz failed
(javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name).
Then you might want to add to your eclipse.ini
:
-Djsse.enableSNIExtension=false
And/Or build like
gradle -Djsse.enableSNIExtension=false build dist