Последняя версия артефакта от Apache Archiva - PullRequest
4 голосов
/ 14 августа 2011

Есть ли какой-то параметризованный URL в архиве, где я могу получить последний снимок / выпуск артефакта?что-то вроде https://myhappyarchiva.com/archiva/repository/com.example/com/example/myproject/LATEST/myproject-LATEST.jar

Ответы [ 2 ]

3 голосов
/ 18 мая 2016

Попробуйте что-то вроде: "http://myhappyarchiva.com/archiva/restServices/archivaServices/searchService/artifact?r=#releases&g=com.myhappyarchiva&a=myproject&v=LATEST"

Основы:" http://[host_name]/archiva/restServices/archivaServices/searchService/artifact?r=[release_option]&g=[group_id]&a=[artifact_id]&v=[version]&c=[classifer]"

  • [имя_хоста] похоже на: dev.foo.com
  • [release_option] похоже на «снимки» или «релизы»
  • [group_id] похоже на: com.foo
  • [версия] похоже на: ПОСЛЕДНИЕ или какое-то число, например 1,0
  • [classifer] похож на: javadoc, исходники или сборку

Метки отображаются в таблицах на архиве.Таким образом, вы можете легко найти ссылки.

Я полагаю, что вы также можете использовать "p" для упаковки.Это может быть как: «jar», «pom», «javadoc» в основном типы файлов.Так что это будет выглядеть так: «& p = jar» добавлен к запросу.

Если вы выполняете запросы, он иногда проходит 307 временное перенаправление и 302 обнаруживает перенаправление до того, как репо начинает загружаться.

Вы делаете это с помощью curl или wget.Или в сценарии (я создал скрипт ruby).

Пример wget: https://archiva.apache.org/docs/2.2.0/userguide/querying-artifacts.html

2 голосов
/ 15 августа 2011

Эта функция еще не доступна, однако вы можете подать проблему на http://jira.codehaus.org/browse/MRM. Связанная проблема: http://jira.codehaus.org/browse/MRM-805.

Чтобы достичь этого сегодня, лучше всего либо:

  • используйте интерфейс XMLRPC для получения версий и выбора последних (вы можете использовать библиотеки Maven, если это для Maven) [ 1 ] [ 2 ]
  • если вы знаете, что репозиторий будет репозиторием Maven, вы можете получить файл maven-metadata.xml из Archiva и прочитать элемент <release> или <latest>
...