码迷,mamicode.com
首页 > 其他好文 > 详细

Gradle生成Git 分支等信息 READEME

时间:2021-01-08 11:42:16      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:file   fir   uid   ocs   format   for   sheet   rem   out   

gradle根据Git信息生成README文件

task createReadMe{
    doLast {
//        String str = "${buildDir}/libs/exploded/"+project.getName().toString()+ "-${version}.war"+"/README"
        String str = "${buildDir}/libs/"+"/README"
        new File(str).createNewFile()
        File file= new File(str)
        def osm = file.newOutputStream()
        String string ="远程地址"+"\t"+"分支"+"\t"+"Commit ID"+"\t"+"User ID"+"\n"
        osm.write(string.getBytes())
        for(Project p : getAllprojects()) {
            String dir = p.getProjectDir().toString()
            String gitBashH =‘git --git-dir=‘+dir+‘/.git  --work-tree=‘+dir+‘/ log --pretty="format:%H" -1‘
            String gitBashAn =‘git --git-dir=‘+dir+‘/.git  --work-tree=‘+dir+‘/ log --pretty="format:%an" -1‘
            String gitBashURl =‘git --git-dir=‘+dir+‘/.git  --work-tree=‘+dir+‘/ remote -v‘
            String resultH=gitBashH.execute().text.trim()
            String resultAn=gitBashAn.execute().text.trim()
            String resultUrl=gitBashURl.execute().text.trim()
            String stringResult=resultUrl.split("\n")[0]+"\t"+p.getName()+"\t"+resultH+"\t"+resultAn+"\n"
            println stringResult
            osm.write(stringResult.getBytes())
        }
        osm.close()
    }
}

可以在需要的地方生成git等相关信息

 

如果需有在其他task调取该方法

doFirst {
       def testTaskReadMe = project.tasks.findByName("createReadMe")
        testTaskReadMe.execute()
    }

附上几个链接

https://docs.gradle.org/current/userguide/declaring_repositories.html

https://jimmysong.io/cheatsheets/git-log-format

 

Gradle生成Git 分支等信息 READEME

标签:file   fir   uid   ocs   format   for   sheet   rem   out   

原文地址:https://www.cnblogs.com/onexixi/p/14243924.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!