Skip to content

Commit 66018aa

Browse files
author
freds
committed
Added uber jar function
1 parent 41f289d commit 66018aa

File tree

3 files changed

+61
-21
lines changed

3 files changed

+61
-21
lines changed

build.gradle

+48-13
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,16 @@ def baseProjects() {
3030
subprojects.findAll { p -> baseProjectNames.contains(p.name) }
3131
}
3232

33+
def extractorProjects() {
34+
subprojects.findAll { p -> !baseProjectNames.contains(p.name) }
35+
}
36+
3337
subprojects {
3438
apply plugin: 'maven'
3539
apply plugin: 'java'
3640
sourceCompatibility = 1.5
3741
targetCompatibility = 1.5
38-
buildInfoVersion = new Version(rootProject, '1.4.9', false, baseProjectNames)
42+
buildInfoVersion = new Version(rootProject, baseProjectNames)
3943
artifactId = "build-info-$name"
4044

4145
dependencies {
@@ -58,11 +62,42 @@ configure(baseProjects()) {
5862
test.useTestNG()
5963
}
6064

61-
/*
62-
configure(extractorProjects()) { p ->
63-
version = new Version(p)
65+
configure(extractorProjects()) {
66+
configurations {
67+
tools
68+
uberJar {
69+
description = 'All jar that should be included in the Uber Jar'
70+
transitive = true
71+
}
72+
compile {
73+
extendsFrom uberJar
74+
}
75+
}
76+
77+
dependencies {
78+
tools group: 'com.tonicsystems.jarjar', name: 'jarjar-plugin', version: '1.0'
79+
}
80+
81+
task jarAll(type: Jar, dependsOn: jar) {
82+
inputs.files jar.archivePath
83+
classifier = 'uber'
84+
doLast {
85+
project.ant {
86+
taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", classpath: configurations.tools.asPath
87+
jarjar(jarfile: archivePath) {
88+
zipfileset(src: jar.archivePath)
89+
configurations.uberJar.files.each {jarjarFile ->
90+
zipfileset(src: jarjarFile)
91+
}
92+
}
93+
}
94+
}
95+
}
96+
97+
artifacts {
98+
archives jarAll
99+
}
64100
}
65-
*/
66101

67102
project('api') {
68103
description = 'JFrog Build-Info API'
@@ -86,12 +121,12 @@ project('extractor') {
86121
}
87122

88123
project('extractor-ivy') {
89-
version = new Version(project, '1.0.5', false)
124+
version = new Version(project)
90125
description = 'JFrog Build-Info Ivy Extractor'
91126
dependencies {
92-
compile project(':extractor')
93-
compile "org.slf4j:slf4j-api:1.5.8"
94-
compile "org.aspectj:aspectjweaver:1.6.9"
127+
uberJar project(':extractor')
128+
uberJar "org.slf4j:slf4j-api:1.5.8"
129+
uberJar "org.aspectj:aspectjweaver:1.6.9"
95130
compile("com.google.code.findbugs:jsr305:1.3.9") {
96131
provided: true
97132
}
@@ -107,12 +142,12 @@ project('extractor-ivy') {
107142
project('extractor-gradle') {
108143
apply plugin: 'groovy'
109144

110-
version = new Version(project, '1.0.6', false)
145+
version = new Version(project)
111146
description = 'JFrog Build-Info Gradle Extractor'
112147

113148
dependencies {
114149
compile gradleApi()
115-
compile project(':extractor')
150+
uberJar project(':extractor')
116151
compile("org.codehaus.plexus:plexus-component-annotations:1.5.4") {
117152
provided: true
118153
}
@@ -133,11 +168,11 @@ project('extractor-gradle') {
133168
}
134169

135170
project('extractor-maven3') {
136-
version = new Version(project, '1.0.4', false)
171+
version = new Version(project)
137172
description = 'JFrog Build-Info Maven 3 Extractor'
138173

139174
dependencies {
140-
compile project(':extractor')
175+
uberJar project(':extractor')
141176
compile("org.codehaus.plexus:plexus-component-annotations:1.5.4") {
142177
provided: true
143178
}

buildSrc/src/main/groovy/org/jfrog/build/Version.groovy

+5-5
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ class Version {
99
Date buildTime
1010
Boolean release = null
1111

12-
def Version(Project project, String versionNumber, boolean isRelease) {
13-
this(project, versionNumber, isRelease, null)
12+
def Version(Project project) {
13+
this(project, null)
1414
}
1515

16-
def Version(Project project, String versionNumber, boolean isRelease, List<String> subProjects) {
17-
this.versionNumber = versionNumber
18-
this.release = isRelease
16+
def Version(Project project, List<String> subProjects) {
17+
this.versionNumber = project.getProperty("${project.name}-version")
18+
this.release = Boolean.valueOf(project.getProperty("${project.name}-release"))
1919
File timestampFile = new File(project.buildDir, 'timestamp.txt')
2020
if (timestampFile.isFile()) {
2121
boolean uptodate = true

gradle.properties

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1-
previousVersion=1.4.8
2-
nextVersion=1.4.9
3-
isRelease=false
1+
build-info-version=1.4.9
2+
build-info-release=false
3+
extractor-ivy-version=1.0.5
4+
extractor-ivy-release=false
5+
extractor-gradle-version=1.0.6
6+
extractor-gradle-release=false
7+
extractor-maven3-version=1.0.4
8+
extractor-maven3-release=false

0 commit comments

Comments
 (0)