Как включать файл в ivy.xml?

Смотрите на Sourcegear DiffMerge. DiffMerge является сравниванием и инструментом слияния от их продуктов Хранилища и Крепости, но они делают его доступным бесплатно как автономный инструмент. Одна достойная внимания особенность - то, что это позволяет diffing всех деревьев каталогов.

Редактирование: , В то время как DiffMerge остается бесплатным инструментом, он ворчит для регистрации со всплывающим окном, по крайней мере, один раз в день (по крайней мере, начиная с версии 4.2). Это также указывает во всплывающем окне:

Избранные новые возможности в будущих выпусках также потребуют регистрации, но базовые функции и меры будут доступны всем.

6
задан Christer Fahlgren 20 November 2009 в 05:42
поделиться

2 ответа

Вы можете создать мета-модуль ivy, который зависит от всех этих общих пакетов, а затем все ваши другие проекты разрешают общие библиотеки через транзитивную зависимость:

    <?xml version="1.0"?>
    <ivy-module version="2.0">
        <info organisation="com.example" module="common-libs"/>
          <configurations>
            <conf name="runtime" transitive="true" visibility="public" />
            <conf name="master" transitive="true" visibility="public" />
            <conf name="compile" transitive="true" visibility="public" />
            <conf name="default" transitive="true" visibility="public" extends="master" />
          </configurations>
          <dependencies>
                <dependency org="oracle" name="ojdbc14_g" rev="10.2.0.3"
 conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
                <dependency org="tomcat" name="servlet-api" rev="6.0.16" 
 conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
                <dependency org="junit" name="junit" rev="4.3"
 conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
          </dependencies>
    </ivy-module>

И для типичного проекта:

<?xml version="1.0"?>
    <ivy-module version="2.0">
    <info organisation="com.example" module="myproject"/>
      <configurations>
        <conf name="runtime" transitive="true" visibility="public" />
        <conf name="master" transitive="true" visibility="public" extends="runtime"/>
        <conf name="compile" transitive="true" visibility="public" />
        <conf name="default" transitive="true" visibility="public" extends="master" />
      </configurations>
      <dependencies>
        <dependency org="com.example" name="common-libs" rev="latest.release" 
          conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
      </dependencies>
    </ivy-module>

Здесь я использую традиционные соглашения об именах конфигураций из POM- > Плющ переводы резолвера Maven, хотя вы можете сопоставить имена конфигураций любым понятным для вас способом. Я обычно использую задачу ivy: install для копирования модулей Maven в наш репозиторий Ivy, поэтому по большей части я использую ivy.xmls по умолчанию. Если вы используете IvyRoundup, вы в первую очередь захотите транзитивно отобразить конфигурацию «по умолчанию».

m, используя традиционные соглашения об именах конфигураций из переводов POM-> Ivy распознавателя Maven, хотя вы можете сопоставить имена конфигураций любым удобным для вас способом. Я обычно использую задачу ivy: install для копирования модулей Maven в наш репозиторий Ivy, поэтому по большей части я использую ivy.xmls по умолчанию. Если вы используете IvyRoundup, вы в первую очередь захотите транзитивно отобразить конфигурацию «по умолчанию».

m, используя традиционные соглашения об именах конфигураций из переводов POM-> Ivy распознавателя Maven, хотя вы можете сопоставить имена конфигураций любым удобным для вас способом. Я обычно использую задачу ivy: install для копирования модулей Maven в наш репозиторий Ivy, поэтому по большей части я использую ivy.xmls по умолчанию. Если вы используете IvyRoundup, вы в первую очередь захотите транзитивно отобразить конфигурацию «по умолчанию».

9
ответ дан 9 December 2019 в 22:36
поделиться

Если вы используете ivy от ant и используете Ant 1.6 или новее, вы можете использовать задачу для включения фрагментов файла сборки в файл сборки ant . Однако указанные файлы должны быть полными файлами сборки Ant:

<?xml version="1.0"?>
<project name="my-project" default="usage" basedir=".">
  <target name="setup">
    ...
  </target>

  <import file="./common.xml"/>
  ...
</project>

Вы также можете использовать стандартный синтаксис XML из файла ivy.xml или build.xml :

<?xml version="1.0"?>
<!DOCTYPE project [
       <!ENTITY common SYSTEM "common.xml">
]>
<project name="my-project" default="usage" basedir=".">
  <target name="setup">
    ...
  </target>

  &common;
  ...    
</project>

Это будет буквально включать содержимое common.xml , где вы разместили объект & common; .

(в данном примере имя файла common.xml разрешается анализатором XML относительно содержащего XML файла. Вы также можете использовать абсолютный файл: URI протокола.)

2
ответ дан 9 December 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: