blob: 4465945748cbef441cb101f9c5accdd836aba942 [file] [log] [blame]
Pierre De Rop3a00a212015-03-01 09:27:46 +00001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20/*
21 * Master Gradle build script
22 *
Pierre De Rop09d1ff42015-09-24 21:26:25 +000023 * Depends on bndPlugin property set by settings.gradle.
24 * and bnd_* values from gradle.properties.
Pierre De Rop3a00a212015-03-01 09:27:46 +000025 */
26
Pierre De Rop09d1ff42015-09-24 21:26:25 +000027import aQute.bnd.build.Workspace
28import aQute.bnd.osgi.Constants
29
30/* Add bnd gradle plugin as a script dependency */
Pierre De Rop3a00a212015-03-01 09:27:46 +000031buildscript {
32 dependencies {
Pierre De Rop09d1ff42015-09-24 21:26:25 +000033 classpath bndPlugin
Pierre De Rop3a00a212015-03-01 09:27:46 +000034 }
35}
36
Pierre De Rop09d1ff42015-09-24 21:26:25 +000037/* Initialize the bnd workspace */
38Workspace.setDriver(Constants.BNDDRIVER_GRADLE)
39Workspace.addGestalt(Constants.GESTALT_BATCH, null)
40ext.bndWorkspace = new Workspace(rootDir, bnd_cnf)
41if (bndWorkspace == null) {
42 throw new GradleException("Unable to load workspace ${rootDir}/${bnd_cnf}")
43}
44
45ext.cnf = rootProject.project(bnd_cnf)
46
Pierre De Rop3a00a212015-03-01 09:27:46 +000047/* Configure the subprojects */
48subprojects {
49 def bndProject = bndWorkspace.getProject(name)
50 if (bndProject != null) {
51 plugins.apply 'biz.aQute.bnd'
52 }
53}