Использование плюща для указания веб-URL для javadoc - PullRequest
0 голосов
/ 08 октября 2010

=== Обновлено === Я попытаюсь перефразировать это, чтобы получить больше ответа. Имеет ли артефакт Javadoc в Ivy файл jar или zip? Или я могу определить артефакт как URL, похожий на http://download.oracle.com/javase/1.5.0/docs/api/?

Я знаю, что вы можете определить артефакт Ivy как URL для загрузки файла, но я не хочу этого делать.

=== Оригинал ===

Я использую Ivy для управления зависимостями в большом проекте, состоящем из нескольких Java-проектов. Каждый проект компилируется сервером Hudson и публикуется в Ivy. Каждый проект строит свой jar времени выполнения, исходный jar и javadoc jar. Кроме того, Hudson публикует Javadoc по URL-адресу на веб-сервере.

Что я хочу сделать, так это указать в моем ivy.xml для каждого проекта, что Javadoc публикуется по какому-то URL. В моих зависимых проектах я хочу, чтобы Ivy разрешил эту зависимость и предоставил ее команде javadoc в ant в качестве аргументов для подзадачи.

В конце я хочу следующее: Проект A опубликовал Javadoc на http://someurl/A/javadoc Проект B зависит от A, и его Javadoc опубликован в http://someurl/B/javadoc В javadoc проекта B, где используются классы из проекта A, я хочу, чтобы он связывался с URL-адресом проекта A.

Идеи

1 Ответ

0 голосов
/ 11 октября 2010

Что я хочу сделать, это указать в моем ivy.xml для каждого проекта, что Javadoc публикуется по какому-либо URL.

Я полагаю, вам следует публиковать Javadoc как любые другие артефакты иукажите шаблон поиска в ivysettings.xml.Пример:

<resolvers>
  <url name="repository">
    <ivy pattern="${repository.url}/[module]/ivy-[revision].xml" />
    <artifact pattern="${repository.url}/[module]/[artifact]-[revision].[ext]" />
    <artifact pattern="${repository.url}/[module]/[artifact]-javadoc-[revision].[ext]" />
  </filesystem>
</resolvers>

В конце я хочу следующее: Проект A публикует javadoc на http://someurl/A/javadoc Проект B зависит от A, а его javadoc публикуется на http://someurl/B/javadoc В javadoc проекта B, где есть классы использования из проекта A, я хочу, чтобы он связывался с URL-адресом проекта A.

Поскольку вы публикуете Javadoc в качестве артефакта, у него есть собственный плющ.xml, и вы можете объявить зависимость здесь:

<ivy-module version="2.0">
    <info organisation="yourorg" module="moduleB-javadoc" />
    <dependencies>
        <dependency org="yourorg" name="moduleA-javadoc" />
    </dependencies>
</ivy-module>

В моих зависимых проектах я хочу, чтобы Ivy разрешил эту зависимость и предоставил ее команде javadoc в ant в качестве аргументов для подзадачи.

Опишите артефакт javadoc как зависимость в ivy.xml зависимого проекта, затем укажите в своем build.xml, что задача ant javadoc зависит от цели, которая выполняет и манипулирует javadoc jar как вам угодно (подробности см. В документации по ant).

...