Skip to content
This repository has been archived by the owner on Dec 9, 2018. It is now read-only.

Changes in 2.3.0

Ferry Huberts edited this page May 9, 2014 · 8 revisions

Since 2.2.2.REL

Highlights

Gradle

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/

Project Layouts

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!

Notes

  • 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.

New

  • 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)

Fixes

  • 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)

Misc

  • The Ant headless build template files will now use the build.ant.properties file instead of the build.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