From 3c8069d87ed2a1f0e04abe05a173629fa3252a58 Mon Sep 17 00:00:00 2001 From: Darryl Pogue Date: Wed, 26 Sep 2018 00:29:31 -0700 Subject: [PATCH] Updates for latest gradle/build tools Ref GH-504. --- .travis.yml | 2 +- appveyor.yml | 4 +- .../cordova/lib/builders/ProjectBuilder.js | 2 +- bin/templates/cordova/lib/plugin-build.gradle | 7 +--- bin/templates/project/app/build.gradle | 41 ++++++++++--------- bin/templates/project/build.gradle | 20 ++++----- bin/templates/project/legacy/build.gradle | 2 +- framework/build.gradle | 19 ++++----- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../android_studio_project/app/build.gradle | 10 ++--- test/app/build.gradle | 8 ++-- test/build.gradle | 5 ++- test/wrapper.gradle | 2 +- 13 files changed, 60 insertions(+), 64 deletions(-) diff --git a/.travis.yml b/.travis.yml index dfcedd7eb5..dc4e7aed7c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ jdk: android: components: - - build-tools-26.0.2 + - build-tools-28.0.3 env: global: # Keep gradle from crapping all over the log diff --git a/appveyor.yml b/appveyor.yml index 700bc85163..f466697c02 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,7 +5,7 @@ environment: GRADLE_OPTS: -Dorg.gradle.daemon=false # URL for SDK Tools, Revision 26.1.1 (September 2017) - SDK_TOOLS_URL: https://dl.google.com/android/repository/sdk-tools-windows-3859397.zip + SDK_TOOLS_URL: https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip matrix: - nodejs_version: 6 @@ -20,7 +20,7 @@ install: - set PATH=%PATH%;"%ANDROID_HOME%\tools\bin" - yes 2> nul | sdkmanager --licenses > nul - - sdkmanager "build-tools;26.0.2" + - sdkmanager "build-tools;28.0.3" - choco install gradle --version 3.4.1 diff --git a/bin/templates/cordova/lib/builders/ProjectBuilder.js b/bin/templates/cordova/lib/builders/ProjectBuilder.js index 62b75746f9..4e61afb221 100644 --- a/bin/templates/cordova/lib/builders/ProjectBuilder.js +++ b/bin/templates/cordova/lib/builders/ProjectBuilder.js @@ -219,7 +219,7 @@ class ProjectBuilder { // If it's not set, do nothing, assuming that we're using a future version of gradle that we don't want to mess with. // For some reason, using ^ and $ don't work. This does the job, though. var distributionUrlRegex = /distributionUrl.*zip/; - var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-4.4-all.zip'; + var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-4.6-all.zip'; var gradleWrapperPropertiesPath = path.join(self.root, 'gradle', 'wrapper', 'gradle-wrapper.properties'); shell.chmod('u+w', gradleWrapperPropertiesPath); shell.sed('-i', distributionUrlRegex, 'distributionUrl=' + distributionUrl, gradleWrapperPropertiesPath); diff --git a/bin/templates/cordova/lib/plugin-build.gradle b/bin/templates/cordova/lib/plugin-build.gradle index fdef1f73fa..032b870e13 100644 --- a/bin/templates/cordova/lib/plugin-build.gradle +++ b/bin/templates/cordova/lib/plugin-build.gradle @@ -20,9 +20,7 @@ buildscript { repositories { - maven { - url "https://maven.google.com" - } + google() jcenter() } @@ -38,7 +36,7 @@ buildscript { apply plugin: 'com.android.library' dependencies { - compile fileTree(dir: 'libs', include: '*.jar') + implementation fileTree(dir: 'libs', include: '*.jar') debugCompile project(path: ":CordovaLib", configuration: "debug") releaseCompile project(path: ":CordovaLib", configuration: "release") } @@ -46,7 +44,6 @@ dependencies { android { compileSdkVersion cdvCompileSdkVersion buildToolsVersion cdvBuildToolsVersion - publishNonDefault true compileOptions { sourceCompatibility JavaVersion.VERSION_1_6 diff --git a/bin/templates/project/app/build.gradle b/bin/templates/project/app/build.gradle index 24006ea0d6..cce15c9f34 100644 --- a/bin/templates/project/app/build.gradle +++ b/bin/templates/project/app/build.gradle @@ -22,33 +22,32 @@ apply plugin: 'com.android.application' buildscript { repositories { mavenCentral() - maven { - url "https://maven.google.com" - } + google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.0' + classpath 'com.android.tools.build:gradle:3.2.0' } } // Allow plugins to declare Maven dependencies via build-extras.gradle. allprojects { repositories { - mavenCentral(); + mavenCentral() jcenter() } } task wrapper(type: Wrapper) { - gradleVersion = '4.4.0' + gradleVersion = '4.6.0' } // Configuration properties. Set these via environment variables, build-extras.gradle, or gradle.properties. // Refer to: http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html ext { apply from: '../CordovaLib/cordova.gradle' + // The value for android.compileSdkVersion. if (!project.hasProperty('cdvCompileSdkVersion')) { cdvCompileSdkVersion = null; @@ -140,24 +139,25 @@ cdvBuildRelease.dependsOn { return computeBuildTargetName(false) } -task cdvPrintProps << { - println('cdvCompileSdkVersion=' + cdvCompileSdkVersion) - println('cdvBuildToolsVersion=' + cdvBuildToolsVersion) - println('cdvVersionCode=' + cdvVersionCode) - println('cdvVersionCodeForceAbiDigit=' + cdvVersionCodeForceAbiDigit) - println('cdvMinSdkVersion=' + cdvMinSdkVersion) - println('cdvBuildMultipleApks=' + cdvBuildMultipleApks) - println('cdvReleaseSigningPropertiesFile=' + cdvReleaseSigningPropertiesFile) - println('cdvDebugSigningPropertiesFile=' + cdvDebugSigningPropertiesFile) - println('cdvBuildArch=' + cdvBuildArch) - println('computedVersionCode=' + android.defaultConfig.versionCode) - android.productFlavors.each { flavor -> - println('computed' + flavor.name.capitalize() + 'VersionCode=' + flavor.versionCode) +task cdvPrintProps { + doLast { + println('cdvCompileSdkVersion=' + cdvCompileSdkVersion) + println('cdvBuildToolsVersion=' + cdvBuildToolsVersion) + println('cdvVersionCode=' + cdvVersionCode) + println('cdvVersionCodeForceAbiDigit=' + cdvVersionCodeForceAbiDigit) + println('cdvMinSdkVersion=' + cdvMinSdkVersion) + println('cdvBuildMultipleApks=' + cdvBuildMultipleApks) + println('cdvReleaseSigningPropertiesFile=' + cdvReleaseSigningPropertiesFile) + println('cdvDebugSigningPropertiesFile=' + cdvDebugSigningPropertiesFile) + println('cdvBuildArch=' + cdvBuildArch) + println('computedVersionCode=' + android.defaultConfig.versionCode) + android.productFlavors.each { flavor -> + println('computed' + flavor.name.capitalize() + 'VersionCode=' + flavor.versionCode) + } } } android { - defaultConfig { versionCode cdvVersionCode ?: new BigInteger("" + privateHelpers.extractIntFromManifest("versionCode")) applicationId privateHelpers.extractStringFromManifest("package") @@ -244,6 +244,7 @@ android { } addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release) } + if (cdvDebugSigningPropertiesFile) { addSigningProps(cdvDebugSigningPropertiesFile, signingConfigs.debug) } diff --git a/bin/templates/project/build.gradle b/bin/templates/project/build.gradle index 86e30f8f94..fb40bb6602 100644 --- a/bin/templates/project/build.gradle +++ b/bin/templates/project/build.gradle @@ -20,32 +20,30 @@ buildscript { repositories { - maven { - url "https://maven.google.com" - } + google() jcenter() } - dependencies { + dependencies { // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files - classpath 'com.android.tools.build:gradle:3.1.0' + + classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { - maven { - url "https://maven.google.com" - } + google() jcenter() } + //This replaces project.properties w.r.t. build settings project.ext { - defaultBuildToolsVersion="27.0.1" //String + defaultBuildToolsVersion="28.0.3" //String defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4 - defaultTargetSdkVersion=27 //Integer - We ALWAYS target the latest by default - defaultCompileSdkVersion=27 //Integer - We ALWAYS compile with the latest by default + defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default + defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default } } diff --git a/bin/templates/project/legacy/build.gradle b/bin/templates/project/legacy/build.gradle index ef2297194d..2b48a75520 100644 --- a/bin/templates/project/legacy/build.gradle +++ b/bin/templates/project/legacy/build.gradle @@ -245,7 +245,7 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: '*.jar') + implementation fileTree(dir: 'libs', include: '*.jar') // SUB-PROJECT DEPENDENCIES START // SUB-PROJECT DEPENDENCIES END } diff --git a/framework/build.gradle b/framework/build.gradle index de8451d11e..1745f24d83 100644 --- a/framework/build.gradle +++ b/framework/build.gradle @@ -24,17 +24,15 @@ ext { buildscript { repositories { - maven { - url "https://maven.google.com" - } + google() jcenter() } dependencies { // The gradle plugin and the maven plugin have to be updated after each version of Android // studio comes out - classpath 'com.android.tools.build:gradle:3.1.0' - classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0' + classpath 'com.android.tools.build:gradle:3.2.0' + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' } } @@ -49,7 +47,6 @@ version = '7.2.0-dev' android { compileSdkVersion cdvCompileSdkVersion buildToolsVersion cdvBuildToolsVersion - publishNonDefault true compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -96,9 +93,9 @@ install { } } scm { - connection 'https://git-wip-us.apache.org/repos/asf?p=cordova-android.git' - developerConnection 'https://git-wip-us.apache.org/repos/asf?p=cordova-android.git' - url 'https://git-wip-us.apache.org/repos/asf?p=cordova-android' + connection 'scm:git:https://github.com/apache/cordova-android.git' + developerConnection 'scm:git:git@github.com:apache/cordova-android.git' + url 'https://github.com/apache/cordova-android' } } @@ -124,9 +121,9 @@ bintray { name = 'cordova-android' userOrg = 'cordova' licenses = ['Apache-2.0'] - vcsUrl = 'https://git-wip-us.apache.org/repos/asf?p=cordova-android.git' + vcsUrl = 'https://github.com/apache/cordova-android' websiteUrl = 'https://cordova.apache.org' - issueTrackerUrl = 'https://issues.apache.org/jira/browse/CB' + issueTrackerUrl = 'https://github.com/apache/cordova-android/issues' publicDownloadNumbers = true licenses = ['Apache-2.0'] labels = ['android', 'cordova', 'phonegap'] diff --git a/framework/gradle/wrapper/gradle-wrapper.properties b/framework/gradle/wrapper/gradle-wrapper.properties index c3a5fdabe6..d4c7ae169e 100644 --- a/framework/gradle/wrapper/gradle-wrapper.properties +++ b/framework/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip diff --git a/spec/fixtures/android_studio_project/app/build.gradle b/spec/fixtures/android_studio_project/app/build.gradle index 5485f065db..c5be1506ec 100644 --- a/spec/fixtures/android_studio_project/app/build.gradle +++ b/spec/fixtures/android_studio_project/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" + compileSdkVersion 28 + buildToolsVersion "28.0.3" defaultConfig { applicationId "com.example.anis.myapplication" minSdkVersion 21 - targetSdkVersion 23 + targetSdkVersion 28 versionCode 1 versionName "1.0" } @@ -20,7 +20,7 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) + implementation fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.4.0' + implementation 'com.android.support:appcompat-v7:23.4.0' } diff --git a/test/app/build.gradle b/test/app/build.gradle index d63d8ff44e..7c43f84728 100644 --- a/test/app/build.gradle +++ b/test/app/build.gradle @@ -19,16 +19,18 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 27 - buildToolsVersion "27.0.1" + compileSdkVersion 28 + buildToolsVersion "28.0.3" + defaultConfig { applicationId "org.apache.cordova.unittests" minSdkVersion 19 - targetSdkVersion 27 + targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } + buildTypes { release { minifyEnabled false diff --git a/test/build.gradle b/test/build.gradle index 1577890add..3687569e61 100644 --- a/test/build.gradle +++ b/test/build.gradle @@ -23,11 +23,12 @@ buildscript { google() jcenter() } - dependencies { - classpath 'com.android.tools.build:gradle:3.0.1' + dependencies { // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files + + classpath 'com.android.tools.build:gradle:3.2.0' } } diff --git a/test/wrapper.gradle b/test/wrapper.gradle index 115149122c..7d2683f86a 100644 --- a/test/wrapper.gradle +++ b/test/wrapper.gradle @@ -1,3 +1,3 @@ wrapper { - gradleVersion = '4.4.1' + gradleVersion = '4.6' }