@@ -20,7 +20,7 @@ apply plugin: 'com.android.model.library'
20
20
21
21
buildscript {
22
22
repositories {
23
- jcenter()
23
+ jcenter()
24
24
}
25
25
dependencies {
26
26
classpath ' com.android.tools.build:gradle-experimental:0.7.0-beta3'
@@ -33,13 +33,27 @@ allprojects {
33
33
}
34
34
}
35
35
36
+
37
+
38
+ def ndkDebuggable = false ;
39
+
40
+
41
+ List<String > runTasks = gradle. startParameter. getTaskNames();
42
+ for (String runTask : runTasks) {
43
+ if (! ndkDebuggable && runTask. contains(" Debug" ) && (runTask. contains(" assemble" ) || runTask. contains(" compile" ) || runTask. contains(" generate" ))) {
44
+ println " DEBUG build DETECTED. Switching ndk debuggable to true"
45
+ ndkDebuggable = true ;
46
+ }
47
+ }
48
+
49
+
36
50
model {
37
51
android {
38
52
compileSdkVersion = 23
39
53
buildToolsVersion = " 23.0.3"
40
54
41
55
defaultConfig. with {
42
- minSdkVersion. apiLevel = 17
56
+ minSdkVersion. apiLevel = 17
43
57
targetSdkVersion. apiLevel = 22
44
58
}
45
59
@@ -50,8 +64,8 @@ model {
50
64
51
65
android. ndk {
52
66
moduleName = " NativeScript"
53
-
54
-
67
+
68
+
55
69
cppFlags. addAll([" -I${ file("src/main/jni")} " . toString(),
56
70
" -I${ file("src/main/jni/include")} " . toString()
57
71
])
@@ -65,7 +79,7 @@ model {
65
79
66
80
abiFilters. addAll([" armeabi-v7a" , " x86" , " arm64-v8a" ])
67
81
}
68
-
82
+
69
83
android. sources {
70
84
main {
71
85
java {
@@ -89,33 +103,32 @@ model {
89
103
}
90
104
}
91
105
}
92
-
106
+
93
107
android. buildTypes {
94
108
release {
95
109
minifyEnabled = false
96
110
proguardFiles. add(file(' proguard-rules.txt' ))
97
-
98
- ndk {
99
- debuggable false
100
- }
101
-
111
+
112
+ ndk {
113
+ debuggable = ndkDebuggable
114
+ }
115
+
102
116
setRuntimeCommit. dependsOn(setPackageVersion)
103
117
104
118
tasks. whenTaskAdded { task ->
105
- if (task. getName() == " androidRelease" )
106
- {
119
+ if (task. getName() == " androidRelease" ) {
107
120
task. dependsOn(setRuntimeCommit)
108
121
task. mustRunAfter setRuntimeCommit
109
122
task. finalizedBy revertVersionFile
110
- }
123
+ }
111
124
}
112
125
}
113
126
}
114
127
115
128
android. abis {
116
129
create(" armeabi-v7a" ) {
117
130
abiFilters. add(" armeabi-v7a" )
118
-
131
+
119
132
ldLibs. add(" ${ file("src/main/libs/armeabi-v7a/libv8_base.a")} " . toString())
120
133
ldLibs. add(" ${ file("src/main/libs/armeabi-v7a/libv8_libplatform.a")} " . toString())
121
134
ldLibs. add(" ${ file("src/main/libs/armeabi-v7a/libv8_libbase.a")} " . toString())
@@ -125,7 +138,7 @@ model {
125
138
126
139
create(" x86" ) {
127
140
abiFilters. add(" x86" )
128
-
141
+
129
142
ldLibs. add(" ${ file("src/main/libs/x86/libv8_base.a")} " . toString())
130
143
ldLibs. add(" ${ file("src/main/libs/x86/libv8_libplatform.a")} " . toString())
131
144
ldLibs. add(" ${ file("src/main/libs/x86/libv8_libbase.a")} " . toString())
@@ -135,37 +148,31 @@ model {
135
148
136
149
create(" arm64-v8a" ) {
137
150
abiFilters. add(" arm64-v8a" )
138
-
151
+
139
152
ldFlags. addAll([
140
- " -L${ file("src/main/libs/arm64-v8a")} " . toString(),
141
- " -lv8_base" ,
142
- " -lv8_libplatform" ,
143
- " -lv8_libbase" ,
144
- " -lv8_nosnapshot" ,
145
- " -lzip"
153
+ " -L${ file("src/main/libs/arm64-v8a")} " . toString(),
154
+ " -lv8_base" ,
155
+ " -lv8_libplatform" ,
156
+ " -lv8_libbase" ,
157
+ " -lv8_nosnapshot" ,
158
+ " -lzip"
146
159
])
147
-
160
+
161
+ // The correct way of setting these flags is not working hence the workaround above
148
162
// ldFlags.add("-L ${file("src/main/libs/arm64-v8a")}" -l v8_base".toString())
149
163
// ldFlags.add("-L ${file("src/main/libs/arm64-v8a")}" -l v8_libplatform".toString())
150
164
// ldFlags.add("-L ${file("src/main/libs/arm64-v8a")}" -l v8_libbase".toString())
151
165
// ldFlags.add("-L ${file("src/main/libs/arm64-v8a")}" -l v8_nosnapshot".toString())
152
166
// ldFlags.add("-L ${file("src/main/libs/arm64-v8a")}" -l zip".toString())
153
-
167
+
154
168
// ldLibs.add("${file("src/main/libs/arm64-v8a/libv8_base.a")}".toString())
155
169
// ldLibs.add("${file("src/main/libs/arm64-v8a/libv8_libplatform.a")}".toString())
156
170
// ldLibs.add("${file("src/main/libs/arm64-v8a/libv8_libbase.a")}".toString())
157
171
// ldLibs.add("${file("src/main/libs/arm64-v8a/libv8_nosnapshot.a")}".toString())
158
172
// ldLibs.add("${file("src/main/libs/arm64-v8a/libzip.a")}".toString())
159
173
}
160
174
}
161
-
162
-
163
- // android.variantFilter { variant ->
164
- // if (variant.buildType.name == "release") {
165
-
166
- // }
167
- // }
168
-
175
+
169
176
repositories {
170
177
prebuilt(PrebuiltLibraries ) {
171
178
v8 {
@@ -182,22 +189,21 @@ model {
182
189
}
183
190
}
184
191
185
-
186
192
dependencies {
187
- compile project(' :binding-generator' )
193
+ compile project(' :binding-generator' )
188
194
}
189
195
190
196
task setPackageVersion {
191
- onlyIf {
197
+ onlyIf {
192
198
project. hasProperty(' packageVersion' )
193
199
}
194
-
200
+
195
201
doFirst {
196
202
println " Setting runtime version: '${ packageVersion} '"
197
-
203
+
198
204
def versionFile = " $rootDir /src/main/jni//Version.h"
199
205
String contents = new File (versionFile). getText(" UTF-8" )
200
- contents = contents. replaceAll( / 0.0.0.0/ , packageVersion)
206
+ contents = contents. replaceAll(/ 0.0.0.0/ , packageVersion)
201
207
new File (versionFile). write(contents, " UTF-8" )
202
208
}
203
209
}
@@ -206,33 +212,46 @@ task setRuntimeCommit {
206
212
onlyIf {
207
213
project. hasProperty(' gitCommitVersion' )
208
214
}
209
-
215
+
210
216
doFirst {
211
217
println " Setting runtime commit: '${ gitCommitVersion} '"
212
-
218
+
213
219
def versionFile = " $rootDir /src/main/jni//Version.h"
214
220
String contents = new File (versionFile). getText(" UTF-8" )
215
221
contents = contents. replaceAll(/ RUNTIME_COMMIT_SHA_PLACEHOLDER/ , gitCommitVersion)
216
222
new File (versionFile). write(contents, " UTF-8" )
217
223
}
218
224
}
219
225
220
- task revertVersionFile (type : Exec ) {
221
-
226
+ // task setNdkDebuggable {
227
+ // println "Setting ndk debuggable: " + components.android
228
+ // doFirst {
229
+ //
230
+ // }
231
+ // }
232
+ //
233
+ // task revertNdkDebuggable {
234
+ // doFirst {
235
+ // println "Reverting ndk debuggable: " + components.android
236
+ // }
237
+ // }
238
+
239
+
240
+ task revertVersionFile (type : Exec ) {
241
+
222
242
onlyIf {
223
- project. hasProperty(' packageVersion' ) || project. hasProperty(' gitCommitVersion' )
243
+ project. hasProperty(' packageVersion' ) || project. hasProperty(' gitCommitVersion' )
224
244
}
225
-
245
+
226
246
doFirst {
227
247
def isWinOs = System . properties[' os.name' ]. toLowerCase(). contains(' windows' )
228
248
def versionFileName = " ./src/main/jni//Version.h"
229
249
def versionFilePath = new File (versionFileName). getAbsolutePath()
230
- println " Reverting Version.h file: ${ versionFilePath} "
231
-
232
- if (isWinOs) {
250
+ println " Reverting Version.h file: ${ versionFilePath} "
251
+
252
+ if (isWinOs) {
233
253
commandLine " cmd" , " /c" , " git" , " checkout" , " --" , versionFilePath
234
- }
235
- else {
254
+ } else {
236
255
commandLine " git" , " checkout" , " --" , versionFilePath
237
256
}
238
257
}
0 commit comments