Как исключить некоторые зависимости, не заставляя другие зависимости определять конфигурации - PullRequest
1 голос
/ 10 сентября 2011

В нашем процессе начальной загрузки используется утилита ivy conf для сборки жгута проводов и некоторых инструментов (ant libs).Наша конфигурация по умолчанию должна предоставлять зависимости компиляции и времени выполнения.

Я бы хотел, чтобы conf = "bootstrap" предоставил только жгут, и я бы хотел, чтобы разработчики могли добавлять deps без необходимости бороться с конфигурациями.

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

Я пытался default = "default -> *" но тогда мой загрузчик включается по умолчанию.

Как я могу сохранить эти два отдельных, не навязывая требования к зависимостям и не заставляя conf = "default -> *" добавить ко всеммои зависимости "по умолчанию"?

  <configurations default="default">
    <conf name="bootstrap" visibility="private" description="Scripts/Tools for Build Sys"/>
    <conf name="default" description="Dependencies Used By This Module"/>
  </configurations>

  <dependencies>
    <dependency conf="bootstrap->default" org="myorg" name="build-harness" rev="1.+"/>
    <dependency org="myorg" name="logging" rev="1.0.0.+"/> 
  </dependencies>

Если я определю конфигурацию, тогда все ли мои команды тоже должны это делать?Есть ли способ настроить отображение по умолчанию?

Спасибо за помощь

Питер

1 Ответ

1 голос
/ 13 сентября 2011

Я считаю, что это то, что я хочу:

  • установить сопоставление конфигурации по умолчанию, чтобы включить любую конфигурацию dep в мою настройку по умолчанию
  • добавить настройку по умолчанию и частную конфигурацию начальной загрузки
  • добавьте мой сборочный жгут как «bootstrap» и свяжите его со значением по умолчанию для жгута проводов - поскольку в этом жгуте отсутствует определенный пользователем conf default = '*'

Когда я получаю без конфигурации, я получаю значение по умолчанию, котороевсе зависимости компиляции / времени выполнения.Когда я получаю conf 'bootstrap', я просто получаю boottrap.

  <configurations defaultconfmapping="default->*">
    <conf name="bootstrap" visibility="private" description="Scripts/Tools for Build Sys"/>
    <conf name="default" description="Dependencies Used By This Module"/>
  </configurations>

  <dependencies>
    <dependency conf="bootstrap->default" org="myorg" name="build-harness" rev="1.+"/>
    <dependency org="myorg" name="logging" rev="1.0.0.+"/> 
  </dependencies>
...