-
Notifications
You must be signed in to change notification settings - Fork 951
/
assemble.gradle
117 lines (105 loc) · 3.86 KB
/
assemble.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import org.apache.tools.ant.filters.ReplaceTokens
dependencyCache = {
def cacheLocation = new File(gradle.gradleUserHomeDir, "cache")
copy {
from( cacheLocation ) {
def dependencyIncludes = []
def includeClosure = { artifact ->
def dependency = artifact.getResolvedDependency()
def file = artifact.file
dependencyIncludes << "${dependency.moduleGroup}/${dependency.moduleName}/*-${dependency.moduleVersion}.*"
dependencyIncludes << "${dependency.moduleGroup}/${dependency.moduleName}/jars/${dependency.moduleName}-${dependency.moduleVersion}.jar"
dependencyIncludes << "${dependency.moduleGroup}/${dependency.moduleName}/bundles/${dependency.moduleName}-${dependency.moduleVersion}.jar"
}
configurations.compile.resolvedConfiguration.resolvedArtifacts.each(includeClosure)
configurations.runtime.resolvedConfiguration.resolvedArtifacts.each(includeClosure)
configurations.jsp21.resolvedConfiguration.resolvedArtifacts.each(includeClosure)
includes = dependencyIncludes
}
into "$projectDir/lib"
}
}
task libs(dependsOn: getTasksByName("jar", true)) {
doFirst dependencyCache
destinationDir = 'dist'
doLast {
copy {
for(project in subprojects) {
from( project.libsDir ) {
include "*-${version}.jar"
}
}
into 'dist'
}
}
}
task pluginsFromSvn {
dir = "$buildDir/pluginsFromSvn"
grailsHibernateDest = "$dir/grails-hibernate-${version}.zip"
grailsTomcatDest = "$dir/grails-tomcat-${version}.zip"
outputs.files grailsHibernateDest, grailsTomcatDest
doFirst {
ant {
mkdir(dir: dir)
def versionTag = version.replaceAll(/\./, '_').toUpperCase()
get(src: "http://svn.codehaus.org/grails/trunk/grails-plugins/grails-hibernate/tags/RELEASE_${versionTag}/grails-hibernate-${version}.zip",
dest: grailsHibernateDest, verbose: true, usetimestamp: true)
get(src: "http://svn.codehaus.org/grails/trunk/grails-plugins/grails-tomcat/tags/RELEASE_${versionTag}/grails-tomcat-${version}.zip",
dest: grailsTomcatDest, verbose: true, usetimestamp: true)
}
}
}
binExecutables = ["cygrails", "grails", "grails-debug", "grails-debug.bat", "grails.bat"]
distSpec = copySpec {
from(projectDir) {
into "grails-$version"
include 'lib/', 'gradle/', 'media/', 'samples/', 'scripts/', 'conf/', 'build.gradle', 'build.properties',
'LICENSE', 'INSTALL', "src/", "gradlew.bat","gradle.properties"
exclude 'ant/bin'
// this file is accounted for later with special handling to do some token replacement
exclude 'src/grails/grails-macros.xml'
}
from(projectDir) {
into "grails-$version"
include "gradlew"
fileMode = 0755
}
from(docs.destinationDir) {
into "grails-$version/doc"
}
exclude "**/CVS/**"
from(project.files(pluginsFromSvn.dir) { builtBy 'pluginsFromSvn' }) {
into "grails-$version/plugins"
}
from('bin') {
into "grails-$version/bin"
include binExecutables
fileMode = 0755
}
from('src/resources/docs/README') {
into "grails-$version"
filter(ReplaceTokens, tokens: ['grails.version': version])
}
from("src/resources/bash") {
include "startGrails.bat", "startGrails"
into "grails-$version/bin"
filter(ReplaceTokens, tokens: ['grails.version': version])
fileMode = 0755
}
from(libs.destinationDir) {
into "grails-$version/dist"
exclude "*.zip"
}
from("src/grails/grails-macros.xml") {
into "grails-$version/src/grails"
filter(ReplaceTokens, tokens: ['grails.version': version])
}
}
task zipDist(type: Zip,dependsOn:libs) {
from distSpec
doFirst dependencyCache
}
task zipDoc(type: Zip) {
appendix = 'docs'
from docs.destinationDir
}