@@ -47,8 +47,11 @@ subprojects {
47
47
testCompile group : ' org.testng' , name : ' testng' , version : ' 5.12.1'
48
48
}
49
49
50
+ // From the install task of the maven plugin (an upload task), take the RepositoryHandler (repositories) and for the
51
+ // MavenResolver (mavenInstaller) take the pomFilterContainer (pom) and configure the maven project
50
52
configure(install. repositories. mavenInstaller) {
51
53
pom. project {
54
+ url ' http://wiki.jfrog.org/confluence/display/RTF/Build+Integration'
52
55
licenses {
53
56
license {
54
57
name ' The Apache Software License, Version 2.0'
@@ -63,17 +66,9 @@ subprojects {
63
66
archive ' http://forums.jfrog.org/Artifactory-Users-f2377369.html'
64
67
}
65
68
}
66
- developers {
67
- developer {
68
- id ' tomerc'
69
- name ' Tomer Cohen'
70
- email ' tomerc at jfrog dot org'
71
- }
72
- developer {
73
- id ' freds'
74
- name ' Frederic Simon'
75
- email ' frederic dot simon at jfrog dot org'
76
- }
69
+ issueManagement {
70
+ system ' jira'
71
+ url ' http://issues.jfrog.org/jira/browse/BI'
77
72
}
78
73
}
79
74
}
@@ -82,6 +77,7 @@ subprojects {
82
77
classifier = ' sources'
83
78
}
84
79
80
+ // Add the published artifact of sourceJar task to the list of published artifacts for the archives configuration
85
81
artifacts {
86
82
archives sourceJar
87
83
}
@@ -96,11 +92,12 @@ configure(baseProjects()) {
96
92
test. useTestNG()
97
93
}
98
94
95
+ // Create configurations for the extractor projects
99
96
configure(extractorProjects()) {
100
97
configurations {
101
98
tools
102
99
uberJar {
103
- description = ' All jar that should be included in the Uber Jar'
100
+ description = ' All jars that should be included in the Uber Jar'
104
101
transitive = true
105
102
}
106
103
compile {
@@ -113,11 +110,12 @@ configure(extractorProjects()) {
113
110
}
114
111
115
112
task jarAll(type : Jar , dependsOn : jar) {
116
- inputs . files jar . archivePath
113
+ // Add the directory of the archive as the input files for this task
117
114
classifier = ' uber'
118
115
doLast {
119
116
project. ant {
120
117
taskdef name : " jarjar" , classname : " com.tonicsystems.jarjar.JarJarTask" , classpath : configurations. tools. asPath
118
+ // Zip the project's jar (jar.archivePath) and the dependencies defined for the uberJar conf into archivePath (with classifier)
121
119
jarjar(jarfile : archivePath) {
122
120
zipfileset(src : jar. archivePath)
123
121
configurations. uberJar. files. each {jarjarFile ->
@@ -128,11 +126,21 @@ configure(extractorProjects()) {
128
126
}
129
127
}
130
128
129
+ // Add the published artifact of the jarAll task to the list of published artifacts for the archives configuration
131
130
artifacts {
132
131
archives jarAll
133
132
}
133
+
134
+ // Treat the uberJar conf as a maven compile scope so that uberJar depenedncies are transformed into compile-scope
135
+ // dependencies in generated extractor poms
136
+ configure(install. repositories. mavenInstaller) {
137
+ pom. scopeMappings. addMapping(MavenPlugin . COMPILE_PRIORITY + 1 , configurations. uberJar, " compile" )
138
+ }
134
139
}
135
140
141
+ // Declare the root project to build its children first
142
+ dependsOnChildren()
143
+
136
144
project(' build-info-api' ) {
137
145
description = ' JFrog Build-Info API'
138
146
}
@@ -159,7 +167,6 @@ project('build-info-extractor-ivy') {
159
167
description = ' JFrog Build-Info Ivy Extractor'
160
168
dependencies {
161
169
uberJar project(' :build-info-extractor' )
162
- compile project(' :build-info-extractor' )
163
170
uberJar " org.slf4j:slf4j-api:1.5.8"
164
171
uberJar " org.aspectj:aspectjweaver:1.6.9"
165
172
compile(" com.google.code.findbugs:jsr305:1.3.9" ) {
@@ -172,6 +179,14 @@ project('build-info-extractor-ivy') {
172
179
provided : true
173
180
}
174
181
}
182
+ configure(install. repositories. mavenInstaller) {
183
+ pom. project {
184
+ issueManagement {
185
+ system ' jira'
186
+ url ' http://issues.jfrog.org/jira/browse/IAP'
187
+ }
188
+ }
189
+ }
175
190
}
176
191
177
192
project(' build-info-extractor-gradle' ) {
@@ -182,7 +197,6 @@ project('build-info-extractor-gradle') {
182
197
dependencies {
183
198
compile gradleApi()
184
199
uberJar project(' :build-info-extractor' )
185
- compile project(' :build-info-extractor' )
186
200
compile(" org.codehaus.plexus:plexus-component-annotations:1.5.4" ) {
187
201
provided : true
188
202
}
@@ -202,6 +216,15 @@ project('build-info-extractor-gradle') {
202
216
filter(ReplaceTokens , tokens : [' fullVersion' : version. toString(), ' buildInfoVersion' : buildInfoVersion. toString()])
203
217
}
204
218
}
219
+
220
+ configure(install. repositories. mavenInstaller) {
221
+ pom. project {
222
+ issueManagement {
223
+ system ' jira'
224
+ url ' http://issues.jfrog.org/jira/browse/GAP'
225
+ }
226
+ }
227
+ }
205
228
}
206
229
207
230
project(' build-info-extractor-maven3' ) {
@@ -210,7 +233,6 @@ project('build-info-extractor-maven3') {
210
233
211
234
dependencies {
212
235
uberJar project(' :build-info-extractor' )
213
- compile project(' :build-info-extractor' )
214
236
compile(" org.codehaus.plexus:plexus-component-annotations:1.5.4" ) {
215
237
provided : true
216
238
}
@@ -220,6 +242,12 @@ project('build-info-extractor-maven3') {
220
242
221
243
testCompile " org.easymock:easymockclassextension:2.5.2"
222
244
}
223
- }
224
-
225
- dependsOnChildren()
245
+ configure(install. repositories. mavenInstaller) {
246
+ pom. project {
247
+ issueManagement {
248
+ system ' jira'
249
+ url ' http://issues.jfrog.org/jira/browse/MAP'
250
+ }
251
+ }
252
+ }
253
+ }
0 commit comments