Командная разработка PHP-проектов на Eclipse: MacOS X и другие Unix-системы

Все то же под MacOS X

Загрузка и установка проекта

  1. Заходим на Eclipse Download и загружаем Eclipse Classic (на 2009/03/04 доступна версия 3.4.5) Нас интересует именно Eclipse Classic, поскольку предстоит работать со-средой PHP.
  2. Скачиваем положенные сто с лишним мегабайт (или сколько он нынче «весит»?)
  3. Устанавливаем их (инсталлятора не будет, и не надейтесь!) при помощи архиватора. Скажем, под Windows «раскручиваем» этот архив в директорию C:/Program Files/ (Папка Eclipse есть уже внутри архива – проверено)
Как это ни печально, но этот муторный пункт обязателен! Если Вы, почтеннейшие граждане Публика этого не сделаете, установить плагины, необходимые для работы у Вас не получится!!!
Запускаем Eclipse сразу отправляемся в меню Help и выбираем Software Updates > Find And Install
Наблюдаем диалоговое окошко, предлагающее обновить систему или добавить новые возможности. Пока нам новые возможности не интересны, обновится бы.
Выбираем «автоматический поиск репозитария» и запускаем процесс обновления.
В процессе «выскочит» окошко, предлагающее выбрать репозитарий для обновления. Предложим выбрать автоматически, тем более, что «хрен редьки не слаще», т.е., все репозитарии работают одинаково медленно:

Что характерно, процесс этот долгий и занудный, поскольку за первым обновлением, надо будет повторить процедуру. Правда мы уже получим длииинный список плагинов, которые можно бы установить. И, самое обидное, что большую часть из них надо установить — эти плагины базовые и расширения, которые мы собираемся поставить без многих из них работать не будут. Вобщем, расчитывайте часа на два-три, никак не меньше. Можете оставить в покое Eclipse и заниматься другими делами. Сразу оговорюсь, что особенно важно выбрать расширение Mylyn — от него будет зависеть PDT, который мы собираемся установить впоследствии
Думаете, это всё? А вот и нет! Теперь-то начинается настоящая тягомотина: нам предстоит выбрать пакеты, которые должны быть установлены в исходном варианте и запустить их обновление. То есть, открывается список пакетов, доступных для установки по умолчанию (т.е., необходимых для нормальной работы Eclipse) и нам надо выбрать из них самые необходимые. Т.е., если впоследствии не устанавливается какое-то расширение, прежде всего надо заглянуть в «умолчальные» пакеты и проверить всё ли здесь установлено. Процедура этого обновления, кстати, тоже долгая. Вне зависимости от «толщины» Вашего канала — сервера Eclipse перегружены.
Следующий шаг после выбора, согласиться с лицензией Eclipse. Итак, если «Таможня даёт добро», переходим далее…
Далее, вполне вероятно будет предложен список Устанавливаемых пакетов (в рамках одного расширения этих пакетов может быть несколько) В некоторых случаях бывает полезно просмотреть этот список. Если это первичная установка, то хоть под Mac OS X, хоть под Linux всё пройдёт прекрасно — здесь все пакеты «отрегулированы». А вот при дальнейших установках бывает надо отбросить что-нибудь с префиксом win32 или что-то в этом роде…
Ну и ещё (о Боже, до чего же занудный инсталлятор? Вот чем install от setup отличается?) последняя проверка перед стартом в стиле «кто пришёл, куда пришёл, зачем пришёл…» — надо выбрать место, куда это всё будет «раскручиваться». Пусть раскручивается по умолчанию. Не мешайте ему, а то потом разбирайся, почему не найдена такая-то зависимость, хотя пакет в котором эта зависимость обитает, явно установлен
Ооо! Этот период ожидания будет чуть-ли не самым долгим! Хотите дурацкий совет? Единожды установившись, просто заархивируйте дистрибутив и делитесь им с друзьями (скорее они сконфигурированы так же, как и вы, иначе какие же они друзья?)
Ну ничего себе — не прошло и часа! Однако, пора, пора на перезапуск. Какое знакомое виндовое словосочетание — «Need to restart»!
Перезапустились? Ну и замечательно — терпеливо созерцайте сплэш Eclipse. Процесс, кстати тоже не быстрый. Единственно, что быстро делает эта программа, так это ищет по проектам вхождения подстроки (включая подстроки, написанные с использованием regex )
Запуск! Контрольный! И здесь, пожалуйста, будте внимательны: Вам будет предложено ввести путь к директории, где будут обитать все Ваши проекты. Так вот, если Вы не хотите быть навечно привязанными к этому месту, не ставьте галочку напротив «Use this as default and not ask again.
Как это ни странно, но на этом этапе, всё. Конечно, Eclipse не радует своим быстродействием во время обовления, но зато вполне шустро работает с огромными проектами, написанными, скажем, на PHP.

Установка PDT

Снова идём в меню Help->Software Updates->Find and Install.
Теперь выбираем кнопку New remote site и открывшееся окошко заполняем согласно рекомендациям на страничке плагина PDT (можно перейти по ссылке и почитать)
Далее, проходим стадии опроса, на все вопросы отвечаем утвердительно. На данный момент, если Вы успешно установили «штатные» пакеты (те которые надо было выбрать для установки при первом обновлении) на всех платформах PDT должен установиться без «сучка и задоринки», как говорится.
Таким образом, осталось пройти в File->New->PHP Project (или просто «File->PHP Project), и дело в шляпе — проект собирается чуть-ли не двумя нажатиями кнопки! Причём, файлы хорошо связаны в одно целое и проект не теряется как это часто случается, скажем, при работе с MS Visual Studio.
Вот, пожалуй и все. В следующей статье надеюсь рассмотреть отладку PHP-кода в Eclipse с использованием XDebug

Установка пакета Subversive

Установка плагина Subversive — SVN Team Provider немногим сложнее установки PHP Development Tools. Правда, вместо одного плагина нужно установить два — необходимо добавить Subversive Client от Polarion (http://www.polarion.org/projects/subversive/download) , как это было до некоторого времени указано в немеряной инструкции по установке этого плагина. (Что характерно, об этом больше нигде ни полслова! Можно довольно долго промучиться в поисках причин ошибки установки этого плагина…)
Итак, прописываем сам Subversive
И Subversive Polarion Client

Строго говоря, согласно инструкции его можно бы уже и не ставить — всё должно работать и так, но у меня так и не получилось настроить плагин без него.

Не забудьте, что у Вас должен быть уже установлен MyLyn — он тоже входит в число зависимостей плагина Subversive
Собственно говоря, теперь осталось поставить галки напротив вновь прописанных плагинов (включая MyLyn) и запустить штатную процедуру обновления и бесконечного ожидания.
Следует учесть, что при установки на не Win32-системах, ставить Subversive Polarion надо, отключив все Win32-модули, как это сделано на скриншоте:
Увы, если во-время обновления связь по каким-либо причинам оборвалась, всё надо будет начать сначала! Т.е., закрыть Eclipse, снова открыть и запустить обновление, оставив галки напротив этих трёх плагинов (остальные галочки можно и убрать, дабы не слишком затягивать процедуру)
Если всё прошло удачно, можно переходить к процедуре настройки подключения к SVN.

«Заливка» проекта по протоколу SVN

Собственно, процедура уже знакомая: запускаем Eclipse, вызываем меню File->New->Project и выбираем среди множества вариантов — SVN:
Выбираем создание нового проекта:
И находим создание SVN-проекта
Откроется окно checout (здесь некоторое терминологическое несоответствие с точки зрения SVN-сервера — это checkout, а с точки зрения пользователя это уж скорее checkin) То есть, мы

создаём локальную копию проекта, хранящегося в SVN-репозитарии у себя на компьютере.
Теперь (если нас не интересуют различные ветви [branches] проекта) выбираем папку репозитария trunk
Eclipse собрался получать файлы, но не знает, на каком они языке написаны, значит, надо выбрать соответствующую перспективу (опять это ужасающее и почти неуместное слово)
Выбираем из меню тип проекта
Даём название локальной директории, в которой он должен будет храниться
И, наконец, ещё раз сообщаем, что можно открыть соответствующую перспективу
Проект неспешно загружается
Проект загрузился в виде дерева файлов, которыми можно манипулировать при помощи, как встроенных, так и внешних редакторов (зависит от настроек, но можно вызывать соответствующие редакторы правой кнопкой из меню)
Весьма важно выбрать кодировку проекта, но можно настроить кодировку и для каждого файла по отдельности, хотя это может быть весьма утомительно.
Поскольку SVN, как правило использует модел слияния дальнейшие обновления проекта производятся при помощи меню Team->Commit Team->Update (т.е., повторять подвиг с Checkout повторять не надо!) Меню вызывается при помощи клика правой кнопкой на проекте или на файле, который вы желаете обновить в репозитории или у себя на компьютере
Вот, чего делать не следует, так это «заливать» в репозиторий файлы, относящиеся к Вашему проекту, с которым работает Eclipse. Другим пользователям SVN-репозитория о них знать совершенно не нужно! Необходимо создать соответствующие фильтры. Для этого необходимо вызвать Commit всего проекта и отменить сохранение всех файлов, начинающихся на .project и .settings.

«Заливка» проекта по протоколу SNV+SSH

Немногим сложнее будет выглядеть задача подключения по протоколу svn+ssh.
Во-первых, если у Вас не установлен плагин Subversive, то его надо поставить, следуя инструкциям, преподробнейшим образом изложенным в разделе «Установка пакета Subversive».
Во-вторых, поскольку обеспечение безопасности подключения и соединение будет осуществляться через SSH, пользователь будет на всех один Ну, пусть это будет пользователь svn и, естественно, подключение производится без пароля. На кой нужен пароль если мы спрятались за стеной протокола SSH с ассиметричным ключом? Это уже, простите, запирание супербронированной двери в сейфе на латунную цепочку изнутри…
Итак, привычное действие: File->New->Project->SVN.
Выбираем «закачку» проекта из SVN-репозитария
Теперь, протокол, по которому мы собираемся подсоединяться будет svn+ssh:, значит, набираем в строке адреса svn+ssh:[адрес_сайта]/[имя_проекта] и указываем в качестве пользователя svn (уже без пароля)
В закладке SSH Settings укажем секретный (вовсе не открытый!) ключ из пары ключей, которую Вы перед этим создали… как не создали? Ну тогда, если вы на #nix-системе, наберите:
 
ssh-keygen 
Generating public/private rsa key pair. 
Enter file in which to save the key (/Users/denis/.ssh/id_rsa): id_rsa_svn_repository 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in id_rsa_avadev. 
Your public key has been saved in id_rsa_avadev.pub. 
The key fingerprint is: 
d7:b4:10:f8:50:e2:05:99:07:fe:ef:fa:e7:bd:82:d2 user@my_home_computer 
Или, всё тоже самое под Windows, используя, скажем утилиту ssh-keygen из пакет GnuWin32. А вот, знаменитая утилита PuTTYgen из пакета PuTTy здесь не подойдет: формат ключа другой!
Во-всяком случае, открытый ключ надо выложить в папке файл ~svn/.ssh/authorized_files в уже знакомом нам виде:
command="/usr/local/bin/svnserve -t —tunnel-user=vadim -r /srv/svn/repository/" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAr9L2ZtRmbsZRUf5 FlZgsHraHTgDd+JosxAArsBmjgK+wKY+NTLVZaYnyXKS+4Xv+ PTYBYF9qTWieAY5zlif583DAFiFnPpG5rjyga+4L1xbF jRsJDWKerGLoLbnW5y7AejAQkhpxxRv9Ca+VJ5Wx4Shc7Q/a3m9/tgyMP8qQmMgMEgpataEbheuBgw/65E5 bQocUARDi4iCPRhsI2KYWrtN1JbucunxuKG9ymq3G4vO/InBP6A9ql gYMlwOdmAUVkVZLbwDOljSnKXkvGI2v8caEXVEat/OmjkNGU/qZyUngmH70pOBBTk9PF8dHbrDC6A6VVOFRIuvwC+DvlKlWpw== dao@servachog
Далее процедура сводится к той, которую мы уже умеем исполнять (как в анекдоте про физика и мехматянина):
Выбираем trunk (если не собираемся работать с ветвями
Сообщаем Ecdivpse, что собираемся указать ему тип загружаемого (заcheoutиваемого) проекта (пресловутую перспективу):

Выбираем PHP-проект:
Указываем имя директории, в которой будет сохранён загружаемый проект, а также, специфические настройки, связанные с его окружением (перспективой)
Дожидаемся успешной загрузки файлов
И дивимся на полученное дерево проекта!
Как и в предыдущем случае, не забудьте поставить фильтр на commit файлов типа .project и .settings. Ваши настройки Ecdivpse после commit’a другим получать совершенно не обязательно!

Заключение

Не думаю, что какой-либо из плагинов выигрывает перед другим по удобству установки. Скорее, один другого вполне стоят по количеству предоставляемых пользователю заморочек. Впрочем, subversive дает некоторое количество очков вперед subclipse. Хотя бы тем, что для его использования не нужно никакого стороннего софта, вроде Tortoise… — сразу теряем кроссплатформенность. Под Mac OS X такой уже использовать не получится! Впрочем и с subversive под Mac OS X есть свои заморочки, в частности с JavaHL — при выборе компонент установки от Win32-версии JavaHL надо отказаться!

Related posts

Leave a Comment