Mercurial > public > develkit
annotate init.gradle @ 81:36b2fd9e3861
fix handling of multi-project artifacts and local repos
author | smith@nwoca.org |
---|---|
date | Thu, 09 Feb 2012 15:07:00 -0500 |
parents | 647840c0753d |
children | c7cbf5e9db74 |
rev | line source |
---|---|
73 | 1 |
2 gradle.addListener(new ArtifactoryGradleSettings()) | |
3 | |
77 | 4 gradle.bambooBuild = System.getenv().any { it.key.startsWith('BAMBOO')} |
79 | 5 logger.info "applying SSDT artifactory Gradle Settings (bamboo: $gradle.bambooBuild)" |
6 | |
7 if (gradle.bambooBuild) { | |
80 | 8 apply from: "${gradle.hasProperty('ssdtGradlekitLocation') ? gradle.ssdtGradlekitLocation :'http://hg.ssdt-ohio.org/ssdt/gradlekit/raw-file/tip'}/artifactory.gradle" |
79 | 9 } |
76 | 10 |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
11 task wrapper(type: Wrapper) { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
12 gradleVersion = '1.0-milestone-7' |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
13 } |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
14 |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
15 wrapper << { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
16 // patch wrapper path for 1.0-milestone-7 bug (http://issues.gradle.org/browse/GRADLE-1823) |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
17 ant.replace(file: 'gradlew', token: '\\wrapper\\gradle-wrapper.jar',value:'/wrapper/gradle-wrapper.jar') |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
18 } |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
19 |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
20 |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
21 allprojects { |
75 | 22 task cleanLocal << { |
23 def local = project.repositories.find { it.name == 'local' } | |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
24 if ( local ) { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
25 logger.info "removing local repo: $it" |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
26 new File(System.properties['user.home'] + "/.ssdt/local-repo").deleteDir() |
75 | 27 } |
79 | 28 } |
78
e47f80ef056b
finish cleanLocal. start adding artifactory plugin
smith@nwoca.org
parents:
77
diff
changeset
|
29 cleanLocal.onlyIf { |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
30 project.repositories.any { it.name == 'local' } |
79 | 31 } |
75 | 32 task publishLocal(dependsOn: 'uploadArchives') << { println "published to local repository" } |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
33 |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
34 task repositories << { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
35 repositories.each { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
36 println " $it.name" |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
37 } |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
38 } |
75 | 39 } |
40 | |
73 | 41 class ArtifactoryGradleSettings extends BuildAdapter implements BuildListener { |
79 | 42 |
73 | 43 def void projectsEvaluated(Gradle gradle) { |
79 | 44 Project root = gradle.getRootProject() |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
45 root.allprojects { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
46 def thisProject = delegate |
74 | 47 |
48 configurations.all { | |
49 resolutionStrategy.cacheChangingModulesFor 120, 'minutes' | |
50 resolutionStrategy.cacheDynamicVersionsFor 120, 'minutes' | |
79 | 51 } |
73 | 52 repositories { |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
53 if (!gradle.bambooBuild) { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
54 add(new org.apache.ivy.plugins.resolver.FileSystemResolver()) { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
55 name = 'local' |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
56 addIvyPattern System.properties['user.home'] + "/.ssdt/local-repo/[module]-ivy-[revision].xml" |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
57 addArtifactPattern System.properties['user.home'] + "/.ssdt/local-repo/[module]-[revision](-[classifier]).[ext]" |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
58 descriptor = 'optional' |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
59 checkmodified = true |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
60 } |
79 | 61 } |
74 | 62 add(new org.apache.ivy.plugins.resolver.URLResolver()) { |
63 name = 'ssdt-snapshots' | |
64 m2compatible = true | |
65 url = 'http://repos.ssdt.nwoca.org/artifactory/ssdt-snapshots' | |
66 addArtifactPattern('http://repos.ssdt.nwoca.org/artifactory/ssdt-snapshots/[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]') | |
67 addIvyPattern('http://repos.ssdt.nwoca.org/artifactory/ssdt-snapshots/[organization]/[module]/ivy-[revision].xml') | |
68 checkmodified = true | |
69 changingMatcher = 'regexp' | |
70 changingPattern = '.*SNAPSHOT' | |
71 } | |
72 add(new org.apache.ivy.plugins.resolver.URLResolver()) { | |
73 name = 'ssdt-releases' | |
74 m2compatible = false | |
75 url = 'http://repos.ssdt.nwoca.org/artifactory/ssdt-releases' | |
76 addArtifactPattern('http://repos.ssdt.nwoca.org/artifactory/ssdt-releases/[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]') | |
77 addIvyPattern('http://repos.ssdt.nwoca.org/artifactory/ssdt-releases/[organization]/[module]/ivy-[revision].xml') | |
78 } | |
73 | 79 mavenRepo name: 'ssdt-repo', url: 'http://repos.ssdt.nwoca.org/artifactory/ssdt-repo' |
75 | 80 |
81 } | |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
82 |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
83 if ( thisProject.repositories.find { it.name == 'local' } ) { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
84 uploadArchives { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
85 repositories { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
86 add thisProject.repositories.local |
75 | 87 } |
88 } | |
89 } | |
73 | 90 } |
91 } | |
92 } |