Исходные коды и компиляция.
1. Первое, что понадобиться для работы, это клиент для работы с репозитарием Mercurial. Прочитать про Mercurial можно на Wikipedia. Если необходимо, то установите клиентское приложение для Mercurial учитывая вашу операционную систему. Если не требуется история версий, то Mercurial можно не использовать.
2. Далее нужно выгрузить исходные коды системы QSystem на локальный компьютер. Исходные коды хранятся в системе Google Code. Клонируем требуемую версию системы себе на компьютер и переходим к следующему этапу. Можно просто скачать все исходные коды как архив.
Для версии 17.0 и последующих
Сборка проекта осуществляется GRADLE.
Для компиляции необходимо иметь установленным JDK версии не ниже 1.8. На этапе редактирования исходных кодов Вам потребуется среда IDE NetBeans8 или новее, т.к. необходима поддержка JDK8.
В NetBeans нужно установить плагин для Gradle. Этот плагин идет из коробки, но не установлен. Его нужно выбрать в мастере установки плагинов и установить. Далее открываем проект в NetBeans и работаетм с ним.
Для версии 16.5 и старше.
Сборка проекта осуществляется ANT.
Программное обеспечение системы Qsystem является свободным и имеет открытые исходные коды. Далее пойдет речь о том как самостоятельно скомпилировать проект и начать и ним работать.
Для компиляции необходимо иметь установленным JDK версии не ниже 1.8. Не забудьте добавить в системные переменные JAVA_HOME=<путь установленной jdk>\bin
Для того чтобы скомпилировать программу, Вам понадобятся используемые в проекте библиотеки. Никакие библиотеки в ручную скачивать и подключать не требуется. Но см. п.3.1. В проекте используется автоматическое разрешение зависимостей на основе инструмента apache-ivy. Все требуемые библиотеки загрузятся на Ваш компьютер из интернета в процессе сборки проекта.
Начиная с версии 1.3.1 требуется подключение библиотеки JavaFX. Эта библиотека распространяется в составе JRE, но по умолчанию не используется. Подключение представляет собой копирование одного файла из папки в папку. Файл <jre>\lib\jfxrt.jar скопируйте в папку <jre>\lib\ext. И все.
Для более ранних версий для возможности проигрывания видеороликов в проекте используется фреймфорк JMF. Библиотеки этого фреймворка используются в программе и требуются для компиляции. Перед компиляцией проекта убедитесь что JMF установлен у вас на компьютере. При установке инсталятор копирует необходимые библиотреки в JRE. Если система безопастности не позволит инсталятору скопировать эти библиотеки автоматически, то нужно сделать это вручную. Файлы из папки C:\Program Files\JMF2.1.1e\lib скопируйте в папку <jre>\lib\ext.
4. Приступаем к сборке. Проект собирается под управлением ant. Установите его себе на компьютер если у вас его еще не было. Загрузить его можно с этого ресурса. Так же необходимо иметь apache-ivy расшерение для ant. Оно необходимо для автоматического разрешения зависимостей. Загрузить IVY можно с этого ресурса. Для скачивания выбирайте архив с зависимостями binary-with-dependencies т.к. зависимости понадобятся тоже. Для ant понадобится еще одна библиотека ant-contrib, которая требуется для исполнения некоторых команд в скрипте. Эту библиотеку можно загрузить с этого ресурса. Инструментом ant пользоваться очень просто. Он кроссплатформенный и не требует предварительной установки. Просто скачиваете архив с инструментом, распаковываете его себе на диск и ant готов к работе. Теперь добавим необходимые зависимости к ant. Добавляем библиотеки ivy и ant-contrib если их еще не было. Добавляется это следующим образом. В скаченных архивах ivy и ant-contrib находим файлы jar и копируем их в папку ant/lib. Внимание. У ivy есть зависимости которые находятся в скаченном архиве в папке lib, не забудьте поместить их в ant\lib тоже. Теперь приступим к сборке. Переходите в папку где находится файл компиляции проекта build.xml и выполняете в этой папке ant.bat(Windows) из скаченного архива с ant. К примеру, исходние коды Вы скачали в папку D:\MyProg\QSystem\. А ant Вы распаковали в D:\MyTools\Ant. Теперь открываем консоль(cmd.exe для Windows), переходим в открывшейся консоли в папку D:\MyProg\QSystem\. Теперь папка D:\MyProg\QSystem\ стала текущей в нашей консоле. Теперь просто выполняем в этой консоли команду D:\MyTools\Ant\bin\ant.bat и смотрим за ходом компиляции. Первая компиляция будет происходить сравнительно долго, так как требуется скачать из интернета все необходимые библиотеки для сборки и запуска проекта. После завершения компиляции появится папка dist, в которой будет находится откомпилированная программа QSystem.jar и папка со всеми необходимыми библиотками lib, в ней несколько десятков библиотек.
4.1 Внимание. Если при старте компиляции будет выведено сообщение о том что не найден файл tools.jar, то можно поступить следующим образом. Просто найдите в папке с JDK этот файл и скопируйте его в папку <jre>\lib
5. На этапе редактирования исходных кодов Вам потребуется среда IDE NetBeans8 или новее, т.к. необходима поддержка JDK8. Это нужно только если Вам потребуется дорабатывать программу самостоятельно. Она упростит работу на этом этапе. Так как разработка ведется в этой среде, то проект без проблем откроется в ней. Для того, что бы NetBeans смог работать с IVY, потребуется установить плагин. Этот плагин берем здесь. На данный момент версия этого плагина требует доработки для NetBeans8, информацию смотрите тут. Откройте проект в NetBeans. Далее произойдет скачивание необходимых библиотек и проект готов к продолжению разработки.
Если даже вы используете другую IDE, то рекомендуется все же использовать NetBeans. Так как все визуальные формы разрабатываются с применением редактора для Swing, встроенного в NetBeans. На сколько удачно проект может быть конвертирован для разработки в другой какой либо IDE не проверялось.
Разработка инсталяционного пакета.
Для удобства инсталяции системы может быть собран инсталяционный пакет. Для этого используется программа-инсталлятор IzPack. Предварительно установите себе на компьютер эту программу и пропишите в системные пути операционной системы путь куда вы установили ее. Все необходимые файлы и скрипты для сборки инсталятора находятся в папке installation. Используйте командный файл makeInstall.bat или создайте аналогичный sh-файл для Linux.
Для выпуска релизов с полной сборкой проекта, выполнением всех автотестов, созданием документации кода и сборкой инсталятора предусмотрен ant-скрипт в папке building. Сделайте эту папку текущей и выполните команду ant или запустите командный файл anter.bat. Для выполнения этих действий убедитесь что путь к ant присутствует в системных.