Папка Gradle Copy в installDist
Использование Gradle 3.4, но довольно новый для него.
Если я запускаю gradlew installDist, файлы в src/main/java копируются в папку сборки, и все это работает отлично.
Но у меня также есть дополнительная папка в src/main/conf, которую я хотел бы скопировать в build/install/my-artifact/conf
Я не хочу помещать это в src/main/resources, потому что это будет включено во флягу. Я хотел бы оставить это внешним.
В моем файле Gradle нет ничего особенного, кроме зависимостей.
Так как же мне скопировать папки / файлы при запуске installDist?
РЕДАКТИРОВАТЬ:
Также должен работать с плагином тени.
1 ответ
Для управления содержимым рассылки вам необходимо изменить 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 для получения дополнительной информации