mirror of
https://github.com/flutter/flutter
synced 2024-10-13 11:42:54 +00:00
Expose the engine-src-path flag in the Gradle plugin
This commit is contained in:
parent
9cce0833ea
commit
d5b30f68ce
|
@ -18,6 +18,7 @@ import org.gradle.api.tasks.TaskAction
|
||||||
|
|
||||||
class FlutterPlugin implements Plugin<Project> {
|
class FlutterPlugin implements Plugin<Project> {
|
||||||
private File sdkDir
|
private File sdkDir
|
||||||
|
private File engineSrcDir
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void apply(Project project) {
|
void apply(Project project) {
|
||||||
|
@ -42,6 +43,14 @@ class FlutterPlugin implements Plugin<Project> {
|
||||||
throw new GradleException("flutter.sdk must point to the Flutter SDK directory")
|
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.extensions.create("flutter", FlutterExtension)
|
||||||
project.dependencies.add("compile", flutterEngine)
|
project.dependencies.add("compile", flutterEngine)
|
||||||
project.afterEvaluate this.&addFlutterTask
|
project.afterEvaluate this.&addFlutterTask
|
||||||
|
@ -56,6 +65,7 @@ class FlutterPlugin implements Plugin<Project> {
|
||||||
sdkDir this.sdkDir
|
sdkDir this.sdkDir
|
||||||
sourceDir project.file(project.flutter.source)
|
sourceDir project.file(project.flutter.source)
|
||||||
intermediateDir project.file("${project.buildDir}/${AndroidProject.FD_INTERMEDIATES}/flutter")
|
intermediateDir project.file("${project.buildDir}/${AndroidProject.FD_INTERMEDIATES}/flutter")
|
||||||
|
engineSrcDir this.engineSrcDir
|
||||||
}
|
}
|
||||||
|
|
||||||
project.android.applicationVariants.all { variant ->
|
project.android.applicationVariants.all { variant ->
|
||||||
|
@ -83,6 +93,8 @@ class FlutterTask extends DefaultTask {
|
||||||
@OutputDirectory
|
@OutputDirectory
|
||||||
File intermediateDir
|
File intermediateDir
|
||||||
|
|
||||||
|
File engineSrcDir
|
||||||
|
|
||||||
String getFlxPath() {
|
String getFlxPath() {
|
||||||
return "${intermediateDir}/app.flx"
|
return "${intermediateDir}/app.flx"
|
||||||
}
|
}
|
||||||
|
@ -97,6 +109,9 @@ class FlutterTask extends DefaultTask {
|
||||||
project.exec {
|
project.exec {
|
||||||
executable "${sdkDir}/bin/flutter"
|
executable "${sdkDir}/bin/flutter"
|
||||||
workingDir sourceDir
|
workingDir sourceDir
|
||||||
|
if (engineSrcDir != null) {
|
||||||
|
args "--engine-src-path", engineSrcDir
|
||||||
|
}
|
||||||
args "build", "flx"
|
args "build", "flx"
|
||||||
args "-o", flxPath
|
args "-o", flxPath
|
||||||
args "--snapshot", "${intermediateDir}/snapshot_blob.bin"
|
args "--snapshot", "${intermediateDir}/snapshot_blob.bin"
|
||||||
|
|
Loading…
Reference in a new issue