Определите несколько выходных каталогов для ресурсов в sourceSet в Gradle - PullRequest
0 голосов
/ 25 октября 2018

У меня есть мультипроект, где я хочу присоединить ресурсы из разных мест (подпроекты, которые их генерируют), но также разместить их в разных выходных каталогах.

wrapper (parent)
|--frontend (child)
|  |--build/dist
|     |--js
|     |  |-- ...
|     |--css
|        |-- ...
|--lib (child)
   |--build/dist
      |--python
         |-- ...

Мне нужно, чтобы wrapper (parent)обрабатывать оба дочерних проекта build/dist как ресурс, НО, помещенный в разные outputDir.

  • frontend/build/dist будет в ./wrapper/build/resources/main/static
  • lib/build/dist будет в./wrapper/build/resources/main

Цель - предоставить ресурс sourceSet main при добавлении в каталог static при перемещении в outputDir.

Обратите внимание, что outputDirНЕ jar задача.Это не проблема с упаковкой, а проблема outputDir.

sourceSets {
    main {
        resources {
             srcDirs [
                 project(':frontend').projectDir.absolutePath + '/build/dist'
                 project(':lib').projectDir.absolutePath + '/build/dist'
             ]
        }
        output.resourcesDir project.buildDir.absolutePath + '/resources/main/static'
    }
}

Выше будут добавлены ресурсы в основной sourceSet, но у них будет тот же output.resourceDir.

Заключительные вопросы

  1. Существует ли синтаксис, позволяющий определять выходные данные для данного источника?Можете ли вы привести пример?
  2. Если нет (пока?), Я думаю об определении более одного sourceSet.По сути, определяя main1 и main2, это будет работать нормально, но у меня есть некоторые проблемы с тем, чтобы эти sourceSets были дочерними по отношению к main.Другими словами - если вы определяете пользовательский sourceSet (не main или test), вам нужно его скомпилировать - как ?Я знаю, что могу дать команду: gradle build sourceSetName, чтобы вызвать определенную пользовательскую sourceSet компиляцию, как я могу это сделать, так что это зависимость от main?

Я использую Gradle 4.10.1 с Java(и затмение) плагины.

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