diff --git a/android/build.gradle b/android/build.gradle index ac579140..919fbae3 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,29 +1,14 @@ -def safeExtGet(prop, fallback) { - rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback +plugins { + id "com.android.library" + id "maven-publish" } -buildscript { - repositories { - google() - jcenter() - } - dependencies { - classpath rootProject.ext.has('gradleBuildTools') ? rootProject.ext.get('gradleBuildTools') : 'com.android.tools.build:gradle:3.5.2' - classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' - } -} - -apply plugin: 'com.android.library' -apply plugin: 'com.github.dcendents.android-maven' - android { - compileSdkVersion safeExtGet('compileSdkVersion', 28) - buildToolsVersion safeExtGet('buildToolsVersion', '28.0.3') + compileSdkVersion 30 + defaultConfig { - minSdkVersion safeExtGet('minSdkVersion', 16) - targetSdkVersion safeExtGet('targetSdkVersion', 28) - versionCode 1 - versionName "1.0" + minSdkVersion 21 + targetSdkVersion 30 } lintOptions { abortOnError false @@ -31,21 +16,17 @@ android { } repositories { - mavenLocal() - maven { - // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm - url "$rootDir/../node_modules/react-native/android" - } - maven { - // Android JSC is installed from npm - url "$rootDir/../node_modules/jsc-android/dist" + if (project == rootProject) { + maven { url "https://a8c-libs.s3.amazonaws.com/android/react-native-mirror" } + } else { + // When building as a dep, the RN's maven repo is locally in the node_modules folder + def nodeModulesPath = "${project.buildDir}/../../node_modules/" + maven { url "${nodeModulesPath}/react-native/android" } } + google() jcenter() mavenCentral() - maven { - url "https://a8c-libs.s3.amazonaws.com/android/react-native-mirror" - } } dependencies { @@ -57,3 +38,15 @@ dependencies { api "com.facebook.react:react-native:+" } } + +afterEvaluate { + publishing { + publications { + release(MavenPublication) { + from components.release + groupId = 'com.github.wordpress-mobile' + artifactId = 'react-native-linear-gradient' + } + } + } +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 00000000..e2bb741b --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,7 @@ +org.gradle.jvmargs=-Xmx1536m -XX:+HeapDumpOnOutOfMemoryError +org.gradle.parallel=true +org.gradle.configureondemand=true +org.gradle.caching=true + +android.useAndroidX=true +android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 94920145..af7be50b 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts new file mode 100644 index 00000000..d1f51e37 --- /dev/null +++ b/android/settings.gradle.kts @@ -0,0 +1,9 @@ +pluginManagement { + plugins { + id("com.android.library") version "4.2.2" + } + repositories { + gradlePluginPortal() + google() + } +}