使用gradle 3.4,但相当新。
如果我运行gradlew installDist,src / main / java中的文件会被复制到build文件夹中,但一切正常。
但我在src / main / conf中还有一个额外的文件夹我想复制到build / install / my-artifact / conf
我不想把它放在src / main / resources中,因为它会包含在jar中。我想把它保持在外部。
我的gradle文件没有任何特殊功能,除了依赖项。
那么当installDist运行时,如何复制文件夹/文件呢?
编辑:
也必须使用影子插件。
答案 0 :(得分:2)
要管理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界面以获取更多信息