Skip to content

Commit 91cf608

Browse files
committed
refactor build scripts to support nexus publish plugin
1 parent 4b5b0d7 commit 91cf608

File tree

5 files changed

+109
-207
lines changed

5 files changed

+109
-207
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ allprojects {
8787
maven { url "https://jitpack.io" }
8888
maven { url 'https://repo.gradle.org/gradle/libs-releases' }
8989
flatDir dirs: androidPlatformPath
90-
flatDir dirs: "${rootDir}/core/dist"
90+
flatDir dirs: "${rootDir}/core/build/libs"
9191
}
9292

9393
compileJava {

core/build.gradle

Lines changed: 19 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
44

55
plugins {
66
id 'aar'
7-
id 'maven-publish'
87
}
98

109
dependencies {
@@ -24,57 +23,12 @@ sourceSets {
2423
}
2524
}
2625

27-
task sourcesJar(type: Jar, dependsOn: classes) {
26+
task sourceJar(type: Jar, dependsOn: classes) {
2827
duplicatesStrategy = DuplicatesStrategy.INCLUDE
2928
classifier = "sources"
3029
from sourceSets.main.allSource
3130
}
3231

33-
publishing {
34-
publications {
35-
corePublication(MavenPublication) {
36-
from components.java
37-
artifact sourcesJar
38-
pom {
39-
groupId = "org.p5android"
40-
artifactId = "processing-core"
41-
version = "${modeVersion}"
42-
packaging = "jar"
43-
// description = "Processing Android Core"
44-
// url = "http://www.example.com/project"
45-
licenses {
46-
license {
47-
name = "GNU Lesser General Public License, version 2.1"
48-
url = "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt"
49-
distribution = "repo"
50-
}
51-
}
52-
}
53-
pom.withXml { // Only one dependency is added under dependancies node
54-
asNode().remove(asNode().get("dependencies")) // removing dependencies node
55-
// inserting the dependencies node
56-
def dependenciesNode = asNode().appendNode('dependencies')
57-
// start adding dependency nodes inside dependencies node
58-
def androidLegacyDependancyNode = dependenciesNode.appendNode('dependency')
59-
androidLegacyDependancyNode.appendNode('groupId', 'androidx.legacy')
60-
androidLegacyDependancyNode.appendNode('artifactId', 'legacy-support-v4')
61-
androidLegacyDependancyNode.appendNode('version', "${v4legacyVersion}")
62-
androidLegacyDependancyNode.appendNode('scope', 'implementation')
63-
64-
def wearableDependencyNode = dependenciesNode.appendNode('dependency')
65-
wearableDependencyNode.appendNode('groupId', 'com.google.android.support')
66-
wearableDependencyNode.appendNode('artifactId', 'wearable')
67-
wearableDependencyNode.appendNode('version', "${wearVersion}")
68-
wearableDependencyNode.appendNode('scope', 'implementation')
69-
70-
def androidRuntimeDependencyNode = dependenciesNode.appendNode('dependency')
71-
androidRuntimeDependencyNode.appendNode('artifactId', 'android')
72-
androidRuntimeDependencyNode.appendNode('scope', 'runtime')
73-
}
74-
}
75-
}
76-
}
77-
7832
// Does not work because of Processing-specific tags in source code, such as @webref
7933
task javadocJar(type: Jar, dependsOn: javadoc) {
8034
classifier = "javadoc"
@@ -83,7 +37,7 @@ task javadocJar(type: Jar, dependsOn: javadoc) {
8337

8438
artifacts {
8539
// archives javadocJar
86-
archives sourcesJar
40+
archives sourceJar
8741
}
8842

8943
jar.doLast { task ->
@@ -104,30 +58,26 @@ compileJava.doFirst {
10458
}
10559

10660
build.doLast {
107-
// If xml doesn't exist
108-
def pomfile = file("${buildDir}/publications/corePublication/pom-default.xml")
109-
if (!pomfile.exists()) {
110-
println("***************************************************************************************\n" +
111-
"* *\n" +
112-
"* File not found: root/core/build/publications/corePublication/pom-default.xml *\n" +
113-
"* First execute the following command to generate the file: *\n" +
114-
"* gradle generatePomFileForcorePublicationPublication *\n" +
115-
"* *\n" +
116-
"***************************************************************************************"
117-
)
118-
}
119-
// // Copying core jar as zip inside the mode folder
61+
// Copying core jar as zip inside the mode folder
12062
Files.copy(file("${buildDir}/libs/core.jar").toPath(),
12163
file("${coreZipPath}").toPath(), REPLACE_EXISTING)
122-
// // Copying the files for release on JCentral
123-
File distFolder = file("dist")
124-
distFolder.mkdirs()
64+
// Renaming artifacts for maven publishing
12565
Files.copy(file("${buildDir}/libs/core.jar").toPath(),
126-
file("dist/processing-core-${modeVersion}.jar").toPath(), REPLACE_EXISTING)
66+
file("$buildDir/libs/processing-core-${modeVersion}.jar").toPath(), REPLACE_EXISTING);
12767
Files.copy(file("${buildDir}/libs/core-sources.jar").toPath(),
128-
file("dist/processing-core-${modeVersion}-sources.jar").toPath(), REPLACE_EXISTING)
68+
file("$buildDir/libs/processing-core-${modeVersion}-sources.jar").toPath(), REPLACE_EXISTING);
12969
Files.copy(file("${buildDir}/libs/core.jar.MD5").toPath(),
130-
file("dist/processing-core-${modeVersion}.jar.md5").toPath(), REPLACE_EXISTING)
131-
Files.copy(file("${buildDir}/publications/corePublication/pom-default.xml").toPath(),
132-
file("dist/processing-core-${modeVersion}.pom").toPath(), REPLACE_EXISTING)
70+
file("$buildDir/libs/processing-core-${modeVersion}.jar.md5").toPath(), REPLACE_EXISTING);
71+
}
72+
73+
ext {
74+
libName = 'processing-core'
75+
libVersion = modeVersion
76+
libJar = "${buildDir}/libs/${libName}-${libVersion}.jar"
77+
libSrc = "${buildDir}/libs/${libName}-${libVersion}-sources.jar"
78+
libMd5 = "${buildDir}/libs/${libName}-${libVersion}-sources.jar.md5"
79+
libDependencies = [[name: 'legacy-support-v4', group: 'androidx.legacy', version: v4legacyVersion],
80+
[name: 'wearable', group: 'com.google.android.support', version: wearVersion],
81+
[name: 'android']]
13382
}
83+
apply from: "${rootProject.projectDir}/scripts/publish-module.gradle"

mode/libraries/ar/build.gradle

Lines changed: 16 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ import java.nio.file.Files
22
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
33

44
plugins {
5-
id 'aar'
6-
id 'maven-publish'
5+
id 'aar'
76
}
87

98
dependencies {
@@ -17,47 +16,6 @@ task sourceJar(type: Jar) {
1716
archiveClassifier = "sources"
1817
}
1918

20-
publishing {
21-
publications {
22-
arPublication(MavenPublication) {
23-
from components.java
24-
artifact sourceJar
25-
pom {
26-
groupId = "org.p5android"
27-
artifactId = "processing-ar"
28-
version = "${arLibVersion}"
29-
packaging = "jar"
30-
// description = "Processing Android Core"
31-
// url = "http://www.example.com/project"
32-
licenses {
33-
license {
34-
name = "GNU Lesser General Public License, version 2.1"
35-
url = "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt"
36-
distribution = "repo"
37-
}
38-
}
39-
}
40-
41-
pom.withXml {
42-
// inserting the dependencies node
43-
def dependenciesNode = asNode().appendNode('dependencies')
44-
// start adding dependency nodes inside dependencies node
45-
def processingCoreDependencyNode = dependenciesNode.appendNode('dependency')
46-
processingCoreDependencyNode.appendNode('groupId', 'org.p5android')
47-
processingCoreDependencyNode.appendNode('artifactId', 'processing-core')
48-
processingCoreDependencyNode.appendNode('version', "${modeVersion}")
49-
processingCoreDependencyNode.appendNode('scope', 'implementation')
50-
51-
def googleARDependencyNode = dependenciesNode.appendNode('dependency')
52-
googleARDependencyNode.appendNode('groupId', 'com.google.ar')
53-
googleARDependencyNode.appendNode('artifactId', 'core')
54-
googleARDependencyNode.appendNode('version', "${garVersion}")
55-
googleARDependencyNode.appendNode('scope', 'implementation')
56-
}
57-
}
58-
}
59-
}
60-
6119
sourceSets {
6220
main {
6321
java {
@@ -100,32 +58,27 @@ compileJava.doFirst {
10058
}
10159

10260
build.doLast {
103-
// If xml doesn't exist
104-
def pomfile = file("${buildDir}/publications/arPublication/pom-default.xml")
105-
if (!pomfile.exists()) {
106-
println("**********************************************************************************************\n" +
107-
"* *\n" +
108-
"* File not found: root/mode/libraries/ar/build/publications/arPublication/pom-default.xml *\n" +
109-
"* First execute the following command to generate the file: *\n" +
110-
"* gradle generatePomFileForarPublicationPublication *\n" +
111-
"* *\n" +
112-
"**********************************************************************************************"
113-
)
114-
}
11561
// Copying ar jar to library folder
11662
File arJar = file("library/ar.jar")
11763
arJar.mkdirs();
11864
Files.copy(file("$buildDir/libs/ar.jar").toPath(),
11965
arJar.toPath(), REPLACE_EXISTING);
120-
// Copying the files for release on JCentral
121-
File distFolder = file("dist");
122-
distFolder.mkdirs();
66+
// Renaming artifacts for maven publishing
12367
Files.copy(file("$buildDir/libs/ar.jar").toPath(),
124-
file("dist/processing-ar-${arLibVersion}.jar").toPath(), REPLACE_EXISTING);
68+
file("$buildDir/libs/processing-ar-${arLibVersion}.jar").toPath(), REPLACE_EXISTING);
12569
Files.copy(file("$buildDir/libs/ar-sources.jar").toPath(),
126-
file("dist/processing-ar-${arLibVersion}-sources.jar").toPath(), REPLACE_EXISTING);
70+
file("$buildDir/libs/processing-ar-${arLibVersion}-sources.jar").toPath(), REPLACE_EXISTING);
12771
Files.copy(file("$buildDir/libs/ar.jar.MD5").toPath(),
128-
file("dist/processing-ar-${arLibVersion}.jar.md5").toPath(), REPLACE_EXISTING);
129-
Files.copy(file("${buildDir}/publications/arPublication/pom-default.xml").toPath(),
130-
file("dist/processing-ar-${arLibVersion}.pom").toPath(), REPLACE_EXISTING)
72+
file("$buildDir/libs/processing-ar-${arLibVersion}.jar.md5").toPath(), REPLACE_EXISTING);
73+
}
74+
75+
ext {
76+
libName = 'processing-ar'
77+
libVersion = arLibVersion
78+
libJar = "${buildDir}/libs/${libName}-${libVersion}.jar"
79+
libSrc = "${buildDir}/libs/${libName}-${libVersion}-sources.jar"
80+
libMd5 = "${buildDir}/libs/${libName}-${libVersion}-sources.jar.md5"
81+
libDependencies = [[group: 'org.p5android', name: 'processing-core', version: modeVersion],
82+
[group: 'com.google.ar', name: 'core', version: garVersion]]
13183
}
84+
apply from: "${rootProject.projectDir}/scripts/publish-module.gradle"

mode/libraries/vr/build.gradle

Lines changed: 18 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,11 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING
33

44
plugins {
55
id 'aar'
6-
id 'maven-publish'
76
}
87

98
dependencies {
109
compileOnly name: "android"
11-
1210
compileOnly "org.p5android:processing-core:${modeVersion}"
13-
1411
implementationAar "com.google.vr:sdk-audio:${gvrVersion}"
1512
implementationAar "com.google.vr:sdk-base:${gvrVersion}"
1613
}
@@ -20,51 +17,6 @@ task sourceJar(type: Jar, dependsOn: classes) {
2017
from sourceSets.main.allSource
2118
}
2219

23-
publishing {
24-
publications {
25-
vrPublication(MavenPublication) {
26-
from components.java
27-
artifact sourceJar
28-
pom {
29-
groupId = "org.p5android"
30-
artifactId = "processing-vr"
31-
version = "${vrLibVersion}"
32-
packaging = "jar"
33-
licenses {
34-
license {
35-
name = "GNU Lesser General Public License, version 2.1"
36-
url = "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt"
37-
distribution = "repo"
38-
}
39-
}
40-
}
41-
42-
pom.withXml {
43-
// inserting the dependencies node
44-
def dependenciesNode = asNode().appendNode('dependencies')
45-
// start adding dependency nodes inside dependencies node
46-
def processingCoreDependencyNode = dependenciesNode.appendNode('dependency')
47-
processingCoreDependencyNode.appendNode('groupId', 'org.p5android')
48-
processingCoreDependencyNode.appendNode('artifactId', 'processing-core')
49-
processingCoreDependencyNode.appendNode('version', "${modeVersion}")
50-
processingCoreDependencyNode.appendNode('scope', 'implementation')
51-
52-
def googleVRDependencyNode = dependenciesNode.appendNode('dependency')
53-
googleVRDependencyNode.appendNode('groupId', 'com.google.vr')
54-
googleVRDependencyNode.appendNode('artifactId', 'sdk-base')
55-
googleVRDependencyNode.appendNode('version', "${gvrVersion}")
56-
googleVRDependencyNode.appendNode('scope', 'implementation')
57-
58-
def googleVRAudioDependencyNode = dependenciesNode.appendNode('dependency')
59-
googleVRAudioDependencyNode.appendNode('groupId', 'com.google.vr')
60-
googleVRAudioDependencyNode.appendNode('artifactId', 'sdk-audio')
61-
googleVRAudioDependencyNode.appendNode('version', "${gvrVersion}")
62-
googleVRAudioDependencyNode.appendNode('scope', 'implementation')
63-
}
64-
}
65-
}
66-
}
67-
6820
sourceSets {
6921
main {
7022
java {
@@ -73,7 +25,6 @@ sourceSets {
7325
}
7426
}
7527

76-
7728
// Does not work because of Processing-specific tags in source code, such as @webref
7829
task javadocJar(type: Jar, dependsOn: javadoc) {
7930
classifier = "javadoc"
@@ -94,7 +45,6 @@ clean.doFirst {
9445
delete "library/vr.jar"
9546
}
9647

97-
9848
compileJava.doFirst {
9949
String[] deps = ["sdk-audio.jar",
10050
"sdk-base.jar",
@@ -107,35 +57,29 @@ compileJava.doFirst {
10757
}
10858
}
10959

110-
11160
build.doLast {
112-
// If xml doesn't exist
113-
def pomfile = file("${buildDir}/publications/vrPublication/pom-default.xml")
114-
if (!pomfile.exists()) {
115-
println("************************************************************************************************\n" +
116-
"* *\n" +
117-
"* File not found: root/mode/libraries/vr/build/publications/corePublication/pom-default.xml *\n" +
118-
"* First execute the following command to generate the file: *\n" +
119-
"* gradle generatePomFileForvrPublicationPublication *\n" +
120-
"* *\n" +
121-
"************************************************************************************************"
122-
)
123-
}
124-
// // Copying vr jar to library folder
61+
// Copying vr jar to library folder
12562
File vrJar = file("library/vr.jar")
12663
vrJar.mkdirs();
12764
Files.copy(file("$buildDir/libs/vr.jar").toPath(),
128-
vrJar.toPath(), REPLACE_EXISTING);
129-
130-
// // Copying the files for release on JCentral
131-
File distFolder = file("dist");
132-
distFolder.mkdirs();
65+
vrJar.toPath(), REPLACE_EXISTING);
66+
// Renaming artifacts for maven publishing
13367
Files.copy(file("$buildDir/libs/vr.jar").toPath(),
134-
file("dist/processing-vr-${vrLibVersion}.jar").toPath(), REPLACE_EXISTING);
68+
file("$buildDir/libs/processing-vr-${vrLibVersion}.jar").toPath(), REPLACE_EXISTING);
13569
Files.copy(file("$buildDir/libs/vr-sources.jar").toPath(),
136-
file("dist/processing-vr-${vrLibVersion}-sources.jar").toPath(), REPLACE_EXISTING);
70+
file("$buildDir/libs/processing-vr-${vrLibVersion}-sources.jar").toPath(), REPLACE_EXISTING);
13771
Files.copy(file("$buildDir/libs/vr.jar.MD5").toPath(),
138-
file("dist/processing-vr-${vrLibVersion}.jar.md5").toPath(), REPLACE_EXISTING);
139-
Files.copy(file("$buildDir/publications/vrPublication/pom-default.xml").toPath(),
140-
file("dist/processing-vr-${vrLibVersion}.pom").toPath(), REPLACE_EXISTING);
72+
file("$buildDir/libs/processing-vr-${vrLibVersion}.jar.md5").toPath(), REPLACE_EXISTING);
73+
}
74+
75+
ext {
76+
libName = 'processing-vr'
77+
libVersion = vrLibVersion
78+
libJar = "${buildDir}/libs/${libName}-${libVersion}.jar"
79+
libSrc = "${buildDir}/libs/${libName}-${libVersion}-sources.jar"
80+
libMd5 = "${buildDir}/libs/${libName}-${libVersion}-sources.jar.md5"
81+
libDependencies = [[group: 'org.p5android', name: 'processing-core', version: modeVersion],
82+
[group: 'com.google.vr', name: 'sdk-base', version: gvrVersion],
83+
[group: 'com.google.vr', name: 'sdk-audio', version: gvrVersion]]
14184
}
85+
apply from: "${rootProject.projectDir}/scripts/publish-module.gradle"

0 commit comments

Comments
 (0)