gradle: Use new Workspace.setDriver method to set bnd driver

This is instead of directly setting the -bnd-driver workspace property.

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
gradle: Add gestalt support

The gradle plugin will set the batch gestalt. One can also set the
bnd_gestalt property of the root project, either through gradle.properties
in the workspace root or via the gradle -P command line option. The value
of the bnd_gestalt property is a comma separated list of gestalt names.

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
Merge pull request #582 from bjhargrave/gradle-setdriver

gradle: Update to use new driver API in Workspace and add gestalt support
gradle: print project name before echo task output

Fixes #581

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
Merge pull request #583 from bjhargrave/issue581

gradle: print project name before echo task output
bnd: Add missing line continuation char to Bundle-Description

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
gradle: Trim default value if string

For consistency with the bndUnprocessed method, we also trim the supplied
defaultValue, if it is a string.

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
gradle: Remove default values for properties with bnd defined defaults

Fixes #579

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
Merge pull request #584 from bjhargrave/issue579

gradle: Remove default values for properties with bnd defined defaults
gradle: Remove unneeded import from init.gradle script

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
Merge pull request #585 from bjhargrave/remove-import

gradle: Remove unneeded import from init.gradle script
gradle: Use fixed file name for downloaded bnd jar

The URI provided by the bnd_jar property may not have a valid file name
as the last component of the URI's path. This is true for JPM URLs.

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
Merge pull request #587 from bjhargrave/bndjarfile

gradle: Use fixed file name for downloaded bnd jar
gradle: Use groovy spread operator

Replace .collect{it.foo} with *.foo.

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
gradle: Tweak blank line locations for echo/bndproperties

This groups the task's name, output by gradle, with the task's output.

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
Merge pull request #588 from bjhargrave/gradle-fixes

Gradle fixes
gradle: Add cleanNeeded task

The cleanNeeded task will clean the project and all projects that it
depends upon.

Fixes https://github.com/bndtools/bnd/issues/589

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
gradle: Tweak description of releaseNeeded task

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>
Merge pull request #590 from bjhargrave/cleanNeeded

gradle: Add cleanNeeded task
bnd: Delay Run Dependencies

Set the default to delay run dependencies. This is important for gradle
builds. The init.gradle script can be simplified to avoid having to set
this for each project before processing the projects.

Two test cases needed to set delay run dependencies to false for the
specific circularity issue they were testing.

Fixes https://github.com/bndtools/bnd/issues/513

Signed-off-by: BJ Hargrave <bj@bjhargrave.com>