@@ -171,6 +171,27 @@ android {
171171 }
172172
173173 compileSourcesTask. finalizedBy(buildMetadata)
174+
175+ // forces packaging of resources and assets AFTER producing metadata
176+ // Reference: https://github.com/NativeScript/android-runtime/issues/785
177+
178+ // Ensure metadata has been built and copied in assets before packaging
179+ variant. outputs. each { output ->
180+ def abiName = " " ;
181+ if (output. getFilter(com.android.build.OutputFile . ABI )) {
182+ abiName = output. getFilter(com.android.build.OutputFile . ABI )
183+ def packageTask = project. tasks. findByName(" package${ output.name} " )
184+ if (packageTask) {
185+ packageTask. dependsOn(buildMetadata)
186+ }
187+ }
188+ }
189+
190+ // Compile the Java sources AFTER the Java code-generation step is done
191+ def compileTask = project. tasks. findByName(" compile${ variantName} JavaWithJavac" )
192+ if (compileTask) {
193+ compileTask. dependsOn(" asbg:generateBindings" )
194+ }
174195 }
175196}
176197
@@ -413,13 +434,11 @@ task createDefaultIncludeFiles {
413434 if (hasChildrenDirs) {
414435 file. listFiles(). each { subFile ->
415436 if (subFile. isDirectory()) {
416- flavorNumber++
417- createIncludeGradleForPlugin(subFile, flavorNumber, flavorNames)
437+ createIncludeGradleForPlugin(subFile, flavorNumber++ , flavorNames)
418438 }
419439 }
420440 } else {
421- flavorNumber++
422- createIncludeGradleForPlugin(file, flavorNumber, flavorNames)
441+ createIncludeGradleForPlugin(file, flavorNumber++ , flavorNames)
423442 }
424443 }
425444 }
@@ -730,6 +749,7 @@ setProperties.finalizedBy("asbg:generateBindings", generateTypescriptDefinitions
730749// 5. plugin extend (apply from include files)
731750
732751// --execution phase
752+
733753ensureMetadataOutDir. dependsOn(cleanLocalAarFiles)
734754collectAllJars. dependsOn(ensureMetadataOutDir)
735755buildMetadata. dependsOn(collectAllJars)
0 commit comments