zhujian1989 / MyArchitecture

本项目用于学习,持续集成,顺带集成了Flutter
121 stars 33 forks source link

需要include_flutter.groovy文件 #4

Open illuer opened 5 years ago

illuer commented 5 years ago

需要include_flutter.groovy文件,能放到项目里面吗,使用flutter create 命令创建的项目没有.android文件夹.

susuLee commented 5 years ago

同问,'MyArchitecture/moduleflutter/.android/include_flutter.groovy' 这个文件找不到

mcxinyu commented 5 years ago

自己生产一个add-to-app项目,复制一个呗

mcxinyu commented 5 years ago

include_flutter.groovy

// Generated file. Do not edit.

def scriptFile = getClass().protectionDomain.codeSource.location.toURI()
def flutterProjectRoot = new File(scriptFile).parentFile.parentFile

gradle.include ':flutter'
gradle.project(':flutter').projectDir = new File(flutterProjectRoot, '.android/Flutter')

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot, '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.toPath().resolve(path).resolve('android').toFile()
    gradle.include ":$name"
    gradle.project(":$name").projectDir = pluginDirectory
}

gradle.getGradle().projectsLoaded { g ->
    g.rootProject.beforeEvaluate { p ->
        _mainModuleName = binding.variables['mainModuleName']
        if (_mainModuleName != null && !_mainModuleName.empty) {
            p.ext.mainModuleName = _mainModuleName
        }
    }
    g.rootProject.afterEvaluate { p ->
        p.subprojects { sp ->
            if (sp.name != 'flutter') {
                sp.evaluationDependsOn(':flutter')
            }
        }
    }
}