2013-03-21 3 views
0

в моем проекте я следующие настройки каталога:Gradle - 'придавить' по умолчанию каталог ресурсов

  • src/main/resources/common
  • src/main/resources/local
  • src/main/resources/release

Моя цель состоит в том, чтобы переопределить значение по умолчанию разработки ресурсов и «сгладить» это дерево каталогов в окончательном архиве.

На данный момент я нашел только это некрасиво решением:

resources { 
    exclude 'release' 
    exclude 'common' 
    exclude 'local' 
    srcDir 'src/main/resources/common' 
    srcDir 'src/main/resources/local' 
    srcDir 'src/main/resources/release' 
} 

С этим решением я считаю, что файлы в src/main/resources будут скопированы в окончательном архиве. Есть ли способ исключить каталог ресурсов по умолчанию?

Есть ли лучший способ решить мою проблему?

ответ

1

Лучший подхода переопределить расположение по умолчанию:

sourceSets { 
    main { 
     resources { 
      srcDirs = [ 
       'src/main/resources/common', 
       'src/main/resources/local', 
       'src/main/resources/release' 
      ] 
     } 
    } 
} 

Это общая идиома Gradle API, чтобы предложить свойства (например, srcDirs), что позволяет установить коллекцию (тем самым отвергая любые значения по умолчанию) и аналогичным образом метод (такой как srcDir), который позволяет добавлять в коллекцию (тем самым добавляя значения по умолчанию).

Моя цель [...] «сгладить» это дерево каталогов в конечном архиве.

Не уверен, что вы подразумеваете под этим.

Смежные вопросы