Как наиболее правильно выполнить все следующие действия:
- Создать проект в Eclipse
- С помощью файла сборки Apache Ant
- Что Хадсон (или другая более рекомендуемая система CI?) Использует
- И поддержка тестов JUnit, которые выполняются Ant / Hudson и Eclipse
- И проверьте правильную структуру папок в SVN, чтобы будущие разработчики могли реплицировать сборку, и Хадсон может автоматически извлечь из SVN и запустить файл Ant для сборки / тестирования / развертывания проекта
- И в проекте есть нативные библиотеки, если это имеет какое-то значение (я уже написал задачу Ant, которая может загружать и распаковывать нужные файлы библиотеки в зависимости от ОС)
У меня уже есть проект с некоторыми исходными файлами и файлом Ant, но у меня возникли проблемы с его упорядоченной интеграцией с Eclipse, поэтому мне бы очень хотелось начать с нового проекта Eclipse, настроить его правильно и затем пошагово скопируйте мой Ant-файл и мои исходные файлы в проект наиболее совместимым с Eclipse способом.
Я буду продолжать играть со всем, пытаясь заставить его работать так, как мне нравится. Но если у вас есть опыт работы с подобными вещами, возможно, на рабочем месте, пожалуйста, предоставьте как можно больше информации.
Моя главная цель - изучить это один раз и использовать в своих будущих проектах. Сейчас я занимаюсь разработкой клиент-серверного приложения, состоящего из внешнего интерфейса апплета JOGL (с использованием файлов JNLP) и серверного приложения без присмотра. До сих пор я делал все вручную: писал и собирал в Eclipse, перетаскивал jar-файл апплета в мой FTP-клиент, SSH-файл jar сервера и перезапускал его вручную, и все это без процесса тестирования. Я надеюсь, что к концу процесс сборки будет выглядеть примерно так: локально протестируйте на моей машине копию собственных библиотек; фиксировать изменения кода в SVN; Hudson svn update
s использует сборочный файл Ant для компиляции и запуска всех тестов JUnit; если все тесты пройдены, он продолжает копирование jar-сервера на мой выделенный сервер и перезапускает работающий экземпляр сервера, а затем копирует jar-файл клиента на мой веб-сервер.