Создавать проекты на C++ в Maven с помощью maven-nar-plugin
Кто -нибудь использовал maven-nar-plugin для сборки кода C++ для разных платформ, используя разные компиляторы? Если есть кто-то, пожалуйста, дайте мне больше информации об этом. Мне просто интересно, как может быть файл NAR, созданный для разных платформ с Maven. Я знаю, что для того, чтобы иметь возможность построить проект на конкретной платформе, вы должны запустить сборку на этой платформе и использовать определенные компиляторы и компоновщики этой платформы. Но мой опыт связан с Java-проектами и Maven, и, как вы уже знаете, java довольно переносим на платформу, поэтому до сих пор у меня не было таких проблем, как thin. Таким образом, любая помощь и детали о том, как создавать проекты с помощью maven-nar-plugin, будут оценены! Спасибо
1 ответ
В настоящее время самый верный способ собрать несколько бинарных платформ с помощью maven-nar-plugin - это сделать это на разных платформах, а не пытаться использовать решение на основе кросс-компиляции.
Например, проект ImageJ использует maven-nar-plugin для создания небольшого встроенного модуля запуска для Linux, OS X и Windows, 32-разрядных и 64-разрядных версий.
Для этого в проекте имеется Jenkins CIS на сервере Linux, 64-разрядная виртуальная машина Windows 7 в VirtualBox с ведомым устройством Jenkins и настольное ведомое устройство Jenkins на OS X, каждое из которых выполняет сборку Maven для своих соответствующих платформ.
Это было довольно сложно настроить; Есть подробные инструкции в этом билете трекера проблем ImageJ.
В связи с этим, группа заинтересованных разработчиков недавно воскресила maven-nar-plugin, перенеся официальный репозиторий в новую организацию maven-nar. Один из элементов, представляющих интерес, - это кросс-компиляция, которая упростит создание собственных двоичных файлов для нескольких AOL на одной платформе без обращения к подчиненным Jenkins. Но есть много проблем (например, GCC часто меняет поведение), и это еще не легко сделать. Мы приглашаем заинтересованных разработчиков присоединиться к обсуждению в новом списке рассылки maven-nar-plugin!