Gradle Task 入门 4 读取配置文件

前置条件

这里的例子继续使用上一篇的类,你可以如果你懒得看上一篇,那就把上一篇的MyTag 类复制一份就可以了

class MyTag {
    String prefix;
    String postfix;

    MyTag(String prefix, String postfix) {
        this.prefix = prefix
        this.postfix = postfix
    }

    @Override
    String toString() {
        return "$prefix--$postfix"
    }
}

定义文件 mytag.properities, 写两个配置

prefix=heng
postfix=ha

定义初始化阶段 + 配置阶段

// 读取并赋值
ext.myTagFile = file('mytag.properies')
ext {
    myNewTag = readMyTag()
}

MyTag readMyTag() {

    logger.quiet("read my tag form file!")

    if (!myTagFile.exists()) {
        throw new GradleException("mytag.properies not found!")
    }

    Properties properties = new Properties()
    myTagFile.withInputStream {
        stream -> properties.load(stream)
    }

    return new MyTag(properties.prefix.toString(), properties.postfix.toString())
}

执行阶段

task loadMyTag {
    println "$project.ext.myNewTag"
}

执行task

//gradlew -q loadMyTag
heng--ha

要注意的地方

这个例子使用了ext 来定义自己的变量, 如果使用project本来提供的变量,那自己调整以下便可,比如project.version

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。