Я работаю над набором компонентов MATLAB, Java и C / C++, которые взаимодействуют между собой, но имеют совершенно разные этапы компиляции / установки. В настоящее время мы ничего не компилируем для MATLAB, используем maven2 для сборки Java и модульных тестов, а также используем автоинструменты для сборки C / C++ и модульных тестов.
Я хотел бы переместить все в единую систему сборки и модульного тестирования, используя maven2, но не смог найти плагин, который позволил бы кодовому потоку C / C++ оставаться на основе автоинструментов и просто обернуть его в сборку maven. Необходимость вырвать поддержку autotools и воссоздать все зависимости в maven, скорее всего, является препятствием, поэтому я ищу способ для maven и autotools, чтобы они могли хорошо играть вместе, вместо того, чтобы выбирать между ними.
Возможно ли это или даже желательно? Есть ли ресурсы, которые я упустил из виду?





Я действительно не знаю автоинструментов, но разве вы не можете использовать плагин maven exec, который позволяет выполнять системные команды (или программы Java)? Например:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>exec-one</id>
<phase>compile</phase>
<configuration>
<executable>autogen</executable>
<arguments>
<argument>-v</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
<execution>
<id>exec-two</id>
<phase>compile</phase>
<configuration>
<executable>automake</executable>
<arguments>
<argument>-v</argument>
<argument>[other arguments]</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Я не тестировал приведенный выше фрагмент pom, но он дает вам несколько подсказок о том, как действовать.
Вы пропустили набор maven cbuild родитель. загляните в раздел «make-maven-plugin» для получения более подробной информации.
Это выглядит многообещающе, но они пока только претендуют на статус альфа-версии. Определенно что-то, что нужно отслеживать и в соответствии с тем, что я искал. Я обновлю больше после того, как опробую доступные функции.
Я искал способ, которым мне не нужно переводить каждую команду maven в системную команду. Это усложняет обслуживание и далеко не так чисто, как сборка Java. Если мне придется писать все сценарии, я, вероятно, буду работать за пределами maven для инструментов C / C++.