-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
99 lines (83 loc) · 2.42 KB
/
build.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
import org.gradle.util.GUtil;
repositories {
mavenCentral()
}
dependencies {
}
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}
ext {
gitSubmodulePaths = [
"eclim":"eclim/src",
"mru":"vim/bundle/mru",
"neomru":"vim/bundle/neomru",
"nerdtree":"vim/bundle/nerdtree",
"syntastic":"vim/bundle/syntastic",
"unite":"vim/bundle/unite",
"unitetag":"vim/bundle/unite-tag",
"vimslim":"vim/bundle/vim-slim",
"vimproc":"vim/bundle/vimproc",
"ycm":"vim/bundle/ycm"
]
}
def addSubmoduleRule(String command,List<String> params,Closure col=null) {
tasks.addRule("Pattern: ${command}GitSubmodule<Module>") { String taskName ->
if( taskName.startsWith("${command}GitSubmodule") ) {
def moduleName = (taskName-"${command}GitSubmodule").toLowerCase()
task(taskName,type:Exec) {
ext.moduleName = moduleName
commandLine "git","submodule",command
commandLine += params
commandLine += ["--",project.gitSubmodulePaths[moduleName]]
if( col != null ) {
configure(col)
}
}
}
}
}
def addAllSubmodulesRule(String command) {
task("${command}GitSubmodule") {
dependsOn = gitSubmodulePaths.collect { k,v -> "${command}GitSubmodule${GUtil.toCamelCase(k)}" }
}
}
addSubmoduleRule("sync",[])
addAllSubmodulesRule("sync")
addSubmoduleRule("update",["--init","--recursive"]) {
dependsOn "syncGitSubmodule"+GUtil.toCamelCase(moduleName)
}
addAllSubmodulesRule("update")
task compileVimproc(type: Exec) {
dependsOn "updateGitSubmoduleVimproc"
workingDir 'vim/bundle/vimproc'
commandLine 'make'
}
task compile {
dependsOn updateGitSubmodule
dependsOn compileVimproc,"ycm:compile"
}
task installVim(type:Exec) {
executable "bash"
args "-c","set -ex;brew install vim --override-system-vim --with-lua -HEAD"
}
def linkVariants = [
"Force":"f",
"":""
]
linkVariants.each { name,param ->
task("link${name}Vimrc",type:Exec) {
executable "bash"
args "-c","set -ex;ln -sh${param} ${rootDir.absolutePath}/vimrc ~/.vimrc"
}
task("link${name}Vim",type:Exec) {
executable "bash"
args "-c","set -ex;ln -sh${param} ${rootDir.absolutePath}/vim ~/.vim"
}
task("link${name}") {
dependsOn "link${name}Vimrc","link${name}Vim"
}
task("install${name}") {
dependsOn compile,"installVim","link${name}"
}
}