From 9836911ddf7f3da9034eb099b5926bafb248a34b Mon Sep 17 00:00:00 2001 From: Mihail Slavchev Date: Tue, 26 Jan 2016 15:39:02 +0200 Subject: [PATCH 1/3] update gradle --- build/project-template-gradle/build.gradle | 46 ++++++---------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/build/project-template-gradle/build.gradle b/build/project-template-gradle/build.gradle index ddab42591..9afde4e77 100644 --- a/build/project-template-gradle/build.gradle +++ b/build/project-template-gradle/build.gradle @@ -128,7 +128,7 @@ android { applicationVariants.all { variant -> renameResultApks(variant) - def mergeAssetsTask = variant.mergeAssets + def mergeAssetsTask = variant.dex if(project.hasProperty("runSBGenerator")) { runBindingGenerator.dependsOn(copyMetadata) rbg.dependsOn(runBindingGenerator) @@ -318,10 +318,6 @@ task cleanLocalAarFiles(type: Delete) { delete fileTree(dir: "libs/aar", include: ["*.aar"]) } -task deleteJavaDir (type: Delete) { - delete "$rootDir/src/main/java" -} - task ensureMetadataOutDir { def outputDir = file("$rootDir/metadata/output") outputDir.mkdirs() @@ -347,6 +343,8 @@ task collectAllJars { allJarPaths.add(currentJarFile.getAbsolutePath()) } + allJarPaths.add("$rootDir/build/intermediates/classes"); + metadataParams.add("metadata-generator.jar") metadataParams.add("../metadata/output") for(def i = 0; i < allJarPaths.size(); i++) { @@ -355,30 +353,14 @@ task collectAllJars { } } -task isMetadataGenerationNecessary { - description "checks if new metadata is necessary based on jar and aar dependencies used" - def inputFile = new File("build/metadataUTD") - def metadataDir = new File("metadata/output"); - - inputs.file inputFile - outputs.upToDateWhen { - inputFile.exists() && - metadataDir.exists() && - metadataDir.list().length == 3 && - (inputFile.text.trim() == metadataParams.toString().trim()) - } - - doLast { - inputFile.text = metadataParams - } -} - task buildMetadata (type: JavaExec) { description "builds metadata with provided jar dependencies" - outputs.upToDateWhen { - !isMetadataGenerationNecessary.didWork - } + inputs.files(allJarPaths) + inputs.dir("build/intermediates/classes") + + outputs.files("metadata/output/treeNodeStream.dat", "metadata/output/treeStringsStream.dat", "metadata/output/treeValueStream.dat") + doFirst { workingDir "build-tools" @@ -395,16 +377,12 @@ task copyMetadata(type: Copy) { } from "metadata/output" - into "src/main/assets/metadata" + into "build/intermediates/assets/debug/metadata" } task deleteExplodedAarFolder (type: Delete) { - outputs.upToDateWhen { - !isMetadataGenerationNecessary.didWork - } - def explodedAarDir = project.buildDir.getAbsolutePath() + "/intermediates/exploded-aar" delete explodedAarDir } @@ -433,11 +411,9 @@ task rbg (dependsOn: "asbg:generatebindings") // 5. plugin extend (apply from include files) // --execution phase -deleteJavaDir.dependsOn(cleanLocalAarFiles) -ensureMetadataOutDir.dependsOn(deleteJavaDir) +ensureMetadataOutDir.dependsOn(cleanLocalAarFiles) collectAllJars.dependsOn(ensureMetadataOutDir) -isMetadataGenerationNecessary.dependsOn(collectAllJars) -buildMetadata.dependsOn(isMetadataGenerationNecessary) +buildMetadata.dependsOn(collectAllJars) copyMetadata.dependsOn(buildMetadata) //DO NOT UNCOMMENT From 6c38d482b7de038c0654a037158d8b618ab3ea58 Mon Sep 17 00:00:00 2001 From: Mihail Slavchev Date: Tue, 26 Jan 2016 16:09:43 +0200 Subject: [PATCH 2/3] remove hard-coded 'debug' build type --- build/project-template-gradle/build.gradle | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build/project-template-gradle/build.gradle b/build/project-template-gradle/build.gradle index 9afde4e77..1b3defb08 100644 --- a/build/project-template-gradle/build.gradle +++ b/build/project-template-gradle/build.gradle @@ -40,6 +40,7 @@ def nodeModulesDir = "../../node_modules/" def libDir = "../../lib/Android/" def pluginNames = new ArrayList() def configDir = file(configurationsDir) +def firstApplicationBuildType = "" def compiteCompileSdkVersion () { if(project.hasProperty("compileSdk")) { @@ -127,6 +128,10 @@ android { applicationVariants.all { variant -> renameResultApks(variant) + + if (firstApplicationBuildType == "") { + firstApplicationBuildType = variant.buildType.name; + } def mergeAssetsTask = variant.dex if(project.hasProperty("runSBGenerator")) { @@ -377,7 +382,7 @@ task copyMetadata(type: Copy) { } from "metadata/output" - into "build/intermediates/assets/debug/metadata" + into "build/intermediates/assets/$firstApplicationBuildType/metadata" } From 44fe51f8bbaf54293ac02b023b269c735d5156be Mon Sep 17 00:00:00 2001 From: Mihail Slavchev Date: Wed, 27 Jan 2016 10:38:00 +0200 Subject: [PATCH 3/3] update gradle script to cache exploded-arr --- build/project-template-gradle/build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/project-template-gradle/build.gradle b/build/project-template-gradle/build.gradle index 1b3defb08..11e6a9904 100644 --- a/build/project-template-gradle/build.gradle +++ b/build/project-template-gradle/build.gradle @@ -388,6 +388,10 @@ task copyMetadata(type: Copy) { task deleteExplodedAarFolder (type: Delete) { + outputs.upToDateWhen { + !buildMetadata.didWork + } + def explodedAarDir = project.buildDir.getAbsolutePath() + "/intermediates/exploded-aar" delete explodedAarDir }