diff --git a/bin/templates/cordova/lib/build.js b/bin/templates/cordova/lib/build.js index 233c12bf..89556fef 100644 --- a/bin/templates/cordova/lib/build.js +++ b/bin/templates/cordova/lib/build.js @@ -230,6 +230,13 @@ var builders = { var distributionUrl = 'distributionUrl=http\\://services.gradle.org/distributions/gradle-1.12-all.zip'; var gradleWrapperPropertiesPath = path.join(projectPath, 'gradle', 'wrapper', 'gradle-wrapper.properties'); shell.sed('-i', distributionUrlRegex, distributionUrl, gradleWrapperPropertiesPath); + + // Update the version of build.gradle in each dependent library. + var pluginBuildGradle = path.join(projectPath, 'cordova', 'lib', 'plugin-build.gradle'); + var subProjects = extractSubProjectPaths(); + for (var i = 0; i < subProjects.length; ++i) { + shell.cp('-f', pluginBuildGradle, path.join(ROOT, subProjects[i], 'build.gradle')); + } }); }, diff --git a/bin/templates/cordova/lib/plugin-build.gradle b/bin/templates/cordova/lib/plugin-build.gradle new file mode 100644 index 00000000..bf706c4c --- /dev/null +++ b/bin/templates/cordova/lib/plugin-build.gradle @@ -0,0 +1,63 @@ +/* Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, 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. +*/ + +// GENERATED FILE! DO NOT EDIT! + +buildscript { + repositories { + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:0.12.+' + } +} + +apply plugin: 'android-library' + +dependencies { + compile fileTree(dir: 'libs', include: '*.jar') +} + +android { + compileSdkVersion cordova.cordovaSdkVersion + buildToolsVersion cordova.cordovaBuildToolsVersion + publishNonDefault true + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + jniLibs.srcDirs = ['libs'] + } + } +} + +if (file('build-extras.gradle').exists()) { + apply from: 'build-extras.gradle' +} diff --git a/bin/templates/project/build.gradle b/bin/templates/project/build.gradle index 6de8c547..41984fa7 100644 --- a/bin/templates/project/build.gradle +++ b/bin/templates/project/build.gradle @@ -34,15 +34,12 @@ buildscript { } } -ext.multiarch=false - -dependencies { - compile fileTree(dir: 'libs', include: '*.jar') - for (subproject in getProjectList()) { - compile project(subproject) - } +task wrapper(type: Wrapper) { + gradleVersion = '1.12' } +ext.multiarch=false + android { sourceSets { main { @@ -112,10 +109,16 @@ android { } } -task wrapper(type: Wrapper) { - gradleVersion = '1.12' +dependencies { + compile fileTree(dir: 'libs', include: '*.jar') + // https://code.google.com/p/android/issues/detail?id=52962 + for (subproject in getProjectList()) { + releaseCompile project(path: subproject, configuration: 'release') + debugCompile project(path: subproject, configuration: 'debug') + } } + def promptForPassword(msg) { if (System.console() == null) { def ret = null diff --git a/framework/build.gradle b/framework/build.gradle index a0fb2d23..b9e9cdf7 100644 --- a/framework/build.gradle +++ b/framework/build.gradle @@ -1,20 +1,19 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at +/* Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, 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. + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, 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. */ @@ -29,9 +28,11 @@ buildscript { // It can affect things like where the .apk is generated. // It also dictates what the minimum android build-tools version // that you need (Set in bin/templates/project/cordova.gradle). - // Be sure to also update the value in: - // (1) bin/templates/project/build.gradle, and - // (2) the distribution URL in bin/templates/cordova/lib/build.js. + // Make sure the value is the same in all locations: + // * framework/build.gradle + // * bin/templates/project/cordova.gradle + // * bin/templates/cordova/lib/plugin-build.gradle + // * distributionUrl within bin/templates/cordova/lib/build.js. classpath 'com.android.tools.build:gradle:0.12.+' } } @@ -41,6 +42,7 @@ apply plugin: 'android-library' android { compileSdkVersion cordova.cordovaSdkVersion buildToolsVersion cordova.cordovaBuildToolsVersion + publishNonDefault true compileOptions { sourceCompatibility JavaVersion.VERSION_1_7