How to Integrate Subversion, Version Control Software, With Apache ANT Как интегрировать подрывной деятельности, управления версиями программного обеспечения, с Apache АНТ
Subversion is a popular version control software and replacement for CVS, the grand-daddy of all version control software which is still widely used in open source community. Subversion является популярным управления версиями программного обеспечения и замены CVS, Великого папа всех версиями программного обеспечения, которое по-прежнему широко используется в сообщество с открытым исходным кодом.
Recently I had the necessity to invoke Subversion commands like checkout from Ant, a popular java based build software which replaces make tool. Недавно я имел необходимости ссылаться на Subversion команды, как извлечение из Ant, популярных java основе создания программного обеспечения, которое заменяет сделать инструмент.
There are two ant tasks to accomplish this, the better one is SvnAnt from Subclipse project. Есть две задачи, муравей для достижения этой, лучше один SvnAnt из Subclipse проекта. However configuring it to work was non-trivial as proper usage documentation was missing. Однако настройки для работы был нетривиальным, как надлежащее использование документации не хватает. So I decided simplify the process to make your life easier. Так что я решила упростить процесс, который облегчит вашу жизнь.
However the extensive commands it supports are well Однако обширные команды он поддерживает хорошо documented документированы .
Note: If prompted for user name / password use guest / guest. Примечание: Если ввести имя пользователя и пароль использовать гостевой / гость.
Why SvnAnt? Почему SvnAnt?
Subversion is a full-fledged version control software obviously supporting commands like checkout, add or commit. Subversion является полноправным управления версиями программного обеспечения, безусловно, поддерживает команды, как проверка, добавить или совершить. The ant task from O’Reily didn’t even support checkout! Ант от O'Reily задача даже не поддержка извлечения! It supported a very limited set from the available commands. Она поддерживает весьма ограниченный набор из имеющихся команд.
So I went for Так что я пошел на svnant task which had much better support. задача, которая была гораздо более широкую поддержку. Also this way you don’t have to mess with Кроме того, этот путь вам не придется путаницы с exec’ing the Subversion CLI exec'ing Subversion CLI commands directly from your ant script. Команды, непосредственно со своего муравья сценарий. It is wrapped up for ease of use. Она завершилась для удобства пользования. It can also use JNI interface for speed. Он может также использовать JNI интерфейса для скорости.
To provide access to the Subversion API, svnant uses either the Чтобы обеспечить доступ к API Subversion, svnant использует либо javahl - Subversion Java bindings or Subversion’s command line programs (which must be installed and in your PATH). -- Subversion Java Subversion переплетах или в командной строке программы (который должен быть установлен и в вашем PATH).
javahl uses JNI which must be setup appropriately. javahl использует JNI, которые необходимо настроить соответствующим образом. I preferred using the Subversion’s command line programs as subversion was already installed in my system. Я предпочел использовать Subversion командной строки программы, как подрывная деятельность уже была установлена в своей системе.
Steps: Шаги:
1. I am assuming you already have Я вас уже есть ant ант installed. установлен. If not do it first. Если не сделать это в первую очередь. Ensure %ANT_HOME% ($ANT_HOME for *nix) is defined and %ANT_HOME%\bin is appended to your %PATH%. Обеспечить ANT_HOME%% ($ ANT_HOME для * nix) определяется и% ANT_HOME% \ бен прилагается к вашей% PATH%.
2. If you do not have subversion installed then first Если у вас нет подрывной деятельности установлен, у первого download it загрузить and install. и установить.
2.1 Ensure that svn is in your path by invoking svn from a command windows (cmd for windows, bash etc. for *nix). 2,1 svn Убедитесь, что находится в вашем пути, вызвав svn из командной окон (cmd для окон, bash и т.д. для * nix).
3. Download Загрузка svnant and extract the files to any directory. и извлеките файлы в любом каталоге.
4. Go to your project directory. Перейдите в каталог вашего проекта. If it doesn’t have a lib (or equivalent) directory to store required jar files then create one and copy all the files (*.jar ) from svnant’s lib directory: Если у него нет lib (или эквивалент) каталог для хранения файлов, необходимых банку затем создать один и скопировать все файлы (*. горшок) с svnant lib в каталоге:
commons-lang-2.0.jar достояния-lang-2.0.jar
jakarta-regexp-1.3.jar джакарта-регэкспы-1.3.jar
svnClientAdapter.jar
svnant.jar
svnjavahl.jar
5. To use svn task you have to add a taskdef to your build file. Чтобы воспользоваться svn задачу вы должны добавить taskdef вашим построить файл. Use either of the following: Используйте любой из следующих:
Option 1: Вариант 1:
This requires the lib directory to be included with either “ant -lib lib” or by adding an extra parameter: Это требует lib директории, которые должны быть включены либо с "ант-lib lib" или путем добавления дополнительных параметра:
where project.classpath is previously defined as: project.classpath, где ранее это определяется следующим образом:
Option 2 is simpler: Вариант 2 проще:
The project.classpath is previously defined as shown before. Project.classpath имеет определенные ранее, как показано ранее.
For example you can use this simple build.xml file to fetch latest code from WordPress repository: Например, вы можете использовать этот простой файл build.xml для извлечения кода из последних WordPress хранилища:
Run this script by simply typing ant. Запустите этот скрипт, просто введя муравьев.
BTW: I think Subversion as version control software and ant as build and deployment software are two very strong products which should be part of any enterprise open source software stack. BTW: Я думаю, Subversion, как управление версиями программного обеспечения и муравьев, как создание и развертывание программного обеспечения являются двумя очень сильным продукции, которая должна стать частью любого предприятия, с открытым исходным кодом, стек.
Filed under Поданного в соответствии с Headline News Headline News , How To Как , Java Software Программное обеспечение Java , Open Source Software Open Source Software , Tech Note Технология Примечание | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | это статья |
Email this Article Отослать Статья
You may also like to read Вы можете также люблю читать |





June 9th, 2006 at 1:09 pm 9 июня 2006 года в 1:09 вечера
I am not able to set the interative option in svn, ie I have to use username and password option in a non interactive way. Я не в состоянии установить interative вариант в svn, то есть я должен использовать имя пользователя и пароль, не в интерактивный способ.
Can anyone tell the format to enable authentication in an interactive way. Может ли кто-нибудь рассказать формат, с тем чтобы аутентификации в интерактивный способ.
Thanks in advance. Спасибо заранее.
Ankush
May 3rd, 2007 at 10:18 am 3 мая 2007 года в 10:18 утра
Ankush, if it is not too late Ankush, если она еще не поздно
There is an task for this purpuse in Core taskset. Существует задача этой целью в Core taskset. See example: См., например:
Flitt
May 20th, 2008 at 2:48 pm 20 мая 2008 года в 2:48 вечера
I find the SVN Ant task very primitive compared to its CVS cousin. Я считаю, SVN Ant задача весьма примитивной по сравнению с CVS его двоюродным братом. Maybe I’m missing something but I couldn’t figure out how to replace this cvs task with its svn alternative: Может быть, я в то, пропавших без вести, но я не мог понять, как заменить эту задачу с cvs svn свою альтернативу:
<cvs dest=”${dest}”<cvs dest = "$ () dest"command=” ${command} “Команда = "$ () команда"tag=”${tag}”тег = "$ () метку"package=” ${packages} “пакет = "$ () пакеты"output=”${output}”>вывод = "$ () выпуска">May 20th, 2008 at 2:59 pm 20 мая 2008 года в 2:59 вечера
I find the SVN Ant task very primitive compared to its CVS cousin. Я считаю, SVN Ant задача весьма примитивной по сравнению с CVS его двоюродным братом. Maybe I’m missing something but I couldn’t figure out how to replace the cvs task with its svn alternative. Может быть, я в то, пропавших без вести, но я не мог понять, как заменить cvs задачу с его svn альтернативы. I’m referring to the ‘command’ and ‘package’ attributes which could be specified as build properties and would make the build script pretty generic and parameterized. У меня в виду "команда" и "пакет" атрибутов, которые могут быть определены как построить свойства и позволит построить сценарий довольно общий характер и параметры.