From d5b30f68ce296b64e8ef9412ba60b8115c6dd423 Mon Sep 17 00:00:00 2001 From: Jason Simmons Date: Wed, 23 Mar 2016 13:33:11 -0700 Subject: [PATCH] Expose the engine-src-path flag in the Gradle plugin --- .../buildSrc/src/main/groovy/FlutterPlugin.groovy | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/examples/hello_android/buildSrc/src/main/groovy/FlutterPlugin.groovy b/examples/hello_android/buildSrc/src/main/groovy/FlutterPlugin.groovy index db561a243f..14edd4d78d 100644 --- a/examples/hello_android/buildSrc/src/main/groovy/FlutterPlugin.groovy +++ b/examples/hello_android/buildSrc/src/main/groovy/FlutterPlugin.groovy @@ -18,6 +18,7 @@ import org.gradle.api.tasks.TaskAction class FlutterPlugin implements Plugin { private File sdkDir + private File engineSrcDir @Override void apply(Project project) { @@ -42,6 +43,14 @@ class FlutterPlugin implements Plugin { throw new GradleException("flutter.sdk must point to the Flutter SDK directory") } + String engineSrcPath = properties.getProperty("flutter.engineSrcPath") + if (engineSrcPath != null) { + engineSrcDir = project.file(engineSrcPath) + if (!engineSrcDir.isDirectory()) { + throw new GradleException("flutter.engineSrcPath must be a Flutter engine source directory") + } + } + project.extensions.create("flutter", FlutterExtension) project.dependencies.add("compile", flutterEngine) project.afterEvaluate this.&addFlutterTask @@ -56,6 +65,7 @@ class FlutterPlugin implements Plugin { sdkDir this.sdkDir sourceDir project.file(project.flutter.source) intermediateDir project.file("${project.buildDir}/${AndroidProject.FD_INTERMEDIATES}/flutter") + engineSrcDir this.engineSrcDir } project.android.applicationVariants.all { variant -> @@ -83,6 +93,8 @@ class FlutterTask extends DefaultTask { @OutputDirectory File intermediateDir + File engineSrcDir + String getFlxPath() { return "${intermediateDir}/app.flx" } @@ -97,6 +109,9 @@ class FlutterTask extends DefaultTask { project.exec { executable "${sdkDir}/bin/flutter" workingDir sourceDir + if (engineSrcDir != null) { + args "--engine-src-path", engineSrcDir + } args "build", "flx" args "-o", flxPath args "--snapshot", "${intermediateDir}/snapshot_blob.bin"