@akylas/nativescript-cli 8.8.7 → 8.10.0

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 (85) hide show
  1. package/config/test-deps-versions-generated.json +16 -0
  2. package/docs/build-jekyll-md.sh +1 -1
  3. package/docs/man_pages/config/config-get.md +36 -0
  4. package/docs/man_pages/config/config-set.md +40 -0
  5. package/docs/man_pages/config/config.md +39 -0
  6. package/docs/man_pages/project/configuration/widget-ios.md +24 -0
  7. package/docs/man_pages/project/configuration/widget.md +24 -0
  8. package/docs/man_pages/project/hooks/hooks.md +35 -0
  9. package/docs/man_pages/start.md +2 -1
  10. package/lib/.d.ts +9 -3
  11. package/lib/bootstrap.js +4 -1
  12. package/lib/bun-package-manager.js +1 -1
  13. package/lib/color.js +38 -7
  14. package/lib/commands/build.js +18 -2
  15. package/lib/commands/clean.js +1 -2
  16. package/lib/commands/config.js +1 -1
  17. package/lib/commands/embedding/embed.js +1 -1
  18. package/lib/commands/generate.js +2 -41
  19. package/lib/commands/hooks/common.js +79 -0
  20. package/lib/commands/hooks/hooks-lock.js +100 -0
  21. package/lib/commands/hooks/hooks.js +71 -0
  22. package/lib/commands/post-install.js +2 -2
  23. package/lib/commands/typings.js +29 -18
  24. package/lib/commands/widget.js +799 -0
  25. package/lib/common/definitions/extensibility.d.ts +2 -2
  26. package/lib/common/definitions/mobile.d.ts +72 -72
  27. package/lib/common/file-system.js +1 -2
  28. package/lib/common/header.js +3 -3
  29. package/lib/common/logger/layouts/cli-layout.js +1 -1
  30. package/lib/common/logger/logger.js +5 -5
  31. package/lib/common/mobile/android/android-device.js +1 -1
  32. package/lib/common/mobile/android/android-emulator-services.js +9 -7
  33. package/lib/common/mobile/device-log-provider.js +3 -4
  34. package/lib/common/mobile/emulator-helper.js +1 -0
  35. package/lib/common/mobile/mobile-core/devices-service.js +2 -1
  36. package/lib/common/opener.js +2 -2
  37. package/lib/common/project-helper.js +15 -2
  38. package/lib/common/services/hooks-service.js +23 -6
  39. package/lib/common/verify-node-version.js +1 -1
  40. package/lib/constants.js +8 -5
  41. package/lib/controllers/migrate-controller.js +11 -12
  42. package/lib/controllers/prepare-controller.js +11 -13
  43. package/lib/controllers/run-controller.js +1 -1
  44. package/lib/declarations.d.ts +5 -0
  45. package/lib/definitions/hooks.d.ts +1 -0
  46. package/lib/definitions/ios.d.ts +11 -1
  47. package/lib/definitions/nativescript-dev-xcode.d.ts +25 -1
  48. package/lib/definitions/project.d.ts +102 -25
  49. package/lib/definitions/temp-service.d.ts +6 -2
  50. package/lib/helpers/key-command-helper.js +2 -1
  51. package/lib/nativescript-cli.js +28 -0
  52. package/lib/node-package-manager.js +1 -1
  53. package/lib/options.js +4 -0
  54. package/lib/project-data.js +10 -4
  55. package/lib/services/analytics/analytics-broker-process.js +1 -1
  56. package/lib/services/analytics/analytics-service.js +2 -1
  57. package/lib/services/analytics-settings-service.js +2 -1
  58. package/lib/services/android/gradle-build-args-service.js +8 -4
  59. package/lib/services/android/gradle-build-service.js +4 -1
  60. package/lib/services/android-plugin-build-service.js +1 -1
  61. package/lib/services/android-project-service.js +12 -10
  62. package/lib/services/assets-generation/assets-generation-service.js +33 -15
  63. package/lib/services/{webpack/webpack-compiler-service.js → bundler/bundler-compiler-service.js} +258 -88
  64. package/lib/services/bundler/bundler.js +2 -0
  65. package/lib/services/extensibility-service.js +1 -1
  66. package/lib/services/ios/spm-service.js +22 -2
  67. package/lib/services/ios/xcodebuild-args-service.js +7 -5
  68. package/lib/services/ios-debugger-port-service.js +1 -1
  69. package/lib/services/ios-project-service.js +45 -15
  70. package/lib/services/ios-watch-app-service.js +540 -16
  71. package/lib/services/livesync/android-livesync-tool.js +4 -2
  72. package/lib/services/plugins-service.js +1 -0
  73. package/lib/services/project-changes-service.js +1 -1
  74. package/lib/services/project-config-service.js +12 -3
  75. package/lib/services/temp-service.js +16 -4
  76. package/lib/services/versions-service.js +2 -1
  77. package/lib/tools/config-manipulation/config-transformer.js +9 -0
  78. package/package.json +59 -66
  79. package/vendor/aab-tool/README.txt +1 -1
  80. package/vendor/aab-tool/bundletool.jar +0 -0
  81. package/vendor/gradle-app/app/build.gradle +365 -130
  82. package/vendor/gradle-app/app/gradle.properties +45 -0
  83. package/vendor/gradle-app/build.gradle +7 -7
  84. package/vendor/gradle-plugin/build.gradle +7 -6
  85. package/lib/services/webpack/webpack.d.ts +0 -227
@@ -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 {
@@ -222,21 +219,27 @@ android {
222
219
 
223
220
  signingConfigs {
224
221
  release {
225
- if (project.hasProperty("release")) {
226
- if (project.hasProperty("ksPath") &&
227
- project.hasProperty("ksPassword") &&
228
- project.hasProperty("alias") &&
229
- project.hasProperty("password")) {
230
-
231
- storeFile file(ksPath)
232
- storePassword ksPassword
233
- keyAlias alias
234
- keyPassword password
235
- }
222
+ if (project.hasProperty("ksPath") &&
223
+ project.hasProperty("ksPassword") &&
224
+ project.hasProperty("alias") &&
225
+ project.hasProperty("password")) {
226
+
227
+ storeFile file(ksPath)
228
+ storePassword ksPassword
229
+ keyAlias alias
230
+ keyPassword password
236
231
  }
237
232
  }
238
233
  }
239
234
  buildTypes {
235
+ debug {
236
+ if (project.hasProperty("ksPath") &&
237
+ project.hasProperty("ksPassword") &&
238
+ project.hasProperty("alias") &&
239
+ project.hasProperty("password")) {
240
+ signingConfig signingConfigs.release
241
+ }
242
+ }
240
243
  release {
241
244
  signingConfig signingConfigs.release
242
245
  }
@@ -285,7 +288,7 @@ repositories {
285
288
  })
286
289
 
287
290
  if (!externalRuntimeExists) {
288
- pluginDependencies.add("$rootDir/app/libs/runtime-libs")
291
+ pluginDependencies.add("libs/runtime-libs")
289
292
  }
290
293
 
291
294
  def appResourcesPath = getAppResourcesPath()
@@ -390,16 +393,13 @@ dependencies {
390
393
  implementation project(':runtime')
391
394
  }
392
395
 
393
- // def kotlinVersion = computeKotlinVersion()
394
- // implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
395
-
396
396
  }
397
397
 
398
398
  ////////////////////////////////////////////////////////////////////////////////////
399
399
  ///////////////////////////// CONFIGURATION PHASE //////////////////////////////////
400
400
  ////////////////////////////////////////////////////////////////////////////////////
401
401
 
402
- task addDependenciesFromNativeScriptPlugins {
402
+ task 'addDependenciesFromNativeScriptPlugins' {
403
403
  nativescriptDependencies.each { dep ->
404
404
  def aarFiles = fileTree(dir: file("$rootDir/${dep.directory}/$PLATFORMS_ANDROID")).matching {
405
405
  include "**/*.aar"
@@ -428,7 +428,7 @@ task addDependenciesFromNativeScriptPlugins {
428
428
  }
429
429
  }
430
430
 
431
- task addDependenciesFromAppResourcesLibraries {
431
+ task 'addDependenciesFromAppResourcesLibraries' {
432
432
  def appResourcesPath = getAppResourcesPath()
433
433
  def appResourcesLibraries = file("$appResourcesPath/Android/libs")
434
434
  if (appResourcesLibraries.exists()) {
@@ -458,6 +458,7 @@ if (failOnCompilationWarningsEnabled()) {
458
458
  }
459
459
  }
460
460
 
461
+
461
462
  ////////////////////////////////////////////////////////////////////////////////////
462
463
  ///////////////////////////// EXECUTION PHASE /////////////////////////////////////
463
464
  ////////////////////////////////////////////////////////////////////////////////////
@@ -679,9 +680,13 @@ task 'collectAllJars' {
679
680
  }
680
681
  }
681
682
 
682
- task copyMetadataFilters(type: Copy) {
683
- from "$rootDir/whitelist.mdg", "$rootDir/blacklist.mdg"
684
- into "$BUILD_TOOLS_PATH"
683
+ task copyMetadataFilters {
684
+ outputs.files("$BUILD_TOOLS_PATH/whitelist.mdg", "$BUILD_TOOLS_PATH/blacklist.mdg")
685
+ // use an explicit copy task here because the copy task itselfs marks the whole built-tools as an output!
686
+ copy {
687
+ from file("$rootDir/whitelist.mdg"), file("$rootDir/blacklist.mdg")
688
+ into "$BUILD_TOOLS_PATH"
689
+ }
685
690
  }
686
691
 
687
692
  task 'copyMetadata' {
@@ -717,8 +722,168 @@ task buildMetadata(type: BuildToolTask) {
717
722
  dependsOn ':android-metadata-generator:jar'
718
723
  }
719
724
 
725
+
726
+
727
+ android.applicationVariants.all { variant ->
728
+ def buildTypeName = variant.buildType.name.capitalize()
729
+ def mergeShadersTaskName = "merge${buildTypeName}Shaders"
730
+ def mergeShadersTask = tasks.findByName(mergeShadersTaskName)
731
+
732
+ if (mergeShadersTask) {
733
+ dependsOn mergeShadersTask
734
+ }
735
+
736
+ def compileJavaWithJavacTaskName = "compile${buildTypeName}JavaWithJavac"
737
+ def compileJavaWithJavacTask = tasks.findByName(compileJavaWithJavacTaskName)
738
+
739
+
740
+ if (compileJavaWithJavacTask) {
741
+ dependsOn compileJavaWithJavacTask
742
+ }
743
+
744
+ def compileKotlinTaskName = "compile${buildTypeName}Kotlin"
745
+ def compileKotlinTask = tasks.findByName(compileKotlinTaskName)
746
+
747
+
748
+ if (compileKotlinTask) {
749
+ dependsOn compileKotlinTask
750
+ }
751
+
752
+
753
+ def mergeDexTaskName = "mergeDex${buildTypeName}"
754
+ def mergeDexTask = tasks.findByName(mergeDexTaskName)
755
+
756
+ if (mergeDexTask) {
757
+ dependsOn mergeDexTask
758
+ }
759
+
760
+ def checkDuplicateClassesTaskName = "check${buildTypeName}DuplicateClasses"
761
+ def checkDuplicateClassesTask = tasks.findByName(checkDuplicateClassesTaskName)
762
+
763
+ if (checkDuplicateClassesTask) {
764
+ dependsOn checkDuplicateClassesTask
765
+ }
766
+
767
+ def generateBuildConfigTaskName = "generate${buildTypeName}BuildConfig"
768
+ def generateBuildConfigTask = tasks.findByName(generateBuildConfigTaskName)
769
+
770
+ if (generateBuildConfigTask) {
771
+ dependsOn generateBuildConfigTask
772
+ }
773
+
774
+ def dexBuilderTaskName = "dexBuilder${buildTypeName}"
775
+ def dexBuilderTask = tasks.findByName(dexBuilderTaskName)
776
+
777
+ if (dexBuilderTask) {
778
+ dependsOn dexBuilderTask
779
+ }
780
+
781
+
782
+ def mergeExtDexTaskName = "mergeExtDex${buildTypeName}"
783
+ def mergeExtDexTask = tasks.findByName(mergeExtDexTaskName)
784
+
785
+ if (mergeExtDexTask) {
786
+ dependsOn mergeExtDexTask
787
+ }
788
+
789
+ def mergeLibDexTaskName = "mergeLibDex${buildTypeName}"
790
+ def mergeLibDexTask = tasks.findByName(mergeLibDexTaskName)
791
+
792
+ if (mergeLibDexTask) {
793
+ dependsOn mergeLibDexTask
794
+ }
795
+
796
+ def mergeProjectDexTaskName = "mergeProjectDex${buildTypeName}"
797
+ def mergeProjectDexTask = tasks.findByName(mergeProjectDexTaskName)
798
+
799
+ if (mergeProjectDexTask) {
800
+ dependsOn mergeProjectDexTask
801
+ }
802
+
803
+ def syncLibJarsTaskName = "sync${buildTypeName}LibJars"
804
+ def syncLibJarsTask = tasks.findByName(syncLibJarsTaskName)
805
+
806
+ if (syncLibJarsTask) {
807
+ dependsOn syncLibJarsTask
808
+ }
809
+
810
+ def mergeJavaResourceTaskName = "merge${buildTypeName}JavaResource"
811
+ def mergeJavaResourceTask = tasks.findByName(mergeJavaResourceTaskName)
812
+
813
+ if (mergeJavaResourceTask) {
814
+ dependsOn mergeJavaResourceTask
815
+ }
816
+
817
+ def mergeJniLibFoldersTaskName = "merge${buildTypeName}JniLibFolders"
818
+ def mergeJniLibFoldersTask = tasks.findByName(mergeJniLibFoldersTaskName)
819
+
820
+ if (mergeJniLibFoldersTask) {
821
+ dependsOn mergeJniLibFoldersTask
822
+ }
823
+
824
+ def mergeNativeLibsTaskName = "merge${buildTypeName}NativeLibs"
825
+ def mergeNativeLibsTask = tasks.findByName(mergeNativeLibsTaskName)
826
+
827
+ if (mergeNativeLibsTask) {
828
+ dependsOn mergeNativeLibsTask
829
+ }
830
+
831
+ def stripDebugSymbolsTaskName = "strip${buildTypeName}DebugSymbols"
832
+ def stripDebugSymbolsTask = tasks.findByName(stripDebugSymbolsTaskName)
833
+
834
+ if (stripDebugSymbolsTask) {
835
+ dependsOn stripDebugSymbolsTask
836
+ }
837
+
838
+ def validateSigningTaskName = "validateSigning${buildTypeName}"
839
+ def validateSigningTask = tasks.findByName(validateSigningTaskName)
840
+
841
+ if (validateSigningTask) {
842
+ dependsOn validateSigningTask
843
+ }
844
+
845
+
846
+ def extractProguardFilesTaskName = "extractProguardFiles"
847
+ def extractProguardFilesTask = tasks.findByName(extractProguardFilesTaskName)
848
+
849
+ if (extractProguardFilesTask) {
850
+ dependsOn extractProguardFilesTask
851
+ }
852
+
853
+
854
+ // def compileArtProfileTaskName = "compile${buildTypeName}ArtProfile"
855
+ // def compileArtProfileTask = tasks.findByName(compileArtProfileTaskName)
856
+
857
+ // if (compileArtProfileTask) {
858
+ // dependsOn compileArtProfileTask
859
+ // }
860
+
861
+
862
+ def extractNativeSymbolTablesTaskName = "extract${buildTypeName}NativeSymbolTables"
863
+ def extractNativeSymbolTablesTask = tasks.findByName(extractNativeSymbolTablesTaskName)
864
+
865
+ if (extractNativeSymbolTablesTask) {
866
+ dependsOn extractNativeSymbolTablesTask
867
+ }
868
+
869
+
870
+ // def optimizeResourcesTaskName = "optimize${buildTypeName}Resources"
871
+ // def optimizeResourcesTask = tasks.findByName(optimizeResourcesTaskName)
872
+
873
+ // if (optimizeResourcesTask) {
874
+ // dependsOn optimizeResourcesTask
875
+ // }
876
+
877
+ def bundleResourcesTaskName = "bundle${buildTypeName}Resources"
878
+ def bundleResourcesTask = tasks.findByName(bundleResourcesTaskName)
879
+
880
+ if (bundleResourcesTask) {
881
+ dependsOn bundleResourcesTask
882
+ }
883
+
884
+ }
885
+
720
886
  dependsOn copyMetadataFilters
721
- dependsOn collectAllJars
722
887
 
723
888
  // 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
889
  // 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 +898,9 @@ task buildMetadata(type: BuildToolTask) {
733
898
  inputs.files("$MDG_JAVA_DEPENDENCIES")
734
899
 
735
900
  // make MDG aware of whitelist.mdg and blacklist.mdg files
736
- inputs.files(project.fileTree(dir: "$rootDir", include: "**/*.mdg"))
901
+ // inputs.files(project.fileTree(dir: "$rootDir", include: "**/*.mdg"))
902
+ // use explicit inputs as the above makes the whole build-tools directory an input!
903
+ inputs.files("$BUILD_TOOLS_PATH/whitelist.mdg", "$BUILD_TOOLS_PATH/blacklist.mdg")
737
904
 
738
905
  def classesDir = layout.buildDirectory.dir("intermediates/javac").get().asFile
739
906
  if (classesDir.exists()) {
@@ -797,7 +964,7 @@ task buildMetadata(type: BuildToolTask) {
797
964
  }
798
965
 
799
966
  def store = new ArrayList<File>()
800
- for (String dir : generatedClasses){
967
+ for (String dir : generatedClasses) {
801
968
  listf(dir, store)
802
969
  }
803
970
 
@@ -822,6 +989,10 @@ task buildMetadata(type: BuildToolTask) {
822
989
  def paramz = new ArrayList<String>()
823
990
  paramz.add(Paths.get(rootPath, "android-metadata-generator.jar"))
824
991
 
992
+ // if (enableAnalytics) {
993
+ // paramz.add("analyticsFilePath=$analyticsFilePath")
994
+ // }
995
+
825
996
  if (enableVerboseMDG) {
826
997
  paramz.add("verbose")
827
998
  }
@@ -944,120 +1115,184 @@ cleanSbg.dependsOn(cleanMdg)
944
1115
  clean.dependsOn(cleanSbg)
945
1116
 
946
1117
 
947
- tasks.configureEach { DefaultTask currentTask ->
948
- if (currentTask =~ /generate.+BuildConfig/) {
949
- currentTask.finalizedBy(extractAllJars)
950
- extractAllJars.finalizedBy(collectAllJars)
951
- }
1118
+ //dependsOn {
1119
+ // pattern {
1120
+ // include "merge*.Shaders" // Matches tasks starting with "merge" and ending with "Shaders"
1121
+ // }
1122
+ //}
1123
+
1124
+ tasks.configureEach({ DefaultTask currentTask ->
1125
+ // println "\t ~ [DEBUG][app] build.gradle - currentTask = ${currentTask.name} ..."
1126
+
952
1127
  if (currentTask =~ /compile.+JavaWithJavac/) {
953
1128
  currentTask.dependsOn(runSbg)
954
- currentTask.finalizedBy(buildMetadata)
1129
+ }
1130
+
1131
+ if (currentTask =~ /mergeDex.+/) {
1132
+ currentTask.dependsOn(runSbg)
955
1133
  }
956
1134
 
957
1135
  if (currentTask =~ /compile.+Kotlin.+/) {
958
1136
  currentTask.dependsOn(runSbg)
959
- currentTask.finalizedBy(buildMetadata)
960
1137
  }
961
1138
 
962
1139
  if (currentTask =~ /merge.*Assets/) {
963
1140
  currentTask.dependsOn(buildMetadata)
964
1141
  }
1142
+
965
1143
  // ensure buildMetadata is done before R8 to allow custom proguard from metadata
966
- if (currentTask =~ /minify.*WithR8/) {
967
- currentTask.dependsOn(buildMetadata)
1144
+ if (currentTask =~ /minify(Debug|Release)WithR8/) {
1145
+ buildMetadata.finalizedBy(currentTask)
968
1146
  }
1147
+
969
1148
  if (currentTask =~ /assemble.*Debug/ || currentTask =~ /assemble.*Release/) {
970
1149
  currentTask.finalizedBy("validateAppIdMatch")
971
1150
  }
972
1151
 
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
- )) {
1152
+ if (currentTask =~ /process.+Resources/) {
1061
1153
  cleanupAllJars.dependsOn(currentTask)
1062
1154
  }
1063
- }
1155
+
1156
+ // if (currentTask.name == "extractProguardFiles") {
1157
+ // currentTask.finalizedBy(buildMetadata)
1158
+ // }
1159
+ //
1160
+ if (currentTask =~ /generate.+LintVitalReportModel/) {
1161
+ currentTask.dependsOn(buildMetadata)
1162
+ }
1163
+
1164
+ if (currentTask =~ /lintVitalAnalyze.+/) {
1165
+ currentTask.dependsOn(buildMetadata)
1166
+ }
1167
+ //
1168
+ // if (currentTask =~ /merge.+GlobalSynthetics/) {
1169
+ // currentTask.finalizedBy(buildMetadata)
1170
+ // }
1171
+ //
1172
+ // if (currentTask =~ /optimize.+Resources/) {
1173
+ // currentTask.finalizedBy(buildMetadata)
1174
+ // }
1175
+ //
1176
+ // if (currentTask =~ /buildCMake.*/) {
1177
+ // currentTask.finalizedBy(buildMetadata)
1178
+ // }
1179
+ //
1180
+ // if (currentTask =~ /configureCMake.*/) {
1181
+ // currentTask.finalizedBy(buildMetadata)
1182
+ // }
1183
+ //
1184
+ // if (currentTask =~ /validateSigning.*/) {
1185
+ // currentTask.finalizedBy(buildMetadata)
1186
+ // }
1187
+ //
1188
+ // if (currentTask =~ /generate.*LintReportModel/) {
1189
+ // currentTask.finalizedBy(buildMetadata)
1190
+ // }
1191
+ //
1192
+ // if (currentTask =~ /generate.*AndroidTestResValues/) {
1193
+ // // buildMetadata.dependsOn(currentTask)
1194
+ // currentTask.finalizedBy(buildMetadata)
1195
+ // }
1196
+ //
1197
+ // if (currentTask =~ /generate.*AndroidTestLintModel/) {
1198
+ // currentTask.finalizedBy(buildMetadata)
1199
+ // }
1200
+ //
1201
+ // if (currentTask =~ /generate.*UnitTestLintModel/) {
1202
+ // buildMetadata.mustRunAfter(currentTask)
1203
+ // }
1204
+ //
1205
+ // if (currentTask =~ /generate.*UnitTestLintModel/) {
1206
+ // currentTask.finalizedBy(buildMetadata)
1207
+ // }
1208
+ //
1209
+ //
1210
+ // if (currentTask =~ /lintAnalyze.*UnitTest/) {
1211
+ // currentTask.finalizedBy(buildMetadata)
1212
+ // }
1213
+ //
1214
+ // if (currentTask =~ /process.*JavaRes/) {
1215
+ // currentTask.finalizedBy(buildMetadata)
1216
+ // }
1217
+ //
1218
+ // if (currentTask =~ /strip.*DebugSymbols/) {
1219
+ // currentTask.finalizedBy(buildMetadata)
1220
+ // }
1221
+ //
1222
+ // if (currentTask =~ /merge.*JavaResource/) {
1223
+ // currentTask.finalizedBy(buildMetadata)
1224
+ // }
1225
+ //
1226
+ // if (currentTask =~ /lintAnalyze.*/) {
1227
+ // currentTask.finalizedBy(buildMetadata)
1228
+ // }
1229
+ //
1230
+ // if (currentTask =~ /lintAnalyze.*AndroidTest/) {
1231
+ // currentTask.finalizedBy(buildMetadata)
1232
+ // }
1233
+ //
1234
+ // if (currentTask =~ /bundle.*Resources/) {
1235
+ // currentTask.finalizedBy(buildMetadata)
1236
+ // }
1237
+ //
1238
+ // if (currentTask =~ /compile.*ArtProfile/) {
1239
+ // currentTask.mustRunAfter(buildMetadata)
1240
+ // }
1241
+ //
1242
+ // if (currentTask =~ /check.*DuplicateClasses/) {
1243
+ // currentTask.finalizedBy(buildMetadata)
1244
+ // }
1245
+ //
1246
+ // if (currentTask =~ /check.*AarMetadata/) {
1247
+ // currentTask.finalizedBy(buildMetadata)
1248
+ // }
1249
+ //
1250
+ // if (currentTask =~ /create.*CompatibleScreenManifests/) {
1251
+ // currentTask.finalizedBy(buildMetadata)
1252
+ // }
1253
+ //
1254
+ // if (currentTask =~ /process.*Manifest/) {
1255
+ // currentTask.finalizedBy(buildMetadata)
1256
+ // }
1257
+ //
1258
+ // if (currentTask =~ /generate.*ResValues/) {
1259
+ // currentTask.finalizedBy(buildMetadata)
1260
+ // }
1261
+ //
1262
+ // if (currentTask =~ /merge.*Resources/) {
1263
+ // currentTask.finalizedBy(buildMetadata)
1264
+ // }
1265
+ //
1266
+ // if (currentTask =~ /package.*Resources/) {
1267
+ // currentTask.finalizedBy(buildMetadata)
1268
+ // }
1269
+ //
1270
+ // if (currentTask =~ /process.*Resources/) {
1271
+ // currentTask.finalizedBy(buildMetadata)
1272
+ // }
1273
+ //
1274
+ // if (currentTask =~ /desugar.*Dependencies/) {
1275
+ // currentTask.finalizedBy(buildMetadata)
1276
+ // }
1277
+ //
1278
+ // if (currentTask =~ /merge.*JniLibFolders/) {
1279
+ // currentTask.finalizedBy(buildMetadata)
1280
+ // }
1281
+
1282
+ })
1283
+
1284
+ rootProject.subprojects.forEach {
1285
+ it.tasks.configureEach({ DefaultTask currentTask ->
1286
+ if (currentTask =~ /.+bundleLibCompileToJar.*/) {
1287
+ currentTask.finalizedBy(cleanupAllJars)
1288
+ }
1289
+
1290
+ if (currentTask =~ /bundleLibRuntimeToDir.*/) {
1291
+ currentTask.finalizedBy(buildMetadata)
1292
+ }
1293
+
1294
+ if (currentTask =~ /compile.*LibraryResources/) {
1295
+ currentTask.finalizedBy(buildMetadata)
1296
+ }
1297
+ })
1298
+ }
@@ -0,0 +1,45 @@
1
+ # Project-wide Gradle settings.
2
+
3
+ # IDE (e.g. Android Studio) users:
4
+ # Gradle settings configured through the IDE *will override*
5
+ # any settings specified in this file.
6
+
7
+ # For more details on how to configure your build environment visit
8
+ # http://www.gradle.org/docs/current/userguide/build_environment.html
9
+
10
+ # When configured, Gradle will run in incubating parallel mode.
11
+ # This option should only be used with decoupled projects. More details, visit
12
+ # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13
+ #org.gradle.parallel=true
14
+
15
+ # Specifies the JVM arguments used for the daemon process.
16
+ # The setting is particularly useful for tweaking memory settings.
17
+ org.gradle.jvmargs=-Xmx16384M
18
+ android.enableJetifier=true
19
+ android.useAndroidX=true
20
+
21
+ # Default versions used throughout the gradle configurations
22
+ NS_DEFAULT_BUILD_TOOLS_VERSION=35.0.0
23
+ NS_DEFAULT_COMPILE_SDK_VERSION=35
24
+ NS_DEFAULT_MIN_SDK_VERSION=21
25
+ NS_DEFAULT_ANDROID_BUILD_TOOLS_VERSION=8.12.1
26
+
27
+ ns_default_androidx_appcompat_version = 1.7.0
28
+ ns_default_androidx_exifinterface_version = 1.3.7
29
+ ns_default_androidx_fragment_version = 1.8.5
30
+ ns_default_androidx_material_version = 1.8.0
31
+ ns_default_androidx_multidex_version = 2.0.1
32
+ ns_default_androidx_transition_version = 1.5.1
33
+ ns_default_androidx_viewpager_version = 1.0.0
34
+ ns_default_asm_util_version = 9.7
35
+ ns_default_asm_version = 9.7
36
+ ns_default_bcel_version = 6.8.2
37
+ ns_default_commons_io_version = 2.6
38
+ ns_default_google_java_format_version = 1.6
39
+ ns_default_gson_version = 2.10.1
40
+ ns_default_json_version = 20180813
41
+ ns_default_junit_version = 4.13.2
42
+ ns_default_kotlin_version = 2.2.20
43
+ ns_default_kotlinx_metadata_jvm_version = 2.2.20
44
+ ns_default_mockito_core_version = 3.0.0
45
+ ns_default_spotbugs_version = 3.1.12