@akylas/nativescript-cli 8.8.7 → 8.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/config/test-deps-versions-generated.json +16 -0
  2. package/docs/man_pages/project/configuration/widget-ios.md +24 -0
  3. package/docs/man_pages/project/configuration/widget.md +24 -0
  4. package/docs/man_pages/start.md +1 -1
  5. package/lib/.d.ts +1 -0
  6. package/lib/bootstrap.js +1 -0
  7. package/lib/bun-package-manager.js +1 -1
  8. package/lib/commands/generate.js +2 -41
  9. package/lib/commands/widget.js +799 -0
  10. package/lib/common/file-system.js +1 -2
  11. package/lib/common/logger/logger.js +4 -4
  12. package/lib/common/mobile/android/android-emulator-services.js +1 -1
  13. package/lib/common/mobile/emulator-helper.js +1 -0
  14. package/lib/common/mobile/mobile-core/devices-service.js +2 -1
  15. package/lib/common/opener.js +2 -2
  16. package/lib/common/services/hooks-service.js +23 -6
  17. package/lib/constants.js +1 -1
  18. package/lib/controllers/migrate-controller.js +8 -8
  19. package/lib/controllers/prepare-controller.js +2 -4
  20. package/lib/definitions/ios.d.ts +11 -1
  21. package/lib/definitions/project.d.ts +50 -24
  22. package/lib/node-package-manager.js +1 -1
  23. package/lib/services/analytics/analytics-service.js +2 -1
  24. package/lib/services/android/gradle-build-args-service.js +1 -1
  25. package/lib/services/android-plugin-build-service.js +1 -1
  26. package/lib/services/assets-generation/assets-generation-service.js +33 -15
  27. package/lib/services/ios/spm-service.js +10 -1
  28. package/lib/services/ios-debugger-port-service.js +1 -1
  29. package/lib/services/ios-project-service.js +45 -14
  30. package/lib/services/livesync/android-livesync-tool.js +1 -1
  31. package/lib/services/project-config-service.js +12 -3
  32. package/lib/services/webpack/webpack-compiler-service.js +4 -3
  33. package/lib/tools/config-manipulation/config-transformer.js +9 -0
  34. package/package.json +47 -53
  35. package/vendor/gradle-app/app/build.gradle +347 -119
  36. package/vendor/gradle-app/build.gradle +7 -7
@@ -20,9 +20,9 @@
20
20
  * -PappResourcesPath=[app_resources_path]
21
21
  */
22
22
 
23
-
24
23
  import groovy.io.FileType
25
24
  import groovy.json.JsonSlurper
25
+ import groovy.xml.XmlSlurper
26
26
  import org.apache.commons.io.FileUtils
27
27
 
28
28
  import javax.inject.Inject
@@ -30,7 +30,6 @@ import java.nio.file.Files
30
30
  import java.nio.file.Paths
31
31
  import java.nio.file.StandardCopyOption
32
32
  import java.security.MessageDigest
33
-
34
33
  import java.util.jar.JarEntry
35
34
  import java.util.jar.JarFile
36
35
 
@@ -43,12 +42,8 @@ apply plugin: "com.android.application"
43
42
  apply from: "gradle-helpers/BuildToolTask.gradle"
44
43
  apply from: "gradle-helpers/CustomExecutionLogger.gradle"
45
44
  apply from: "gradle-helpers/AnalyticsCollector.gradle"
46
-
47
-
48
45
  apply plugin: 'kotlin-android'
49
46
  apply plugin: 'kotlin-parcelize'
50
- // apply plugin: "org.jetbrains.kotlin.android"
51
-
52
47
 
53
48
  def onlyX86 = project.hasProperty("onlyX86")
54
49
  if (onlyX86) {
@@ -88,6 +83,7 @@ def allJarLibraries = new LinkedList<String>()
88
83
  def computeKotlinVersion = { -> project.hasProperty("kotlinVersion") ? kotlinVersion : "${ns_default_kotlin_version}" }
89
84
  def computeCompileSdkVersion = { -> project.hasProperty("compileSdk") ? compileSdk as int : NS_DEFAULT_COMPILE_SDK_VERSION as int }
90
85
  def computeTargetSdkVersion = { -> project.hasProperty("targetSdk") ? targetSdk as int : NS_DEFAULT_COMPILE_SDK_VERSION as int }
86
+ def computeMinSdkVersion = { -> project.hasProperty("minSdk") ? minSdk : NS_DEFAULT_MIN_SDK_VERSION as int }
91
87
  def computeBuildToolsVersion = { ->
92
88
  project.hasProperty("buildToolsVersion") ? buildToolsVersion : NS_DEFAULT_BUILD_TOOLS_VERSION as String
93
89
  }
@@ -183,19 +179,20 @@ def setAppIdentifier = { ->
183
179
  }
184
180
 
185
181
  android {
186
- applyBeforePluginGradleConfiguration()
187
182
  namespace "__PACKAGE__"
183
+
184
+ applyBeforePluginGradleConfiguration()
188
185
 
189
186
  kotlin {
190
187
  jvmToolchain(17)
191
188
  }
192
189
 
193
190
  compileSdk computeCompileSdkVersion()
194
- buildToolsVersion computeBuildToolsVersion()
191
+ buildToolsVersion = computeBuildToolsVersion()
195
192
 
196
193
  defaultConfig {
197
194
  def manifest = new XmlSlurper().parse(file(android.sourceSets.main.manifest.srcFile))
198
- def minSdkVer = manifest."uses-sdk"."@android:minSdkVersion".text() ?: NS_DEFAULT_MIN_SDK_VERSION
195
+ def minSdkVer = manifest."uses-sdk"."@android:minSdkVersion".text() ?: computeMinSdkVersion()
199
196
  minSdkVersion minSdkVer
200
197
  targetSdkVersion computeTargetSdkVersion()
201
198
  ndk {
@@ -285,7 +282,7 @@ repositories {
285
282
  })
286
283
 
287
284
  if (!externalRuntimeExists) {
288
- pluginDependencies.add("$rootDir/app/libs/runtime-libs")
285
+ pluginDependencies.add("libs/runtime-libs")
289
286
  }
290
287
 
291
288
  def appResourcesPath = getAppResourcesPath()
@@ -390,16 +387,13 @@ dependencies {
390
387
  implementation project(':runtime')
391
388
  }
392
389
 
393
- // def kotlinVersion = computeKotlinVersion()
394
- // implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
395
-
396
390
  }
397
391
 
398
392
  ////////////////////////////////////////////////////////////////////////////////////
399
393
  ///////////////////////////// CONFIGURATION PHASE //////////////////////////////////
400
394
  ////////////////////////////////////////////////////////////////////////////////////
401
395
 
402
- task addDependenciesFromNativeScriptPlugins {
396
+ task 'addDependenciesFromNativeScriptPlugins' {
403
397
  nativescriptDependencies.each { dep ->
404
398
  def aarFiles = fileTree(dir: file("$rootDir/${dep.directory}/$PLATFORMS_ANDROID")).matching {
405
399
  include "**/*.aar"
@@ -428,7 +422,7 @@ task addDependenciesFromNativeScriptPlugins {
428
422
  }
429
423
  }
430
424
 
431
- task addDependenciesFromAppResourcesLibraries {
425
+ task 'addDependenciesFromAppResourcesLibraries' {
432
426
  def appResourcesPath = getAppResourcesPath()
433
427
  def appResourcesLibraries = file("$appResourcesPath/Android/libs")
434
428
  if (appResourcesLibraries.exists()) {
@@ -458,6 +452,7 @@ if (failOnCompilationWarningsEnabled()) {
458
452
  }
459
453
  }
460
454
 
455
+
461
456
  ////////////////////////////////////////////////////////////////////////////////////
462
457
  ///////////////////////////// EXECUTION PHASE /////////////////////////////////////
463
458
  ////////////////////////////////////////////////////////////////////////////////////
@@ -679,9 +674,13 @@ task 'collectAllJars' {
679
674
  }
680
675
  }
681
676
 
682
- task copyMetadataFilters(type: Copy) {
683
- from "$rootDir/whitelist.mdg", "$rootDir/blacklist.mdg"
684
- into "$BUILD_TOOLS_PATH"
677
+ task copyMetadataFilters {
678
+ outputs.files("$BUILD_TOOLS_PATH/whitelist.mdg", "$BUILD_TOOLS_PATH/blacklist.mdg")
679
+ // use an explicit copy task here because the copy task itselfs marks the whole built-tools as an output!
680
+ copy {
681
+ from file("$rootDir/whitelist.mdg"), file("$rootDir/blacklist.mdg")
682
+ into "$BUILD_TOOLS_PATH"
683
+ }
685
684
  }
686
685
 
687
686
  task 'copyMetadata' {
@@ -717,8 +716,168 @@ task buildMetadata(type: BuildToolTask) {
717
716
  dependsOn ':android-metadata-generator:jar'
718
717
  }
719
718
 
719
+
720
+
721
+ android.applicationVariants.all { variant ->
722
+ def buildTypeName = variant.buildType.name.capitalize()
723
+ def mergeShadersTaskName = "merge${buildTypeName}Shaders"
724
+ def mergeShadersTask = tasks.findByName(mergeShadersTaskName)
725
+
726
+ if (mergeShadersTask) {
727
+ dependsOn mergeShadersTask
728
+ }
729
+
730
+ def compileJavaWithJavacTaskName = "compile${buildTypeName}JavaWithJavac"
731
+ def compileJavaWithJavacTask = tasks.findByName(compileJavaWithJavacTaskName)
732
+
733
+
734
+ if (compileJavaWithJavacTask) {
735
+ dependsOn compileJavaWithJavacTask
736
+ }
737
+
738
+ def compileKotlinTaskName = "compile${buildTypeName}Kotlin"
739
+ def compileKotlinTask = tasks.findByName(compileKotlinTaskName)
740
+
741
+
742
+ if (compileKotlinTask) {
743
+ dependsOn compileKotlinTask
744
+ }
745
+
746
+
747
+ def mergeDexTaskName = "mergeDex${buildTypeName}"
748
+ def mergeDexTask = tasks.findByName(mergeDexTaskName)
749
+
750
+ if (mergeDexTask) {
751
+ dependsOn mergeDexTask
752
+ }
753
+
754
+ def checkDuplicateClassesTaskName = "check${buildTypeName}DuplicateClasses"
755
+ def checkDuplicateClassesTask = tasks.findByName(checkDuplicateClassesTaskName)
756
+
757
+ if (checkDuplicateClassesTask) {
758
+ dependsOn checkDuplicateClassesTask
759
+ }
760
+
761
+ def generateBuildConfigTaskName = "generate${buildTypeName}BuildConfig"
762
+ def generateBuildConfigTask = tasks.findByName(generateBuildConfigTaskName)
763
+
764
+ if (generateBuildConfigTask) {
765
+ dependsOn generateBuildConfigTask
766
+ }
767
+
768
+ def dexBuilderTaskName = "dexBuilder${buildTypeName}"
769
+ def dexBuilderTask = tasks.findByName(dexBuilderTaskName)
770
+
771
+ if (dexBuilderTask) {
772
+ dependsOn dexBuilderTask
773
+ }
774
+
775
+
776
+ def mergeExtDexTaskName = "mergeExtDex${buildTypeName}"
777
+ def mergeExtDexTask = tasks.findByName(mergeExtDexTaskName)
778
+
779
+ if (mergeExtDexTask) {
780
+ dependsOn mergeExtDexTask
781
+ }
782
+
783
+ def mergeLibDexTaskName = "mergeLibDex${buildTypeName}"
784
+ def mergeLibDexTask = tasks.findByName(mergeLibDexTaskName)
785
+
786
+ if (mergeLibDexTask) {
787
+ dependsOn mergeLibDexTask
788
+ }
789
+
790
+ def mergeProjectDexTaskName = "mergeProjectDex${buildTypeName}"
791
+ def mergeProjectDexTask = tasks.findByName(mergeProjectDexTaskName)
792
+
793
+ if (mergeProjectDexTask) {
794
+ dependsOn mergeProjectDexTask
795
+ }
796
+
797
+ def syncLibJarsTaskName = "sync${buildTypeName}LibJars"
798
+ def syncLibJarsTask = tasks.findByName(syncLibJarsTaskName)
799
+
800
+ if (syncLibJarsTask) {
801
+ dependsOn syncLibJarsTask
802
+ }
803
+
804
+ def mergeJavaResourceTaskName = "merge${buildTypeName}JavaResource"
805
+ def mergeJavaResourceTask = tasks.findByName(mergeJavaResourceTaskName)
806
+
807
+ if (mergeJavaResourceTask) {
808
+ dependsOn mergeJavaResourceTask
809
+ }
810
+
811
+ def mergeJniLibFoldersTaskName = "merge${buildTypeName}JniLibFolders"
812
+ def mergeJniLibFoldersTask = tasks.findByName(mergeJniLibFoldersTaskName)
813
+
814
+ if (mergeJniLibFoldersTask) {
815
+ dependsOn mergeJniLibFoldersTask
816
+ }
817
+
818
+ def mergeNativeLibsTaskName = "merge${buildTypeName}NativeLibs"
819
+ def mergeNativeLibsTask = tasks.findByName(mergeNativeLibsTaskName)
820
+
821
+ if (mergeNativeLibsTask) {
822
+ dependsOn mergeNativeLibsTask
823
+ }
824
+
825
+ def stripDebugSymbolsTaskName = "strip${buildTypeName}DebugSymbols"
826
+ def stripDebugSymbolsTask = tasks.findByName(stripDebugSymbolsTaskName)
827
+
828
+ if (stripDebugSymbolsTask) {
829
+ dependsOn stripDebugSymbolsTask
830
+ }
831
+
832
+ def validateSigningTaskName = "validateSigning${buildTypeName}"
833
+ def validateSigningTask = tasks.findByName(validateSigningTaskName)
834
+
835
+ if (validateSigningTask) {
836
+ dependsOn validateSigningTask
837
+ }
838
+
839
+
840
+ def extractProguardFilesTaskName = "extractProguardFiles"
841
+ def extractProguardFilesTask = tasks.findByName(extractProguardFilesTaskName)
842
+
843
+ if (extractProguardFilesTask) {
844
+ dependsOn extractProguardFilesTask
845
+ }
846
+
847
+
848
+ // def compileArtProfileTaskName = "compile${buildTypeName}ArtProfile"
849
+ // def compileArtProfileTask = tasks.findByName(compileArtProfileTaskName)
850
+
851
+ // if (compileArtProfileTask) {
852
+ // dependsOn compileArtProfileTask
853
+ // }
854
+
855
+
856
+ def extractNativeSymbolTablesTaskName = "extract${buildTypeName}NativeSymbolTables"
857
+ def extractNativeSymbolTablesTask = tasks.findByName(extractNativeSymbolTablesTaskName)
858
+
859
+ if (extractNativeSymbolTablesTask) {
860
+ dependsOn extractNativeSymbolTablesTask
861
+ }
862
+
863
+
864
+ // def optimizeResourcesTaskName = "optimize${buildTypeName}Resources"
865
+ // def optimizeResourcesTask = tasks.findByName(optimizeResourcesTaskName)
866
+
867
+ // if (optimizeResourcesTask) {
868
+ // dependsOn optimizeResourcesTask
869
+ // }
870
+
871
+ def bundleResourcesTaskName = "bundle${buildTypeName}Resources"
872
+ def bundleResourcesTask = tasks.findByName(bundleResourcesTaskName)
873
+
874
+ if (bundleResourcesTask) {
875
+ dependsOn bundleResourcesTask
876
+ }
877
+
878
+ }
879
+
720
880
  dependsOn copyMetadataFilters
721
- dependsOn collectAllJars
722
881
 
723
882
  // As some external gradle plugins can reorder the execution order of the tasks it may happen that buildMetadata is executed after merge{Debug/Release}Assets
724
883
  // in that case the metadata won't be included in the result apk and it will crash, so to avoid this we are adding the copyMetadata task which will manually copy
@@ -733,7 +892,9 @@ task buildMetadata(type: BuildToolTask) {
733
892
  inputs.files("$MDG_JAVA_DEPENDENCIES")
734
893
 
735
894
  // make MDG aware of whitelist.mdg and blacklist.mdg files
736
- inputs.files(project.fileTree(dir: "$rootDir", include: "**/*.mdg"))
895
+ // inputs.files(project.fileTree(dir: "$rootDir", include: "**/*.mdg"))
896
+ // use explicit inputs as the above makes the whole build-tools directory an input!
897
+ inputs.files("$BUILD_TOOLS_PATH/whitelist.mdg", "$BUILD_TOOLS_PATH/blacklist.mdg")
737
898
 
738
899
  def classesDir = layout.buildDirectory.dir("intermediates/javac").get().asFile
739
900
  if (classesDir.exists()) {
@@ -797,7 +958,7 @@ task buildMetadata(type: BuildToolTask) {
797
958
  }
798
959
 
799
960
  def store = new ArrayList<File>()
800
- for (String dir : generatedClasses){
961
+ for (String dir : generatedClasses) {
801
962
  listf(dir, store)
802
963
  }
803
964
 
@@ -822,6 +983,10 @@ task buildMetadata(type: BuildToolTask) {
822
983
  def paramz = new ArrayList<String>()
823
984
  paramz.add(Paths.get(rootPath, "android-metadata-generator.jar"))
824
985
 
986
+ // if (enableAnalytics) {
987
+ // paramz.add("analyticsFilePath=$analyticsFilePath")
988
+ // }
989
+
825
990
  if (enableVerboseMDG) {
826
991
  paramz.add("verbose")
827
992
  }
@@ -944,120 +1109,183 @@ cleanSbg.dependsOn(cleanMdg)
944
1109
  clean.dependsOn(cleanSbg)
945
1110
 
946
1111
 
947
- tasks.configureEach { DefaultTask currentTask ->
948
- if (currentTask =~ /generate.+BuildConfig/) {
949
- currentTask.finalizedBy(extractAllJars)
950
- extractAllJars.finalizedBy(collectAllJars)
951
- }
1112
+ //dependsOn {
1113
+ // pattern {
1114
+ // include "merge*.Shaders" // Matches tasks starting with "merge" and ending with "Shaders"
1115
+ // }
1116
+ //}
1117
+
1118
+ tasks.configureEach({ DefaultTask currentTask ->
1119
+ // println "\t ~ [DEBUG][app] build.gradle - currentTask = ${currentTask.name} ..."
1120
+
952
1121
  if (currentTask =~ /compile.+JavaWithJavac/) {
953
1122
  currentTask.dependsOn(runSbg)
954
- currentTask.finalizedBy(buildMetadata)
1123
+ }
1124
+
1125
+ if (currentTask =~ /mergeDex.+/) {
1126
+ currentTask.dependsOn(runSbg)
955
1127
  }
956
1128
 
957
1129
  if (currentTask =~ /compile.+Kotlin.+/) {
958
1130
  currentTask.dependsOn(runSbg)
959
- currentTask.finalizedBy(buildMetadata)
960
1131
  }
961
1132
 
962
1133
  if (currentTask =~ /merge.*Assets/) {
963
1134
  currentTask.dependsOn(buildMetadata)
964
1135
  }
965
- // ensure buildMetadata is done before R8 to allow custom proguard from metadata
1136
+
1137
+ // // ensure buildMetadata is done before R8 to allow custom proguard from metadata
966
1138
  if (currentTask =~ /minify.*WithR8/) {
967
- currentTask.dependsOn(buildMetadata)
1139
+ buildMetadata.finalizedBy(currentTask)
968
1140
  }
969
1141
  if (currentTask =~ /assemble.*Debug/ || currentTask =~ /assemble.*Release/) {
970
1142
  currentTask.finalizedBy("validateAppIdMatch")
971
1143
  }
972
1144
 
973
- // added because of a error with gradle 8 telling us to add this
974
- // because buildMetadata uses the output of those
975
- // TODO: there must be a way to make it simpler
976
- if (!(currentTask =~ /AndroidTest/) &&
977
- (currentTask =~ /process.+Resources/ ||
978
- currentTask =~ /desugar.+FileDependencies/ ||
979
- currentTask =~ /desugarBenchmarkFileDependencies/ ||
980
- currentTask =~ /dexBuilder.+/ ||
981
- currentTask =~ /check.*DuplicateClasses/ ||
982
- currentTask =~ /merge.+Shaders/ ||
983
- currentTask =~ /merge.*JavaResource/ ||
984
- currentTask =~ /merge.+GlobalSynthetics/ ||
985
- currentTask =~ /merge.+JniLibFolders/ ||
986
- currentTask =~ /merge.+NativeLibs/ ||
987
- currentTask =~ /mergeDex.+/ ||
988
- currentTask =~ /mergeLibDex.+/ ||
989
- currentTask =~ /mergeProjectDex.+/ ||
990
- currentTask =~ /mergeExtDex.+/ ||
991
- currentTask =~ /mergeExtDexBenchmark/ ||
992
- currentTask =~ /mergeExtDexNonMinified.+/ ||
993
- currentTask =~ /mergeDexBenchmark/ ||
994
- currentTask =~ /mergeDexNonMinified.+/ ||
995
- currentTask =~ /mergeBenchmark.+JavaResource/ ||
996
- currentTask =~ /mergeBenchmarkShaders/ ||
997
- currentTask =~ /mergeBenchmarkJavaResource/ ||
998
- currentTask =~ /mergeBenchmarkJniLibFolders/ ||
999
- currentTask =~ /mergeBenchmarkNativeLibs/ ||
1000
- currentTask =~ /mergeNonMinified.+Shaders/ ||
1001
- currentTask =~ /mergeNonMinified.+JavaResource/ ||
1002
- currentTask =~ /mergeNonMinified.+JniLibFolders/ ||
1003
- currentTask =~ /mergeNonMinified.+NativeLibs/ ||
1004
- currentTask =~ /strip.*DebugSymbols/ ||
1005
- currentTask =~ /stripBenchmark.+Symbols/ ||
1006
- currentTask =~ /stripNonMinified.+DebugSymbols/ ||
1007
- currentTask =~ /extract.+NativeSymbolTables/ ||
1008
- currentTask =~ /extractProguardFiles/ ||
1009
- currentTask =~ /checkBenchmarkDuplicateClasses/ ||
1010
- currentTask =~ /checkBenchmark.+DuplicateClasses/ ||
1011
- currentTask =~ /bundle.*Resources/ ||
1012
- // currentTask =~ /compile.*ArtProfile/ ||
1013
- currentTask =~ /extractBenchmarkNativeSymbolTables/ ||
1014
- currentTask =~ /buildKotlinToolingMetadata/ ||
1015
- currentTask =~ /validateSigning.*/ ||
1016
- currentTask =~ /generate.+LintVitalReportMode/ ||
1017
- currentTask =~ /lintVitalAnalyze.+/ ||
1018
- currentTask =~ /lintAnalyze.*/ ||
1019
- currentTask =~ /sync.+LibJars/ ||
1020
- currentTask =~ /processNonMinified.+JavaRes/ ||
1021
- currentTask =~ /process.*JavaRes/ ||
1022
- // currentTask =~ /optimize.+Resources/ ||
1023
- currentTask =~ /lintAnalyze.*UnitTest/ ||
1024
- currentTask =~ /buildCMake.*/ ||
1025
- currentTask =~ /configureCMake.*/ ||
1026
- currentTask =~ /transform.+ClassesWithAsm/ ||
1027
- currentTask =~ /generate.*AndroidTestLintModel/ ||
1028
- currentTask =~ /generate.*UnitTestLintModel/ ||
1029
- // because of sentry plugin. There must be a better way
1030
- currentTask =~ /transformDebugClassesWithAsm/ ||
1031
- currentTask =~ /generateSentryDebugMetaPropertiesDebug/ ||
1032
- currentTask =~ /generateSentryBundleId.*/ ||
1033
- currentTask =~ /collectExternal.+/
1034
- )) {
1035
- currentTask.finalizedBy(buildMetadata)
1036
- }
1037
- if (
1038
- currentTask =~ /generateSentryBundleId.*/ ||
1039
- currentTask =~ /sentryCollectSources.*/
1040
- ) {
1041
- currentTask.mustRunAfter(runSbg)
1042
- }
1043
- if (
1044
- currentTask =~ /generate.*AndroidTestResValues/
1045
- ) {
1046
- buildMetadata.dependsOn(currentTask)
1047
- }
1048
- if (
1049
- currentTask =~ /generate.*UnitTestLintModel/ ||
1050
- currentTask =~ /sentryCollectSourcesRelease/ ||
1051
- currentTask =~ /compile.*ArtProfile/
1052
- ) {
1053
- currentTask.mustRunAfter(buildMetadata)
1054
- }
1055
- // added because of a error with gradle 8 telling us to add this
1056
- // because buildMetadata uses the output of those
1057
- // TODO: there must be a way to make it simpler
1058
- if (!(currentTask =~ /AndroidTest/) && (
1059
- currentTask =~ /process.+Resources/
1060
- )) {
1145
+ if (currentTask =~ /process.+Resources/) {
1061
1146
  cleanupAllJars.dependsOn(currentTask)
1062
1147
  }
1063
- }
1148
+
1149
+ // if (currentTask.name == "extractProguardFiles") {
1150
+ // currentTask.finalizedBy(buildMetadata)
1151
+ // }
1152
+ //
1153
+ if (currentTask =~ /generate.+LintVitalReportModel/) {
1154
+ currentTask.dependsOn(buildMetadata)
1155
+ }
1156
+
1157
+ if (currentTask =~ /lintVitalAnalyze.+/) {
1158
+ currentTask.dependsOn(buildMetadata)
1159
+ }
1160
+ //
1161
+ // if (currentTask =~ /merge.+GlobalSynthetics/) {
1162
+ // currentTask.finalizedBy(buildMetadata)
1163
+ // }
1164
+ //
1165
+ // if (currentTask =~ /optimize.+Resources/) {
1166
+ // currentTask.finalizedBy(buildMetadata)
1167
+ // }
1168
+ //
1169
+ // if (currentTask =~ /buildCMake.*/) {
1170
+ // currentTask.finalizedBy(buildMetadata)
1171
+ // }
1172
+ //
1173
+ // if (currentTask =~ /configureCMake.*/) {
1174
+ // currentTask.finalizedBy(buildMetadata)
1175
+ // }
1176
+ //
1177
+ // if (currentTask =~ /validateSigning.*/) {
1178
+ // currentTask.finalizedBy(buildMetadata)
1179
+ // }
1180
+ //
1181
+ // if (currentTask =~ /generate.*LintReportModel/) {
1182
+ // currentTask.finalizedBy(buildMetadata)
1183
+ // }
1184
+ //
1185
+ // if (currentTask =~ /generate.*AndroidTestResValues/) {
1186
+ // // buildMetadata.dependsOn(currentTask)
1187
+ // currentTask.finalizedBy(buildMetadata)
1188
+ // }
1189
+ //
1190
+ // if (currentTask =~ /generate.*AndroidTestLintModel/) {
1191
+ // currentTask.finalizedBy(buildMetadata)
1192
+ // }
1193
+ //
1194
+ // if (currentTask =~ /generate.*UnitTestLintModel/) {
1195
+ // buildMetadata.mustRunAfter(currentTask)
1196
+ // }
1197
+ //
1198
+ // if (currentTask =~ /generate.*UnitTestLintModel/) {
1199
+ // currentTask.finalizedBy(buildMetadata)
1200
+ // }
1201
+ //
1202
+ //
1203
+ // if (currentTask =~ /lintAnalyze.*UnitTest/) {
1204
+ // currentTask.finalizedBy(buildMetadata)
1205
+ // }
1206
+ //
1207
+ // if (currentTask =~ /process.*JavaRes/) {
1208
+ // currentTask.finalizedBy(buildMetadata)
1209
+ // }
1210
+ //
1211
+ // if (currentTask =~ /strip.*DebugSymbols/) {
1212
+ // currentTask.finalizedBy(buildMetadata)
1213
+ // }
1214
+ //
1215
+ // if (currentTask =~ /merge.*JavaResource/) {
1216
+ // currentTask.finalizedBy(buildMetadata)
1217
+ // }
1218
+ //
1219
+ // if (currentTask =~ /lintAnalyze.*/) {
1220
+ // currentTask.finalizedBy(buildMetadata)
1221
+ // }
1222
+ //
1223
+ // if (currentTask =~ /lintAnalyze.*AndroidTest/) {
1224
+ // currentTask.finalizedBy(buildMetadata)
1225
+ // }
1226
+ //
1227
+ // if (currentTask =~ /bundle.*Resources/) {
1228
+ // currentTask.finalizedBy(buildMetadata)
1229
+ // }
1230
+ //
1231
+ // if (currentTask =~ /compile.*ArtProfile/) {
1232
+ // currentTask.mustRunAfter(buildMetadata)
1233
+ // }
1234
+ //
1235
+ // if (currentTask =~ /check.*DuplicateClasses/) {
1236
+ // currentTask.finalizedBy(buildMetadata)
1237
+ // }
1238
+ //
1239
+ // if (currentTask =~ /check.*AarMetadata/) {
1240
+ // currentTask.finalizedBy(buildMetadata)
1241
+ // }
1242
+ //
1243
+ // if (currentTask =~ /create.*CompatibleScreenManifests/) {
1244
+ // currentTask.finalizedBy(buildMetadata)
1245
+ // }
1246
+ //
1247
+ // if (currentTask =~ /process.*Manifest/) {
1248
+ // currentTask.finalizedBy(buildMetadata)
1249
+ // }
1250
+ //
1251
+ // if (currentTask =~ /generate.*ResValues/) {
1252
+ // currentTask.finalizedBy(buildMetadata)
1253
+ // }
1254
+ //
1255
+ // if (currentTask =~ /merge.*Resources/) {
1256
+ // currentTask.finalizedBy(buildMetadata)
1257
+ // }
1258
+ //
1259
+ // if (currentTask =~ /package.*Resources/) {
1260
+ // currentTask.finalizedBy(buildMetadata)
1261
+ // }
1262
+ //
1263
+ // if (currentTask =~ /process.*Resources/) {
1264
+ // currentTask.finalizedBy(buildMetadata)
1265
+ // }
1266
+ //
1267
+ // if (currentTask =~ /desugar.*Dependencies/) {
1268
+ // currentTask.finalizedBy(buildMetadata)
1269
+ // }
1270
+ //
1271
+ // if (currentTask =~ /merge.*JniLibFolders/) {
1272
+ // currentTask.finalizedBy(buildMetadata)
1273
+ // }
1274
+
1275
+ })
1276
+
1277
+ rootProject.subprojects.forEach {
1278
+ it.tasks.configureEach({ DefaultTask currentTask ->
1279
+ if (currentTask =~ /.+bundleLibCompileToJar.*/) {
1280
+ currentTask.finalizedBy(cleanupAllJars)
1281
+ }
1282
+
1283
+ if (currentTask =~ /bundleLibRuntimeToDir.*/) {
1284
+ currentTask.finalizedBy(buildMetadata)
1285
+ }
1286
+
1287
+ if (currentTask =~ /compile.*LibraryResources/) {
1288
+ currentTask.finalizedBy(buildMetadata)
1289
+ }
1290
+ })
1291
+ }
@@ -38,9 +38,9 @@ version of the {N} CLI install a previous version of the runtime package - 'tns
38
38
  """)
39
39
  }
40
40
 
41
- project.ext.extractedDependenciesDir = "${project.buildDir}/exploded-dependencies"
42
- project.ext.cleanupAllJarsTimestamp = "${project.buildDir}/cleanupAllJars.timestamp"
43
- project.ext.extractAllJarsTimestamp = "${project.buildDir}/extractAllJars.timestamp"
41
+ project.ext.extractedDependenciesDir = "${project.layout.buildDirectory.dir("exploded-dependencies").get().asFile}"
42
+ project.ext.cleanupAllJarsTimestamp = "${project.layout.buildDirectory.file("cleanupAllJars.timestamp").get().asFile}"
43
+ project.ext.extractAllJarsTimestamp = "${project.layout.buildDirectory.file("extractAllJars.timestamp").get().asFile}"
44
44
 
45
45
 
46
46
  project.ext.nativescriptDependencies = new JsonSlurper().parseText(dependenciesJson.text)
@@ -144,7 +144,7 @@ version of the {N} CLI install a previous version of the runtime package - 'tns
144
144
  dependencies {
145
145
  classpath "com.android.tools.build:gradle:$androidBuildToolsVersion"
146
146
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
147
- classpath "org.codehaus.groovy:groovy-all:3.0.8"
147
+ classpath "org.apache.groovy:groovy-all:4.0.21"
148
148
  }
149
149
  }
150
150
 
@@ -165,6 +165,6 @@ allprojects {
165
165
  }
166
166
  }
167
167
 
168
- task clean(type: Delete) {
169
- delete rootProject.buildDir
170
- }
168
+ task clean (type:Delete) {
169
+ delete rootProject.layout.buildDirectory.get().asFile
170
+ }