代码拉取完成,页面将自动刷新
import groovy.json.JsonSlurper
/**
* 在 module_config.json 中 根据 appConfig 和 pkgConfig 来 include 本地模块
* 可以考虑写成插件来更方便 apply
*/
def json = new JsonSlurper().parse(file("./module_config.json"))
for (def module in json.moduleConfig) {
String moduleName = module.name
if (moduleName == "feature_mock") {
if (json.pkgConfig.isEmpty()) {
module.isApply = false
}
} else if (moduleName.endsWith("_app")) {
if (!json.appConfig.contains(moduleName)) {
module.isApply = false
}
} else if (moduleName.endsWith("_pkg")) {
if (!json.pkgConfig.isEmpty()) {
if (!json.pkgConfig.contains(moduleName)) {
module.isApply = false
}
}
}
if (module.useLocal && module.isApply) {
include moduleName
project(":$moduleName").projectDir = file(module.localPath)
}
}
def ls = System.getProperty("line.separator")
List<String> modules = []
for (def module in json.moduleConfig) {
String name = module.name
boolean isApply = module.isApply
boolean useLocal = module.useLocal
String localPath = module.localPath
String remotePath = module.remotePath
if (localPath != null) localPath = "\"$localPath\""
if (remotePath != null) remotePath = "\"$remotePath\""
modules.add(String.format("%-12s%-27s: new ModuleConfig(isApply: %-5s, useLocal: %-5s, localPath: $localPath%s),",
"", name, isApply, useLocal, remotePath == null ? "" : ", remotePath: $remotePath"))
}
def configFile = file('./buildSrc/src/main/groovy/Config.groovy')
def lines = configFile.readLines("utf8")
def configContent = new StringBuilder()
boolean enterNeverFlag = false
for (def line : lines) {
if (enterNeverFlag) {
if (line.contains("/*Don't delete this line*/")) {
configContent.append(ls).append(line)
enterNeverFlag = false
}
continue
}
configContent.append(ls).append(line)
if (line.contains("/*Don't delete this line*/")) {
configContent.append(ls).append(String.format("%-12s/*Generated by \"module_config.json\"*/", ""))
enterNeverFlag = true
for (String m : modules) {
configContent.append(ls).append(m)
}
}
}
configFile.write(configContent.substring(ls.length()).toString())
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。