RU:JOSM/Build
Зачем это нужно
- Вы хотите посмотреть код JOSM
- Вы хотите создать свой плагин или изменить существующий
- Вы хотите предложить изменения в код JOSM или в стандартные стили/заготовки
Свои предложения разработчикам по-английски пишем в карточки на http://josm.openstreetmap.de/
Профильные темы на форуме: [вопросы ] [пожелания]
Вся официальная информация по разработке JOSM и плагинов находится по адресу http://josm.openstreetmap.de/wiki/DevelopersGuide
Здесь представлено просто вольное изложение для не-программистов и начинающих.
Если хочется просто посмотреть код или узнать, кто что изменял - Вам сюда: JOSM - http://josm.openstreetmap.de/browser/josm/trunk Плагины - https://trac.openstreetmap.org/browser/subversion/applications/editors/josm/plugins
Изменяем отдельные файлы дистрибутива
(Если Вы хотите изменить стили по умолчанию, заготовки или картинки без перекомпиляции JOSM)
- Возьмите любую сборку josm-custom.jar (без контроля целостности) и поменяйте нужный файл с помошью [Far manager 3.0] (открытый, подсвечивает синтаксиc и не нужно возиться с архиваторами, войти в архив - Enter, редактирование - F4, сохранить - F2, выйти - Esc).
- Стандартные заготовки объектов находятся в josm-custom.jar/data/defaultpresets.xml
- Два стиля по умолчанию - josm-custom.jar/styles/standard
- Картинки, в том числе необходимые для стилей и заготовок - в josm-custom.jar/images
Скачиваем код JOSM
- Устанавливаем svn-клиент. Под Linux-обычно
apt-get install subversion
Под Windows скачиваем[TortoiseSVN] и при установке не забываем отметить галочкой "command line client tools". Кому не нужна графическая оболочка - вместо TortoiseSVN можно поставить [Subversion for windows]
- При необходимости настройте прокси-сервер (http, https)
- Теперь Вы можете получать код JOSM и плагинов любой версии. В первый раз нужно зайти в любую чистую папку и выполнить команду
svn co http://svn.openstreetmap.org/applications/editors/josm josm
(Из TortoiseSVN можно выбрать SVN Checkout в контекстном меню проводника Windows и вставить адрес http://svn.openstreetmap.org/applications/editors/josm)
Будет скачан код JOSM и почти всех плагинов (~120 Мб).
- Для обновления кода до последней версии выполняем в папке josm
svn update
(или SVN update в контекстном меню Проводника для TortosieSVN)
- Если требуется старая версия JOSM -
svn update -r номер
в папке josm/core.
Устанавливаем JDK и Ant
- Вам потребуется JDK 7: http://www.oracle.com/technetwork/java/javase/downloads/index.html и
Apache Ant: http://ant.apache.org/bindownload.cgi
Под Linux - ищите инструкцию по установке для конкретного дистрибутива (apt-get ...). Далее - описание для Windows.
- Если в командной строке не находится команда javac, допишите к переменной PATH в переменных среды папку ...jdk.../bin... через точку с запятой (например C:\Program Files\Java\jdk1.7.0_17\bin)
Сам C:\Program Files\Java\jdk1.7.0_17 занесите в новую переменную JAVA_HOME. Редактирование PATH : http://www.java.com/ru/download/help/path.xml http://setup-steps.blogspot.ru/2013/01/gui-editor-redmond-path.html
- Распаковываем apache-ant-1.9.0-bin.zip в любую папку, например, C:\Java\Ant. Добавляем C:\JAVA\ant\bin к переменной PATH. Должна заработать команда ant.
Собираем JOSM или плагин
Теперь всё просто:
- Меняем код, картинки или XML-настройки как захотим.
- Заходим в папку josm/core
ant clean
ant dist
очищаем лишнее и пересобираем JOSM. В случае ошибок смотрим по номерам строк, что не так.
- В папку josm/core/dist появляется ваш личный josm-custom.jar. Запускать - двойным щелчком или
java -jar dist/josm-custom.jar
- Если нужно пересобрать плагин - сначала соберите josm-custom.jar, зайдите в plugins/папку плагина и выполните
ant clean
ant install
Плагин будет установлен в домашнюю папку JOSM и будет работать (если Вы его, конечно, включите и запускать будете достаточно свежий josm). Для многих плагинов запуск josm выполняется по команде
ant runjosm
Используем среду разработки
В консоли много кода не отредактируешь. Используйте [Eclipse] или чуть более дружелюбный [NetBeans]. Файлы проектов уже есть в папке josm/core и в некоторых плагинах (для остальных придётся создавать).
Делимся изменениями в виде патчей
- Если Вы добавляли файлы, не забывайте сделать
svn add имя файла
чтобы система запомнила факт добавления (или Svn Add в TortosieSVN).
- Изменив josm или плагин, запускаем в папке josm/core или plugins/... команду
svn diff > MySuperPatch.patch
В TortoiseSVN можно сделать тоже самое из контекстного меню проводника (Create patch).
- Выкладываем файл MySuperPatch.patch как вложение в карточке JOSM trac: https://josm.openstreetmap.de/newticket , крайне желательно перед этим там зарегистрироваться.