Mercurial > public > develkit
annotate init.gradle @ 83:9c551ecc816a
clean up script to be more maintainable
author | smith@nwoca.org |
---|---|
date | Thu, 09 Feb 2012 17:19:06 -0500 |
parents | c7cbf5e9db74 |
children | fa7b349201eb |
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 << { |
83 | 16 // patch wrapper path for 1.0-milestone-7 (http://issues.gradle.org/browse/GRADLE-1823) |
81
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 allprojects { |
75 | 21 task cleanLocal << { |
22 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
|
23 if ( local ) { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
24 logger.info "removing local repo: $it" |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
25 new File(System.properties['user.home'] + "/.ssdt/local-repo").deleteDir() |
75 | 26 } |
79 | 27 } |
78
e47f80ef056b
finish cleanLocal. start adding artifactory plugin
smith@nwoca.org
parents:
77
diff
changeset
|
28 cleanLocal.onlyIf { |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
29 project.repositories.any { it.name == 'local' } |
79 | 30 } |
75 | 31 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
|
32 |
75 | 33 } |
34 | |
73 | 35 class ArtifactoryGradleSettings extends BuildAdapter implements BuildListener { |
79 | 36 |
73 | 37 def void projectsEvaluated(Gradle gradle) { |
83 | 38 def ssdtArtifactory = 'http://repos.ssdt.nwoca.org/artifactory' |
79 | 39 Project root = gradle.getRootProject() |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
40 root.allprojects { |
83 | 41 def thisProject = delegate |
74 | 42 configurations.all { |
43 resolutionStrategy.cacheChangingModulesFor 120, 'minutes' | |
44 resolutionStrategy.cacheDynamicVersionsFor 120, 'minutes' | |
79 | 45 } |
73 | 46 repositories { |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
47 if (!gradle.bambooBuild) { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
48 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
|
49 name = 'local' |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
50 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
|
51 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
|
52 descriptor = 'optional' |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
53 checkmodified = true |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
54 } |
79 | 55 } |
74 | 56 add(new org.apache.ivy.plugins.resolver.URLResolver()) { |
83 | 57 name = 'ssdt-snapshots' |
58 m2compatible = true | |
59 url = "${ssdtArtifactory}/ssdt-snapshots" | |
60 addArtifactPattern("${url}/[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]") | |
61 addIvyPattern("${url}/[organization]/[module]/ivy-[revision].xml") | |
62 checkmodified = true | |
63 changingMatcher = 'regexp' | |
64 changingPattern = '.*SNAPSHOT' | |
74 | 65 } |
83 | 66 add(new org.apache.ivy.plugins.resolver.URLResolver()) { |
67 name = 'ssdt-releases' | |
68 m2compatible = false | |
69 url = "${ssdtArtifactory}/ssdt-releases" | |
70 addArtifactPattern("${url}/[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]") | |
71 addIvyPattern("${url}/[organization]/[module]/ivy-[revision].xml") | |
74 | 72 } |
83 | 73 mavenRepo name: 'ssdt-repo', url: "${ssdtArtifactory}/ssdt-repo" |
75 | 74 |
75 } | |
81
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
76 |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
77 if ( thisProject.repositories.find { it.name == 'local' } ) { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
78 uploadArchives { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
79 repositories { |
36b2fd9e3861
fix handling of multi-project artifacts and local repos
smith@nwoca.org
parents:
80
diff
changeset
|
80 add thisProject.repositories.local |
75 | 81 } |
82 } | |
83 } | |
73 | 84 } |
85 } | |
86 } |