GWT Pleso framework
GWT Pleso Framework - это высокоуровневый framework основанный на GWT для создания пользовательских AJAX интерфейсов фронтэндов баз данных
ODB-UI prototype
Прототип интерфейса пользователя к объектным базам данных
Командная разработка на GWT в Eclipse
Опубликовано: Андрей Скалюк - 20.10.2007, 15:01Тэги: eclipse, gwt, team

Предисловие
Когда команда разработчиков берётся за создание проекта - они выбирают инструментарий, среду разработки, систему контроля версий кода (source control) и способ общения друг с другом. Мы выбрали Eclipse IDE для разработки и Subversion (SVN) для обмена кодом. Подобная комбинация довольно популярна, поскольку она удобна для разработки на Java и в частности на GWT.
Для успешной компиляции и отладки проект требует наличия библиотек GWT, но у разных разработчиков проект и сам GWT лежат по разным путям на диске. Мы предлагаем решение создания единого проектного пространства для всех разработчиков на основе переменных среды в Eclipse. Тестирование проводилось на Eclipse версий 3.2 и 3.3.
Решение
Идея состоит в том, что бы в окружении Eclipse создать переменную GWT_HOME, указывающую на местоположение GWT локально у каждого разработчика. В таком случае каждый получит рабочую среду проекта, если у него правильно настроена данная переменная. Ниже описан пример настройки проекта для Windows, а также замечание для Linux разработчиков.
Установка переменной GWT_HOME
Делается для каждого из разработчиков единожды:
- В главном меню Eclipse находим управление Classpath Variables. Для этого: Menu - Window - Preferences - Java - Build Path - Classpath Variables;
- Создаем переменную GWT_HOME. Кнопка New:
- указываем имя. Name: GWT_HOME;
- указываем свой путь к корневой папке GWT, к примеру "c:\gwt".
Создание нового проекта на GWT, первый commit
- Пользуемся стандартными утилитами для создания проекта:
- projectCreator -eclipse NewApplication -out d:\test\
- applicationCreator -eclipse NewApplication -out d:\test\ net.pleso.client.NewApplication
- Импортируем созданный проект в Eclipse. Menu - File - Import - Existing Projects into Workspace. Указываем, где лежит проект, к примеру "d:\test\"
- Настраиваем библиотеку gwt-user через GWT_HOME:
- правый клик на project root - Properties - Java Build Path - Libraries
- delete gwt-user.jar
- Add Variable - GWT_HOME - Extend - gwt_user.jar - Ok
- Настраиваем библиотеку gwt-dev-windows.jar через GWT_HOME:
- Run - Java Application - NewApplication (your name) - Classpath
- gwt-dev-windows.jar - Remove
- Advanced - Add Classpath Variables - GWT_HOME - Extend - gwt-dev-windows.jar - Ok
- Отпускаем проект в SVN-репозиторий.
- Не обязательно, но удобно добавить в svn:ignore:
- bin
- tomcat
- .gwt-cache
Инструкция по подключению проекта из SVN
- checkout проекта. Menu - File - Import - Checkout from SVN - trunk;
- проект должен быть назван аналогично создателю, Eclipse автоматически должен это подхватить и заполнить поле Project Name. В даном примере: NewApplication;
- после того, как проект был получен из SVN: Run - java application - NewApplication - Run (запуск) - запускается Host-mode окно GWT;
- debug выполняется аналогично.
Замечание для разработчиков на Linux
- файлы библиотек (gwt-dev-windows.jar и т.д.) заменяются соответствующими для Linux;
- для Linux нужно создать свой Run/Debug Config. Для этого: Run - java application - выбрать NewApplication - правой кнопкой Dublicate - назвать NewApplicatiion-Linux;
- далее сделать аналогичные изменения, которые описаны в пункте "Создание нового проекта на GWT";
- должно получится две Run/Debug конфигурации;
- отпустить проект в SVN - для Windows и Linux получаем разные конфигурации.
Альтернативные решения
Нам известно следующее альтернативное решение для командной разработки, что требует установки дополнительных расширений: Googlipse - An Eclipse plugin for Google Web Toolkit (GWT).
Поделитесь опытом, храните ли вы скомпилированные js файлы в SVN?
правда храните? а разве компилятор не делает каждый раз новые файлы? это у вас должна быть большая куча скопилированных файлов в свн.
не совсем все - в статье вот указано, что бросаем в svn:ignore. тем более комит бинарников нужно делать только для релизов, а их уж лучше хранить


