Skip to content

Commit 7d82dc6

Browse files
chore: enable per-module versioning by override (#1197)
1 parent 0144292 commit 7d82dc6

File tree

4 files changed

+28
-23
lines changed

4 files changed

+28
-23
lines changed

build.gradle

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,14 @@ subprojects { project ->
129129
}
130130

131131
private void configureAndroidLibrary(Project project) {
132+
project.ext.VERSION_NAME = project.hasProperty('VERSION_NAME') ?
133+
project.findProperty('VERSION_NAME') :
134+
rootProject.findProperty('VERSION_NAME')
135+
136+
project.ext.VERSION_CODE = project.hasProperty('VERSION_CODE') ?
137+
project.findProperty('VERSION_CODE').toInteger() :
138+
rootProject.findProperty('VERSION_CODE').toInteger()
139+
132140
project.android {
133141
buildToolsVersion rootProject.ext.buildToolsVersion
134142
compileSdkVersion rootProject.ext.compileSdkVersion
@@ -137,8 +145,8 @@ private void configureAndroidLibrary(Project project) {
137145
multiDexEnabled true
138146
minSdkVersion rootProject.ext.minSdkVersion
139147
targetSdkVersion rootProject.ext.targetSdkVersion
140-
versionCode rootProject.findProperty('VERSION_CODE').toInteger()
141-
versionName rootProject.findProperty('VERSION_NAME')
148+
versionName project.ext.VERSION_NAME
149+
versionCode project.ext.VERSION_CODE
142150
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
143151
consumerProguardFiles rootProject.file('configuration/consumer-rules.pro')
144152

configuration/publishing.gradle

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,6 @@ apply plugin: 'maven'
1717
apply plugin: 'signing'
1818
apply plugin: 'maven-publish'
1919

20-
version = VERSION_NAME
21-
group = GROUP
22-
23-
def isReleaseBuild() {
24-
return VERSION_NAME.contains("SNAPSHOT") == false
25-
}
26-
2720
def getReleaseRepositoryUrl() {
2821
return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL :
2922
"https://aws.oss.sonatype.org/service/local/staging/deploy/maven2/"
@@ -42,18 +35,16 @@ def getRepositoryPassword() {
4235
return hasProperty('SONATYPE_NEXUS_PASSWORD') ? SONATYPE_NEXUS_PASSWORD : ""
4336
}
4437

45-
archivesBaseName = POM_ARTIFACT_ID
46-
4738
afterEvaluate { project ->
4839
uploadArchives {
4940
repositories {
5041
if (project.hasProperty('SONATYPE_NEXUS_USERNAME')) {
5142
mavenDeployer {
5243
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
5344

54-
pom.groupId = GROUP
45+
pom.groupId = POM_GROUP
5546
pom.artifactId = POM_ARTIFACT_ID
56-
pom.version = VERSION_NAME
47+
pom.version = project.ext.VERSION_NAME
5748

5849
repository(url: getReleaseRepositoryUrl()) {
5950
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
@@ -95,16 +86,19 @@ afterEvaluate { project ->
9586
}
9687
} else {
9788
mavenInstaller {
98-
pom.groupId = GROUP
89+
pom.groupId = POM_GROUP
9990
pom.artifactId = POM_ARTIFACT_ID
100-
pom.version = VERSION_NAME
91+
pom.version = project.ext.VERSION_NAME
10192
}
10293
}
10394
}
10495
}
10596

10697
signing {
107-
required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
98+
required {
99+
project.ext.VERSION_NAME.contains("SNAPSHOT") == false &&
100+
gradle.taskGraph.hasTask("uploadArchives")
101+
}
108102
sign configurations.archives
109103
}
110104

@@ -114,9 +108,9 @@ afterEvaluate { project ->
114108
repositories.mavenInstaller {
115109
configuration = configurations.archives
116110

117-
pom.groupId = GROUP
111+
pom.groupId = POM_GROUP
118112
pom.artifactId = POM_ARTIFACT_ID
119-
pom.version = VERSION_NAME
113+
pom.version = project.ext.VERSION_NAME
120114

121115
pom.project {
122116
name POM_NAME
@@ -166,9 +160,9 @@ afterEvaluate { project ->
166160
} else {
167161
install {
168162
repositories.mavenInstaller {
169-
pom.groupId = GROUP
163+
pom.groupId = POM_GROUP
170164
pom.artifactId = POM_ARTIFACT_ID
171-
pom.version = VERSION_NAME
165+
pom.version = project.ext.VERSION_NAME
172166

173167
pom.project {
174168
name POM_NAME
@@ -219,9 +213,9 @@ afterEvaluate { project ->
219213
publishing {
220214
publications {
221215
library(MavenPublication) {
222-
groupId GROUP
216+
groupId POM_GROUP
223217
artifactId POM_ARTIFACT_ID
224-
version VERSION_NAME
218+
version project.ext.VERSION_NAME
225219
artifact("${buildDir}/outputs/aar/${artifactId}-release.aar")
226220
pom.withXml {
227221
def dependenciesNode = asNode().appendNode('dependencies')

core-kotlin/gradle.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,6 @@ POM_ARTIFACT_ID=core-kotlin
22
POM_NAME=Amplify Framework for Android - Kotlin facade for Core library
33
POM_DESCRIPTION=Amplify Framework for Android - Kotlin facade for Core library
44
POM_PACKAGING=aar
5+
6+
VERSION_CODE=000100
7+
VERSION_NAME=0.1.0

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ org.gradle.jvmargs=-Xmx4g
1212
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
1313
org.gradle.parallel=true
1414

15-
GROUP=com.amplifyframework
1615
VERSION_NAME=1.16.13
1716
VERSION_CODE=011613
1817

18+
POM_GROUP=com.amplifyframework
1919
POM_URL=https://github.com/aws-amplify/amplify-android
2020
POM_SCM_URL=https://github.com/aws-amplify/amplify-android
2121
POM_SCM_CONNECTION=scm:git:git://github.com/aws-amplify/amplify-android.git

0 commit comments

Comments
 (0)