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