##// END OF EJS Templates
build.gradle cleanup and refactoring
cin -
r97:8c240739e273 ts-plugin
parent child
Show More
@@ -0,0 +1,32
1 package org.implab.gradle.hg;
2
3 import org.gradle.api.Plugin;
4 import org.gradle.api.Project;
5
6 public class MercurialPlugin implements Plugin<Project> {
7 public void apply(Project project) {
8 if (!project.version) {
9
10 def rev = ["hg", "log", "-r", ".", "--template", "{latesttag('re:^v') % '{tag}-{distance}'}"].execute().text.trim();
11
12 def tagVersion;
13 def tagDistance;
14
15 def match = (rev =~ /^v(\d+\.\d+\.\d+).*-(\d+)$/);
16
17 if (match.size()) {
18 tagVersion = match[0][1];
19 tagDistance = match[0][2].toInteger();
20 } else {
21 throw new Exception("A version must be specied");
22 }
23
24 project.version = tagVersion;
25
26 if (tagDistance > 0)
27 project.version++;
28 } else {
29 println "explicit version: $project.version";
30 }
31 }
32 } No newline at end of file
@@ -0,0 +1,1
1 implementation-class=org.implab.gradle.hg.MercurialPlugin No newline at end of file
@@ -3,3 +3,4 syntax: glob
3 build/
3 build/
4 node_modules/
4 node_modules/
5 src/typings/
5 src/typings/
6 ivy-repo/
@@ -1,5 +1,6
1 plugins {
1 plugins {
2 id "org.implab.gradle-typescript" version "1.0.1-rc3"
2 id "org.implab.gradle-typescript" version "1.0.1-rc3"
3 id "org.implab.gradle-hg"
3 id "ivy-publish"
4 id "ivy-publish"
4 }
5 }
5
6
@@ -13,33 +14,6 ext {
13 lint = project.hasProperty('lint') ? lint : false
14 lint = project.hasProperty('lint') ? lint : false
14 }
15 }
15
16
16 if (!version) {
17
18 def rev = ["hg", "log", "-r", ".", "--template", "{latesttag('re:^v') % '{tag}-{distance}'}"].execute().text.trim();
19
20 def tagVersion;
21
22 def match = (rev =~ /^v(\d+\.\d+\.\d+).*-(\d+)$/);
23
24 if (match.size()) {
25 tagVersion = match[0][1];
26 tagDistance = match[0][2].toInteger();
27 } else {
28 throw new Exception("A version must be specied");
29 }
30
31 version = tagVersion;
32
33 if (tagDistance > 0)
34 version++;
35 } else {
36 println "explicit version: $version";
37 }
38
39 if (hasProperty('versionSuffix') && versionSuffix) {
40 version += "-$versionSuffix"
41 }
42
43 configurations {
17 configurations {
44
18
45 }
19 }
@@ -104,7 +78,6 task printVersion {
104
78
105 doLast {
79 doLast {
106 println "version: ${-> version}";
80 println "version: ${-> version}";
107 println "tagDistance: ${-> tagDistance}";
108 println "packageName: ${-> packageName}";
81 println "packageName: ${-> packageName}";
109 println "target: ${-> typescript.compilerOptions.target}";
82 println "target: ${-> typescript.compilerOptions.target}";
110 println "module: ${-> typescript.compilerOptions.module}";
83 println "module: ${-> typescript.compilerOptions.module}";
@@ -144,73 +117,25 test {
144 commandLine "node", "tests/index.js"
117 commandLine "node", "tests/index.js"
145 }
118 }
146
119
147 task assembleAmd {
120 assemble {
148 dependsOn sources.amd.output
121 from sources.amd.output.compiledDir
149 assemble.mustRunAfter it
122 from sources.cjs.output.compiledDir
150
151 doLast {
152 assemble {
153 from(sources.amd.output.compiledDir)
154 }
155 }
156 }
157
158 task assembleCjs {
159 dependsOn sources.cjs.output
160 assemble.mustRunAfter it
161
162 doLast {
163 assemble {
164 from(sources.cjs.output.compiledDir)
165 }
166 }
167 }
123 }
168
124
169 task assembleTestAmd {
125 assembleTest {
170 dependsOn sources.amd.output
126 from sources.amd.output.compiledDir
171 dependsOn sources.testAmd.output
127 from sources.cjs.output.compiledDir
172 assembleTest.mustRunAfter it
128 from sources.testAmd.output.compiledDir
173
129 from sources.testCjs.output.compiledDir
174 doLast {
175 assembleTest {
176 from(sources.amd.output.compiledDir)
177 from(sources.testAmd.output.compiledDir)
178 }
179 }
180 }
130 }
181
131
182 task assembleTestCjs {
132 task prepareNode {
183 dependsOn sources.cjs.output
184 dependsOn sources.testCjs.output
185 assembleTest.mustRunAfter it
186
187 doLast {
188 assembleTest {
189 from(sources.cjs.output.compiledDir)
190 from(sources.testCjs.output.compiledDir)
191 }
192 }
193 }
194
195 task prepareTargetEs5 {
196 prepare.mustRunAfter it
133 prepare.mustRunAfter it
197
134
198 doLast {
135 doLast {
199 typescript {
136 typescript {
200 compilerOptions {
137 compilerOptions {
201 target = "es5"
138 module = "commonjs"
202 lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"]
203 }
204 }
205 }
206 }
207
208 task prepareTargetEsNext {
209 prepare.mustRunAfter it
210
211 doLast {
212 typescript {
213 compilerOptions {
214 target = "es2017"
139 target = "es2017"
215 lib = ["es2017", "dom", "scripthost"]
140 lib = ["es2017", "dom", "scripthost"]
216 }
141 }
@@ -218,21 +143,7 task prepareTargetEsNext {
218 }
143 }
219 }
144 }
220
145
221 task prepareNode {
222 dependsOn prepareTargetEsNext
223 prepare.mustRunAfter it
224
225 doLast {
226 typescript {
227 compilerOptions {
228 module = "commonjs"
229 }
230 }
231 }
232 }
233
234 task prepareBrowser {
146 task prepareBrowser {
235 dependsOn prepareTargetEs5
236 prepare.mustRunAfter it
147 prepare.mustRunAfter it
237
148
238 doLast {
149 doLast {
@@ -241,6 +152,8 task prepareBrowser {
241 typescript {
152 typescript {
242 compilerOptions {
153 compilerOptions {
243 module = "amd"
154 module = "amd"
155 target = "es5"
156 lib = ["es5", "dom", "scripthost", "es2015.promise", "es2015.symbol", "es2015.iterable"]
244 }
157 }
245 }
158 }
246 }
159 }
@@ -267,19 +180,19 task npmPackSourcesAmd(type: Copy) {
267 }
180 }
268
181
269 task assembleBrowser {
182 task assembleBrowser {
270 dependsOn prepareBrowser, assembleAmd, assemble
183 dependsOn prepareBrowser, assemble, sources.amd.output
271 }
184 }
272
185
273 task assembleNode {
186 task assembleNode {
274 dependsOn prepareNode, assembleCjs, assemble
187 dependsOn prepareNode, assemble, sources.cjs.output
275 }
188 }
276
189
277 task testBrowser {
190 task testBrowser {
278 dependsOn prepareBrowser, assembleTestAmd, test
191 dependsOn prepareBrowser, test, sources.amd.output, sources.testAmd.output
279 }
192 }
280
193
281 task testNode {
194 task testNode {
282 dependsOn prepareNode, assembleTestCjs, test
195 dependsOn prepareNode, test, sources.cjs.output, sources.testCjs.output
283 }
196 }
284
197
285 task npmPackBrowser {
198 task npmPackBrowser {
General Comments 0
You need to be logged in to leave comments. Login now