У меня есть проект Gradle, у которого много ресурсов в папке /src/main/resources
.По соображениям производительности некоторые ресурсы должны генерироваться из других ресурсов во время сборки.Поэтому я разбил все на подпроекты:
/MainProj/src/main/java - The application
/MainProj/src/main/resources
/InternalProj/src/main/java - Code for generating additional resources for MainProj
/InternalProj/src/main/resources
Когда я запускаю InternalProj, используя специальную задачу Gradle, он генерирует некоторые файлы в /InternalProj/output
, которые я затем копирую в /MainProj/src/main/resources
.Само собой разумеется, это действительно уродливо, и я хотел бы знать, как сделать это лучше.Должен ли я положить его в сборку или прямо в /MainProj/src/main/resources
?Может быть, использовать символическую ссылку?
Редактировать
Теперь я использую относительную символическую ссылку от /src/main/generated-resources
до /build/something
, и пока она работает нормально.Но теперь у меня другая проблема: у меня есть задача A
, которая генерирует некоторые ресурсы, и задача B
, которая зависит от этих ресурсов и, следовательно, от A
.Если я запускаю gradle B
или gradle A B
, B
все равно не будет работать, так как ресурсы, сгенерированные A
, не были обновлены в его папке сборки.Как заставить Gradle обновить ресурсы?