Я ищу возможность использовать ivysvn, чтобы помочь нам использовать локальный репозиторий ivy в нашем репозитории svn.
Я нашел это руководство, которому мне легко следовать и которое почти работает, за исключением трех пунктов:
В руководстве есть пустые имя пользователя и пароль. Как я могу заставить это работать с нашим репозиторием SVN (который не позволяет анонимные коммиты) без необходимости указывать свое имя пользователя и пароль в ivysettings.xml или build.xml? Самое близкое, что я мог придумать, - это использовать в ivysettings.xml:
<svn name="ivysvn" repositoryRoot="{{{deleted}}}" userName="${svn.user.name}" userPassword="${svn.user.password}" binaryDiff="false"> <ivy pattern="[organisation]/[module]/[revision]/ivy.xml"/> <artifact pattern="[organisation]/[module]/[artifact].[ext]"/> </svn>
а затем в командной строке выполните
ant -Dsvn.user.name={{{deleted}}} -Dsvn.user.password={{{deleted}}} publish
Я думал, что организация репозитория следующая (например, предположим, что URL-адрес сервера - http://someserver/svn/cache/ivy, организация - Yoyodyne, а модуль - HappyFunBall)
http://someserver/svn/cache/ivy/ Yoyodyne/ HappyFunBall/ 1.0/ ivy.txt libraries here
Это означает, что в ivysettings.xml
<ivy pattern="[organisation]/[module]/[revision]/ivy.xml"/> <artifact pattern="[organisation]/[module]/[revision]/[artifact].[ext]"/>
и не
<ivy pattern="[organisation]/[module]/[revision]/ivy.xml"/> <artifact pattern="[organisation]/[module]/[artifact].[ext]"/>
Что правильно? В идеале было бы сопоставление версии SVN № с ревизией артефакта, и тогда вам не нужно было бы создавать каталоги [ревизии], но что-то не имеет смысла.
Сообщение в блоге содержало в исходном проекте файл ivy.xml со следующим текстом:
<ivy:publish resolver="ivysvn" forcedeliver="true" overwrite="true" publishivy="false"> <!-- defines the location from where the libraries are to be picked up from for publishing --> <artifacts pattern="lib/[artifact].[ext]"/> </ivy:publish>
и я думаю, что понимаю все это, за исключением части
publishivy="false"
, поскольку часть поиска не будет работать, кроме тех случаев, когда я изменил ее наpublishivy="true"
. Что правильно? Где находится файл ivy.xml без помещения его копии в репозиторий?