zoukankan      html  css  js  c++  java
  • Gradle Goodness: Renaming Files while Copying

    With the Gradle copy task we can define renaming rules for the files that are copied. We use the rename() method of the copy task to define the naming rules. We can use a closure where the filename is the argument of the closure. The name we return from the closure is the new name of copied file. Or we can define a regular expression and set the replacement value for the corresponding regular expression. We can use groups in the regular expression and use them in the replacement value like $<group>.

    0.task copyFiles(type: Copy) {
    1.from 'src/files'
    2.into "$buildDir/files"
    3.rename '(.*)-(.*).html', '$2/$1.html'
    4.rename ~/(.*).template.(.*)/, '$1.$2'
    5.rename { filename ->
    6.filename.replace 'java', 'groovy'
    7.}
    8.}

    Let's create some source files, so the renaming rules can be applied to them.

    src/files/index-en.html:

    <html>
    <body>
    <h1>Hello Gradle</h1>
    </body>
    </html>

    src/files/index-nl_NL.html:

    <html>
    <body>
    <h1>Hallo Gradle</h1>
    </body>
    </html>

    src/files/sample.template.txt:

    Sample file.

    src/files/Sample.java:

    public class Sample {
    private String gradle = "Gradle";
    }

    We run $ gradle copyFiles and we get the following files in build/files:

    nl_NL
    |
    +-- index.html
    en
    |
    +-- index.html
    Sample.groovy
    sample.txt
  • 相关阅读:
    UIImageView
    正则表达式
    控制器生命周期和 UIView
    Storyboard
    1218.2——property关键字
    1218.1——OC中的常见关键字及一些基本方法
    1217.2——定义一个类+方法声明调用
    1217.1——OC准备
    1216.2——文件操作
    1216.1——双链表
  • 原文地址:https://www.cnblogs.com/GoAhead/p/4189089.html
Copyright © 2011-2022 走看看