Skip to content

Instantly share code, notes, and snippets.

@beilly
Created April 9, 2018 08:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beilly/be27dbbd490a86758824c93c7d24a646 to your computer and use it in GitHub Desktop.
Save beilly/be27dbbd490a86758824c93c7d24a646 to your computer and use it in GitHub Desktop.
打包配置自增插件
apply plugin: HJPackPlugin
class HJPackPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
def file = project.rootProject.file("packageHJ.properties")
project.extensions.create("hjConf", InnerStorage, file)
}
}
class InnerStorage {
Properties hjProp
File packageHJ;
InnerStorage(File file) {
packageHJ = file;
loadProperty()
}
private loadProperty() {
hjProp = new Properties()
if (!packageHJ.exists()) {
packageHJ.createNewFile()
} else {
packageHJ.withInputStream {
ins -> hjProp.load(ins)
}
}
println("loadProperty from $packageHJ --> $hjProp")
}
def propertyMissing(String name, value) {
hjProp.setProperty(name, String.valueOf(value))
save()
}
def propertyMissing(String name) {
def v = hjProp.getProperty(name)
null == v ? "": v.integer ? v.toInteger() : v.toString()
}
private save() {
if (!packageHJ.exists()) {
packageHJ.createNewFile()
}
packageHJ.withOutputStream {
os -> hjProp.store(os, null)
}
}
}
@beilly
Copy link
Author

beilly commented Apr 9, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment