Широко ли используется maven-native-plugin для создания проектов C++ с использованием maven?
Прошло немного времени с тех пор, как я профессионально занимался разработкой на C++, и мне хотелось бы узнать, каково текущее состояние разработки на C++ во многих областях. Большая часть моей недавней работы была на Java, где интенсивно использовался Maven. Когда я последний раз занимался разработкой C++ для работы, какой-то вариант make
был широко принят как способ создания проектов C++ (мы также использовали make
сделать сборку кода Java в наших смешанных проектах Java и C++, хотя я считаю, ant
начал становиться мейнстримом).
Мне нравится использовать Maven для сборки. Мой вопрос не в том, чтобы обсудить относительные достоинства использования Maven, а в том, чтобы определить, какой уровень принятия у Native Maven Plugin для создания проектов C++ и какой у людей был опыт с этим. Альтернативно, есть ли новый общий набор инструментов для сборок C++, который имеет большой импульс?
2 ответа
По моему опыту, сообщество C++ до сих пор не стандартизировало общий инструмент для сборки. Хотя автоинструменты GNU (и GNU make) по-прежнему популярны для проектов с открытым исходным кодом, другие варианты включают SCons, CMake, makepp и bjam/ jam.
Лично я бы использовал Maven только для проекта, который в основном написан на Java с небольшой частью JNI.
Наш опыт работы с родным плагином maven заключается в том, что он очень хорошо интегрируется с цепочкой инструментов Java. Если вы создаете смешанные системы Java/C++, то это плагин для вас. Благодаря этому плагину наши разработчики на C++ и Java имеют одинаковую среду (maven, eclipse, hudson) и централизованное управление зависимостями (nexus). С другой стороны, некоторые из наших исправлений (производительность, связанная с большим объемом нашей кодовой базы, несколько миллионов строк кода) не были интегрированы в основной выпуск, что обязывает нас работать с версией исправления.