Управление сгенерированными ресурсами для проекта в Gradle - PullRequest
0 голосов
/ 21 октября 2018

У меня есть проект 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 обновить ресурсы?

1 Ответ

0 голосов
/ 22 октября 2018

Вы можете добавить файл output к основному исходному набору InternalProj:

Пример кода Groovy:

sourceSets {
    main {
        resources {
            srcDirs "src/main/resources", "output"
        }
    }
}

Связанный ответ: https://stackoverflow.com/a/38982006/3708426

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...