Gradle 复制 installDist 上的文件夹
Gradle copy folder on installDist
使用 gradle 3.4,但还很新。
如果我 运行 gradlew installDist 将 src/main/java 中的文件复制到构建文件夹,一切正常。
但我在 src/main/conf 中还有一个额外的文件夹,我想复制到 build/install/my-artifact/conf
我不想把它放在 src/main/resources 中,因为它会包含在罐子里。我想将其保留在外部。
我的 gradle 文件除了依赖项没有任何特殊之处。
那么当 installDist 运行s 时,我将如何复制 folders/files?
编辑:
也必须使用影子插件。
要管理 distribution contents,您需要修改 main
分配,如下所示:
apply plugin: 'distribution'
distributions {
main {
baseName = 'my-artifact'
contents {
from { 'src/main/java' }
from('src/main') {
include 'conf/**'
}
}
}
}
这将:
- 复制
src/main/java
下的文件
- 复制目录
conf
及其下的文件
新结构如下:
build/install/my-artifact/
│
├── com/
│ └── yourlib
│ └── ......
└── conf/
└── .....
您还可以在同一级别包含源目录:
build/install/my-artifact/
│
├── java/
│ └── com/
│ └── yourlib
│ └── ......
└── conf/
└── .....
具有以下内容:
apply plugin: 'distribution'
distributions {
main {
baseName = 'my-artifact'
contents {
from('src/main') {
include 'java/**'
include 'conf/**'
}
}
}
}
查看CopySpec界面了解更多信息
使用 gradle 3.4,但还很新。
如果我 运行 gradlew installDist 将 src/main/java 中的文件复制到构建文件夹,一切正常。
但我在 src/main/conf 中还有一个额外的文件夹,我想复制到 build/install/my-artifact/conf
我不想把它放在 src/main/resources 中,因为它会包含在罐子里。我想将其保留在外部。
我的 gradle 文件除了依赖项没有任何特殊之处。
那么当 installDist 运行s 时,我将如何复制 folders/files?
编辑:
也必须使用影子插件。
要管理 distribution contents,您需要修改 main
分配,如下所示:
apply plugin: 'distribution'
distributions {
main {
baseName = 'my-artifact'
contents {
from { 'src/main/java' }
from('src/main') {
include 'conf/**'
}
}
}
}
这将:
- 复制
src/main/java
下的文件 - 复制目录
conf
及其下的文件
新结构如下:
build/install/my-artifact/
│
├── com/
│ └── yourlib
│ └── ......
└── conf/
└── .....
您还可以在同一级别包含源目录:
build/install/my-artifact/
│
├── java/
│ └── com/
│ └── yourlib
│ └── ......
└── conf/
└── .....
具有以下内容:
apply plugin: 'distribution'
distributions {
main {
baseName = 'my-artifact'
contents {
from('src/main') {
include 'java/**'
include 'conf/**'
}
}
}
}
查看CopySpec界面了解更多信息