0

This is my repository in github: https://github.com/joedayz/lazybones-templates/

I used processTemplates according with the documentation

processTemplates 'build.gradle', props
processTemplates 'gradle.properties', props
processTemplates 'src/main/java/*.java', props
processTemplates 'settings.gradle', props

I request the user this information:

    props.project_megaproceso = ask("Define value for 'megaproceso'  [megaproceso]: ", "megaproceso", "megaproceso")
    props.project_macroproceso = ask("Define value for 'macroproceso' [macroproceso]: ", "macroproceso", "macroproceso")
    props.project_proceso = ask("Define value for 'proceso' [proceso]: ", "proceso", "proceso")

megaproceso2, macroproceso, proceso are directories or part of file names in my template.

How do I change the names of the unpacked directories and files? The code is in my github.

4

1 回答 1

0

Lazybones 的安装后脚本目前可以完全访问标准 JDK 类和 Apache Commons IO 库,特别是有助于文件操作。

在这种特定情况下,您可以使用File.renameTo()FileUtils.moveFile/Directory()。例如:

def prevPath = new File(projectDir, "megaproceso2-macroproceso-proceso.ear")
prevPath.renameTo(new File(
    projectDir,
    "${props.megaproceso}-${props.macroproceso}-${props.processo}.ear"))

projectDir变量是注入安装后脚本的几个属性之一。您可以在Template Developers Guide中找到它们的列表。

我认为它的主要优点FileUtils.moveFile()是即使您跨设备移动文件也可以工作,但这不是必需的。另请注意,如果要使用它们,则必须从 Commons IO 显式导入类。

于 2016-03-18T06:58:50.710 回答