blob: a8555cb042bbe59a5fe5b0a6c0680ee4d26f748f (
about) (
plain)
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
|
class CopyJars extends DefaultTask {
@InputFiles
FileCollection source
@OutputDirectory
File destination
@TaskAction
void apply() {
project.copy {
from source
into destination
}
}
}
class ExtractAars extends DefaultTask {
@Input
boolean extractJarsOnly = false
@InputFiles
FileCollection source
@OutputDirectory
File destination
@TaskAction
void apply() {
source.each { File file ->
def baseFilename = file.name.lastIndexOf('.').with {
it != -1 ? file.name[0..< it] : file.name
}
if (extractJarsOnly) {
project.copy {
from project.zipTree(file)
include 'classes.jar'
into destination.name
rename {
String fileName -> fileName.replace('classes.jar', baseFilename + '.jar')
}
}
} else {
project.copy {
from project.zipTree(file)
exclude 'classes.jar'
into destination.absolutePath + File.separator + baseFilename
}
project.copy {
from project.zipTree(file)
include 'classes.jar'
into destination.absolutePath + File.separator + baseFilename +
File.separator + destination.name
rename {
String fileName -> fileName.replace('classes.jar', baseFilename + '.jar')
}
}
}
}
}
}
task ('copyJarDependenciesIntoLibs', type: CopyJars) {
description = 'Used for Eclipse. Copies JAR dependencies to the libs directory.'
destination = file(project.projectDir.canonicalPath + File.separator + 'libs')
afterEvaluate {
source = files(
project.configurations.matching {
it.name.endsWith 'Compile' or it.name == 'compile'
}.each {
logger.info "Adding dependencies from ${it.name} configuration."
}
).filter {
it.name.endsWith 'jar'
}
logger.info source.files.toString()
}
}
task ('extractAarDependenciesIntoLibs', type: ExtractAars) {
description = 'Used for Eclipse. Extracts AAR dependencies into the libs directory.'
destination = file(project.projectDir.canonicalPath + File.separator + 'libs')
afterEvaluate {
source = files(
project.configurations.matching {
it.name.endsWith 'Compile' or it.name == 'compile'
}.each {
logger.info "Adding dependencies from ${it.name} configuration."
}
).filter {
it.name.endsWith 'aar'
}
logger.info source.files.toString()
}
}
task copyDependenciesIntoLibs {
dependsOn copyJarDependenciesIntoLibs, extractAarDependenciesIntoLibs
description = 'Used for Eclipse. Copies JAR and extracts AAR dependencies into the libs ' +
'directory.'
}
|