@@ -7,72 +7,38 @@ apply plugin: 'com.android.library'
7
7
apply plugin : ' kotlin-android'
8
8
apply plugin : ' kotlin-parcelize'
9
9
10
- def loadPropertyFile = { path ->
11
- try {
12
- if (project. hasProperty(" loadedProperties_${ path} " )) {
13
- logger. info " \t + gradle properties already loaded. SKIPPING"
14
- } else {
15
- logger. info " \t + trying to load gradle properties from \" $path \" "
16
-
17
- Properties properties = new Properties ()
18
- properties. load(new FileInputStream (" $path " ))
19
- properties. each { prop ->
20
- logger. info " \t + [$path ] setting ${ prop.key} = ${ prop.value} "
21
- project. ext. set(prop. key, prop. value)
22
- }
23
- project. ext. set(" loadedProperties_${ path} " , true )
24
-
25
- outLogger. withStyle(Style.SuccessHeader ). println " \t + loaded gradle properties from \" $path \" "
26
- }
27
- } catch (Exception ex) {
28
- logger. warn " \t + failed to load gradle properties from \" $path \" . Error is: ${ ex.getMessage()} "
29
- }
30
- }
31
-
32
10
buildscript {
33
- def GRADLE_PROPERTIES_FILENAME = " gradle.properties"
34
-
35
- def getFile = { dir , filename ->
36
- File file = new File (" $dir $File . separator $filename " )
37
- file?. exists() ? file : null
11
+ def getDepPlatformDir = { dep ->
12
+ file(" ${ project.ext.USER_PROJECT_ROOT} /${ project.ext.PLATFORMS_ANDROID} /${ dep.directory} /$PLATFORMS_ANDROID " )
38
13
}
14
+ def computeKotlinVersion = { -> project. hasProperty(" kotlinVersion" ) ? kotlinVersion : " 1.6.0" }
15
+ def kotlinVersion = computeKotlinVersion()
16
+ repositories {
17
+ google()
18
+ jcenter()
19
+ }
20
+ dependencies {
21
+ classpath ' com.android.tools.build:gradle:{{runtimeAndroidPluginVersion}}'
22
+ classpath " org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion "
39
23
40
- def getPropertyFile = { dir ->
41
- return getFile(dir, GRADLE_PROPERTIES_FILENAME )
24
+ // NOTE: Do not place your application dependencies here; they belong
25
+ // in the individual module build.gradle files
42
26
}
43
- def getUserProperties = { dir ->
44
- def file = getPropertyFile(dir)
45
- if (! file) {
46
- return null
47
- }
48
27
49
- Properties properties = new Properties ()
50
- properties. load(file. newInputStream())
28
+ // Set up styled logger
29
+ project. ext. getDepPlatformDir = getDepPlatformDir
30
+ project. ext. outLogger = services. get(StyledTextOutputFactory ). create(" colouredOutputLogger" )
51
31
52
- return properties
53
- }
54
- def loadPropertyFile = { path ->
55
- try {
56
- if (project. hasProperty(" loadedProperties_${ path} " )) {
57
- logger. info " \t + gradle properties already loaded. SKIPPING"
58
- } else {
59
- logger. info " \t + trying to load gradle properties from \" $path \" "
60
-
61
- Properties properties = new Properties ()
62
- properties. load(new FileInputStream (" $path " ))
63
- properties. each { prop ->
64
- logger. info " \t + [$path ] setting ${ prop.key} = ${ prop.value} "
65
- project. ext. set(prop. key, prop. value)
66
- }
67
- project. ext. set(" loadedProperties_${ path} " , true )
68
-
69
- outLogger. withStyle(Style.SuccessHeader ). println " \t + loaded gradle properties from \" $path \" "
70
- }
71
- } catch (Exception ex) {
72
- logger. warn " \t + failed to load gradle properties from \" $path \" . Error is: ${ ex.getMessage()} "
73
- }
74
- }
75
- def getAppPath = { ->
32
+ project. ext. USER_PROJECT_ROOT = " $rootDir /../../.."
33
+ project. ext. PLATFORMS_ANDROID = " platforms/android"
34
+ project. ext. PLUGIN_NAME = " {{pluginName}}"
35
+
36
+ // the build script will not work with previous versions of the CLI (3.1 or earlier)
37
+ def dependenciesJson = file(" ${ project.ext.USER_PROJECT_ROOT} /${ project.ext.PLATFORMS_ANDROID} /dependencies.json" )
38
+ def appDependencies = new JsonSlurper (). parseText(dependenciesJson. text)
39
+ def pluginData = appDependencies. find { it. name == project. ext. PLUGIN_NAME }
40
+ project. ext. nativescriptDependencies = appDependencies. findAll{pluginData. dependencies. contains(it. name)}
41
+ project. ext. getAppPath = { ->
76
42
def relativePathToApp = " app"
77
43
def nsConfigFile = file(" $USER_PROJECT_ROOT /nsconfig.json" )
78
44
def nsConfig
@@ -93,7 +59,8 @@ buildscript {
93
59
94
60
return project. ext. appPath
95
61
}
96
- def getAppResourcesPath = { ->
62
+
63
+ project. ext. getAppResourcesPath = { ->
97
64
def relativePathToAppResources
98
65
def absolutePathToAppResources
99
66
def nsConfigFile = file(" $USER_PROJECT_ROOT /nsconfig.json" )
@@ -120,95 +87,6 @@ buildscript {
120
87
return absolutePathToAppResources
121
88
}
122
89
123
- def initialize = { ->
124
- // set up our logger
125
- project. ext. outLogger = services. get(StyledTextOutputFactory ). create(" colouredOutputLogger" )
126
- outLogger. withStyle(Style.SuccessHeader ). println " \t ~initialize"
127
-
128
-
129
- project. ext. USER_PROJECT_ROOT = " $rootDir /../../.."
130
- project. ext. PLATFORMS_ANDROID = " platforms/android"
131
- project. ext. PLUGIN_NAME = " {{pluginName}}"
132
-
133
- def userDir = " $USER_PROJECT_ROOT "
134
- rootProject. ext. userDefinedGradleProperties = getUserProperties(" ${ getAppResourcesPath()} /Android" )
135
-
136
- loadPropertyFile(" $USER_PROJECT_ROOT /${ project.ext.PLATFORMS_ANDROID} /gradle.properties" )
137
- loadPropertyFile(" $USER_PROJECT_ROOT /${ project.ext.PLATFORMS_ANDROID} /additional_gradle.properties" )
138
-
139
- if (rootProject. hasProperty(" userDefinedGradleProperties" )) {
140
- rootProject. ext. userDefinedGradleProperties. each { entry ->
141
- def propertyName = entry. getKey()
142
- def propertyValue = entry. getValue()
143
- project. ext. set(propertyName, propertyValue)
144
- }
145
- }
146
-
147
- def getDepPlatformDir = { dep ->
148
- file(" ${ project.ext.USER_PROJECT_ROOT} /${ project.ext.PLATFORMS_ANDROID} /${ dep.directory} /$PLATFORMS_ANDROID " )
149
- }
150
-
151
- // Set up styled logger
152
- project. ext. getDepPlatformDir = getDepPlatformDir
153
- project. ext. outLogger = services. get(StyledTextOutputFactory ). create(" colouredOutputLogger" )
154
-
155
-
156
- // the build script will not work with previous versions of the CLI (3.1 or earlier)
157
- def dependenciesJson = file(" ${ project.ext.USER_PROJECT_ROOT} /${ project.ext.PLATFORMS_ANDROID} /dependencies.json" )
158
- def appDependencies = new JsonSlurper (). parseText(dependenciesJson. text)
159
- def pluginData = appDependencies. find { it. name == project. ext. PLUGIN_NAME }
160
- project. ext. nativescriptDependencies = appDependencies. findAll{pluginData. dependencies. contains(it. name)}. plus([pluginData])
161
-
162
- project. ext. getAppResourcesPath = { ->
163
- def relativePathToAppResources
164
- def absolutePathToAppResources
165
- def nsConfigFile = file(" $USER_PROJECT_ROOT /nsconfig.json" )
166
- def nsConfig
167
-
168
- if (nsConfigFile. exists()) {
169
- nsConfig = new JsonSlurper (). parseText(nsConfigFile. getText(" UTF-8" ))
170
- }
171
-
172
- if (project. hasProperty(" appResourcesPath" )) {
173
- // when appResourcesPath is passed through -PappResourcesPath=/path/to/App_Resources
174
- // the path could be relative or absolute - either case will work
175
- relativePathToAppResources = appResourcesPath
176
- absolutePathToAppResources = Paths . get(USER_PROJECT_ROOT ). resolve(relativePathToAppResources). toAbsolutePath()
177
- } else if (nsConfig != null && nsConfig. appResourcesPath != null ) {
178
- relativePathToAppResources = nsConfig. appResourcesPath
179
- absolutePathToAppResources = Paths . get(USER_PROJECT_ROOT ). resolve(relativePathToAppResources). toAbsolutePath()
180
- } else {
181
- absolutePathToAppResources = " ${ getAppPath()} /App_Resources"
182
- }
183
-
184
- project. ext. appResourcesPath = absolutePathToAppResources
185
-
186
- return absolutePathToAppResources
187
- }
188
-
189
-
190
- project. ext. getAppPath = { ->
191
- def relativePathToApp = " app"
192
- def nsConfigFile = file(" $USER_PROJECT_ROOT /nsconfig.json" )
193
- def nsConfig
194
-
195
- if (nsConfigFile. exists()) {
196
- nsConfig = new JsonSlurper (). parseText(nsConfigFile. getText(" UTF-8" ))
197
- }
198
-
199
- if (project. hasProperty(" appPath" )) {
200
- // when appPath is passed through -PappPath=/path/to/app
201
- // the path could be relative or absolute - either case will work
202
- relativePathToApp = appPath
203
- } else if (nsConfig != null && nsConfig. appPath != null ) {
204
- relativePathToApp = nsConfig. appPath
205
- }
206
-
207
- project. ext. appPath = Paths . get(USER_PROJECT_ROOT ). resolve(relativePathToApp). toAbsolutePath()
208
-
209
- return project. ext. appPath
210
- }
211
- }
212
90
def applyBuildScriptConfigurations = { ->
213
91
def absolutePathToAppResources = getAppResourcesPath()
214
92
def pathToBuildScriptGradle = " $absolutePathToAppResources /Android/buildscript.gradle"
@@ -234,25 +112,8 @@ buildscript {
234
112
apply from : pathToPluginBuildScriptGradle, to : buildscript
235
113
}
236
114
}
237
-
238
- initialize()
239
115
applyBuildScriptConfigurations()
240
116
241
- def computeKotlinVersion = { -> project. hasProperty(" kotlinVersion" ) ? kotlinVersion : " ${ ns_default_kotlin_version} " }
242
- def computeBuildToolsVersion = { -> project. hasProperty(" androidBuildToolsVersion" ) ? androidBuildToolsVersion : " ${ NS_DEFAULT_ANDROID_BUILD_TOOLS_VERSION} " }
243
- def kotlinVersion = computeKotlinVersion()
244
- def androidBuildToolsVersion = computeBuildToolsVersion()
245
-
246
- repositories {
247
- google()
248
- mavenCentral()
249
- }
250
- dependencies {
251
- classpath " com.android.tools.build:gradle:$androidBuildToolsVersion "
252
- classpath " org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion "
253
- classpath " org.codehaus.groovy:groovy-all:3.0.8"
254
- }
255
-
256
117
}
257
118
258
119
def pluginDependencies
@@ -295,7 +156,6 @@ android {
295
156
nativescriptDependencies. each { dep ->
296
157
def includeGradlePath = " ${ getDepPlatformDir(dep)} /include.gradle"
297
158
if (file(includeGradlePath). exists()) {
298
- outLogger. withStyle(Style.SuccessHeader ). println " \t + applying plugin include.gradle from dependency ${ includeGradlePath} "
299
159
apply from : includeGradlePath
300
160
}
301
161
}
@@ -311,10 +171,6 @@ android {
311
171
versionCode 1
312
172
versionName " 1.0"
313
173
}
314
- lintOptions {
315
- checkReleaseBuilds false
316
- abortOnError false
317
- }
318
174
}
319
175
320
176
@@ -331,13 +187,9 @@ def applyBeforePluginGradleConfiguration() {
331
187
task addDependenciesFromNativeScriptPlugins {
332
188
nativescriptDependencies. each { dep ->
333
189
def aarFiles = fileTree(dir : getDepPlatformDir(dep), include : [" **/*.aar" ])
334
- def currentDirname = file(project. buildscript. sourceFile). getParentFile(). getName()
335
190
aarFiles. each { aarFile ->
336
191
def length = aarFile. name. length() - 4
337
192
def fileName = aarFile. name[0 .. < length]
338
- if (fileName == currentDirname) {
339
- return
340
- }
341
193
outLogger. withStyle(Style.SuccessHeader ). println " \t + adding aar plugin dependency: " + aarFile. getAbsolutePath()
342
194
project. dependencies. add(" implementation" , [name : fileName, ext : " aar" ])
343
195
}
0 commit comments