FELIX-5055: Upgrade DM to BndTools 3.0.0
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1705158 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/build.gradle b/dependencymanager/build.gradle
index db485ef..4465945 100644
--- a/dependencymanager/build.gradle
+++ b/dependencymanager/build.gradle
@@ -20,16 +20,30 @@
/*
* Master Gradle build script
*
- * Depends on bndWorkspace and bndURI properties set by settings.gradle.
+ * Depends on bndPlugin property set by settings.gradle.
+ * and bnd_* values from gradle.properties.
*/
-/* Add bnd as a script dependency */
+import aQute.bnd.build.Workspace
+import aQute.bnd.osgi.Constants
+
+/* Add bnd gradle plugin as a script dependency */
buildscript {
dependencies {
- classpath files(bndURI)
+ classpath bndPlugin
}
}
+/* Initialize the bnd workspace */
+Workspace.setDriver(Constants.BNDDRIVER_GRADLE)
+Workspace.addGestalt(Constants.GESTALT_BATCH, null)
+ext.bndWorkspace = new Workspace(rootDir, bnd_cnf)
+if (bndWorkspace == null) {
+ throw new GradleException("Unable to load workspace ${rootDir}/${bnd_cnf}")
+}
+
+ext.cnf = rootProject.project(bnd_cnf)
+
/* Configure the subprojects */
subprojects {
def bndProject = bndWorkspace.getProject(name)
@@ -37,4 +51,3 @@
plugins.apply 'biz.aQute.bnd'
}
}
-
diff --git a/dependencymanager/cnf/buildrepo/biz.aQute.junit/biz.aQute.junit-latest.jar b/dependencymanager/cnf/buildrepo/biz.aQute.junit/biz.aQute.junit-latest.jar
index 3d0d214..bda8fe4 100644
--- a/dependencymanager/cnf/buildrepo/biz.aQute.junit/biz.aQute.junit-latest.jar
+++ b/dependencymanager/cnf/buildrepo/biz.aQute.junit/biz.aQute.junit-latest.jar
Binary files differ
diff --git a/dependencymanager/cnf/buildrepo/biz.aQute.launcher/biz.aQute.launcher-latest.jar b/dependencymanager/cnf/buildrepo/biz.aQute.launcher/biz.aQute.launcher-latest.jar
index efc751c..0e9c4a3 100644
--- a/dependencymanager/cnf/buildrepo/biz.aQute.launcher/biz.aQute.launcher-latest.jar
+++ b/dependencymanager/cnf/buildrepo/biz.aQute.launcher/biz.aQute.launcher-latest.jar
Binary files differ
diff --git a/dependencymanager/cnf/ext/junit.bnd b/dependencymanager/cnf/ext/junit.bnd
index 1a42d1a..f902dcf 100644
--- a/dependencymanager/cnf/ext/junit.bnd
+++ b/dependencymanager/cnf/ext/junit.bnd
@@ -17,3 +17,5 @@
junit:\
junit;version=latest,\
hamcrest-core;version=latest
+
+test-reports: test-results
diff --git a/dependencymanager/cnf/ext/pluginpaths.bnd b/dependencymanager/cnf/ext/pluginpaths.bnd
index 9c12f2e..228ed16 100644
--- a/dependencymanager/cnf/ext/pluginpaths.bnd
+++ b/dependencymanager/cnf/ext/pluginpaths.bnd
@@ -13,6 +13,4 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-#
--pluginpath:\
- ${plugin-dir}/biz.aQute.repository/biz.aQute.repository.jar
\ No newline at end of file
+#
\ No newline at end of file
diff --git a/dependencymanager/cnf/gradle/biz.aQute.bnd.gradle.jar b/dependencymanager/cnf/gradle/biz.aQute.bnd.gradle.jar
deleted file mode 100644
index 0a25453..0000000
--- a/dependencymanager/cnf/gradle/biz.aQute.bnd.gradle.jar
+++ /dev/null
Binary files differ
diff --git a/dependencymanager/cnf/plugins/biz.aQute.repository/biz.aQute.repository.jar b/dependencymanager/cnf/plugins/biz.aQute.repository/biz.aQute.repository.jar
index 1b6e664..abae58b 100644
--- a/dependencymanager/cnf/plugins/biz.aQute.repository/biz.aQute.repository.jar
+++ b/dependencymanager/cnf/plugins/biz.aQute.repository/biz.aQute.repository.jar
Binary files differ
diff --git a/dependencymanager/gradle.properties b/dependencymanager/gradle.properties
index d0b7672..fe4df56 100644
--- a/dependencymanager/gradle.properties
+++ b/dependencymanager/gradle.properties
@@ -33,8 +33,8 @@
# cnf project name
bnd_cnf=cnf
-# bnd_jar can also be a URL.
-bnd_jar=cnf/gradle/biz.aQute.bnd.gradle.jar
+# bnd_plugin is the dependency declaration for the bnd gradle plugin
+bnd_plugin=biz.aQute.bnd:biz.aQute.bnd.gradle:3.0.0
# bnd_build can be set to the name of a "master" project whose dependencies will seed the set of projects to build.
bnd_build=
diff --git a/dependencymanager/org.apache.felix.dependencymanager.benchmark/index.bndrun b/dependencymanager/org.apache.felix.dependencymanager.benchmark/index.bndrun
index 128a69b..177916c 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.benchmark/index.bndrun
+++ b/dependencymanager/org.apache.felix.dependencymanager.benchmark/index.bndrun
@@ -23,18 +23,18 @@
org.apache.felix.gogo.shell;version=0.10.0,\
org.apache.felix.gogo.runtime;version=0.10.0,\
org.apache.felix.configadmin;version=1.8.0,\
- org.apache.felix.dependencymanager.benchmark.scenario,\
- org.apache.felix.dependencymanager.benchmark.dependencymanager,\
- org.apache.felix.dependencymanager.benchmark.dependencymanager.parallel,\
- org.apache.felix.dependencymanager.benchmark.controller
+ org.apache.felix.dependencymanager.benchmark.scenario;version=latest,\
+ org.apache.felix.dependencymanager.benchmark.dependencymanager;version=latest,\
+ org.apache.felix.dependencymanager.benchmark.dependencymanager.parallel;version=latest,\
+ org.apache.felix.dependencymanager.benchmark.controller;version=latest
--runfw: org.apache.felix.framework;version='[4.4.0,4.4.0]'
+-runfw: org.apache.felix.framework;version='[5.2.0,5.2.0]'
-runproperties: \
ds.loglevel=warn,\
org.osgi.framework.bootdelegation='sun.*,com.sun.*,org.netbeans.*',\
org.apache.felix.dependencymanager.filterindex='objectClass,id'
-runvm: -server -Xmx1024m -Xms1024m
--runee: JavaSE-1.8
+-runee: JavaSE/compact1-1.9
javac.source: 1.8
javac.target: 1.8
diff --git a/dependencymanager/org.apache.felix.dependencymanager.benchmark/noindex.bndrun b/dependencymanager/org.apache.felix.dependencymanager.benchmark/noindex.bndrun
index 480a954..5e9592f 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.benchmark/noindex.bndrun
+++ b/dependencymanager/org.apache.felix.dependencymanager.benchmark/noindex.bndrun
@@ -23,12 +23,12 @@
org.apache.felix.gogo.shell;version=0.10.0,\
org.apache.felix.gogo.runtime;version=0.10.0,\
org.apache.felix.configadmin;version=1.8.0,\
- org.apache.felix.dependencymanager.benchmark.scenario,\
- org.apache.felix.dependencymanager.benchmark.dependencymanager,\
- org.apache.felix.dependencymanager.benchmark.dependencymanager.parallel,\
- org.apache.felix.dependencymanager.benchmark.controller
+ org.apache.felix.dependencymanager.benchmark.scenario;version=latest,\
+ org.apache.felix.dependencymanager.benchmark.dependencymanager;version=latest,\
+ org.apache.felix.dependencymanager.benchmark.dependencymanager.parallel;version=latest,\
+ org.apache.felix.dependencymanager.benchmark.controller;version=latest
--runfw: org.apache.felix.framework;version='[4.4.0,4.4.0]'
+-runfw: org.apache.felix.framework;version='[5.2.0,5.2.0]'
-runproperties: \
ds.loglevel=warn,\
diff --git a/dependencymanager/org.apache.felix.dependencymanager.itest/bnd.bnd b/dependencymanager/org.apache.felix.dependencymanager.itest/bnd.bnd
index 5ab27e1..c5c968c 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.itest/bnd.bnd
+++ b/dependencymanager/org.apache.felix.dependencymanager.itest/bnd.bnd
@@ -14,13 +14,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
--runbundles: \
+-runbundles: \
org.apache.felix.metatype;version=1.0.4,\
org.apache.felix.gogo.runtime;version=0.10.0,\
org.apache.felix.log;version=1.0.1,\
org.apache.felix.configadmin;version=1.8.6,\
org.apache.felix.dependencymanager;version=latest,\
- org.apache.felix.dependencymanager.shell;version=latest
+ org.apache.felix.dependencymanager.shell;version=latest,\
+ biz.aQute.junit;version=3.0.0
-runee: JavaSE-1.7
-runvm: -ea
-runfw: org.apache.felix.framework
diff --git a/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd b/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd
index 38e5cce..69ef111 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd
+++ b/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd
@@ -29,7 +29,8 @@
org.apache.felix.log;version=1.0.1,\
org.apache.felix.dependencymanager;version=latest,\
org.apache.felix.dependencymanager.runtime;version=latest,\
- org.apache.felix.dependencymanager.shell;version=latest
+ org.apache.felix.dependencymanager.shell;version=latest,\
+ biz.aQute.junit;version=3.0.0
-runee: JavaSE-1.7
-runfw: org.apache.felix.framework;version='[4.4.0,4.4.0]'
-runsystempackages: \
diff --git a/dependencymanager/settings.gradle b/dependencymanager/settings.gradle
index 69007e8..90f6d5d 100644
--- a/dependencymanager/settings.gradle
+++ b/dependencymanager/settings.gradle
@@ -24,37 +24,27 @@
*/
import aQute.bnd.build.Workspace
+import aQute.bnd.osgi.Constants
-/* Add bnd as a script dependency */
+/* Add bnd gradle plugin as a script dependency */
buildscript {
+ repositories {
+ jcenter()
+ }
dependencies {
- def bndURI = rootDir.toURI().resolve(bnd_jar)
- if (bndURI.scheme != 'file') {
- /* If not a local file, copy to a local file in cnf/cache */
- def cnfCache = mkdir("${rootDir}/${bnd_cnf}/cache")
- def bndJarFile = new File(cnfCache, 'biz.aQute.bnd.gradle.jar')
- if (!bndJarFile.exists()) {
- println "Downloading ${bndURI} to ${bndJarFile} ..."
- bndURI.toURL().withInputStream { is ->
- bndJarFile.withOutputStream { os ->
- def bos = new BufferedOutputStream( os )
- bos << is
- }
- }
- }
- bndURI = bndJarFile.toURI()
- }
- classpath files(bndURI)
-
- /* After the rootProject is created, pass URI to projects */
- gradle.rootProject { rootProject ->
- rootProject.ext.bndURI = bndURI
- }
+ classpath bnd_plugin
+ }
+ /* Pass bnd gradle plugin classpath to rootProject once created */
+ def bndPlugin = files(configurations.classpath.files)
+ gradle.rootProject { rootProject ->
+ rootProject.ext.bndPlugin = bndPlugin
}
}
/* Initialize the bnd workspace */
-def workspace = Workspace.getWorkspace(rootDir, bnd_cnf)
+Workspace.setDriver(Constants.BNDDRIVER_GRADLE)
+Workspace.addGestalt(Constants.GESTALT_BATCH, null)
+def workspace = new Workspace(rootDir, bnd_cnf)
if (workspace == null) {
throw new GradleException("Unable to load workspace ${rootDir}/${bnd_cnf}")
}
@@ -104,8 +94,8 @@
if (! projectName.equals("org.apache.felix.dependencymanager.benchmark")) {
include projectName
def project = getBndProject(workspace, projectName)
- project?.dependson.each {
- include it.name
+ project?.getDependson()*.getName().each {
+ include it
}
}
}
@@ -123,10 +113,10 @@
project.getInfo(workspace, "${rootDir} :")
def errorCount = 0
- project.warnings.each {
+ project.getWarnings().each {
println "Warning: ${it}"
}
- project.errors.each {
+ project.getErrors().each {
println "Error : ${it}"
errorCount++
}
@@ -141,9 +131,3 @@
}
throw new GradleException("Project ${rootDir}/${projectName} is not a valid bnd project")
}
-
-/* After the rootProject is created, set up some properties. */
-gradle.rootProject { rootProject ->
- rootProject.ext.bndWorkspace = workspace
- rootProject.ext.cnf = rootProject.project(bnd_cnf)
-}