3

我正在研究一个集合 MATLAB、Java 和 C/C++ 组件,它们都可以互操作,但编译/安装步骤截然不同。我们目前不为 MATLAB 编译任何东西,使用 maven2 进行 Java 构建和单元测试,并使用 autotools 进行 C/C++ 构建和单元测试。

我想使用 maven2 将所有内容移至单个构建和单元测试系统,但找不到一个插件,该插件将允许 C/C++ 代码流保持基于 autotools 并简单地将其包装在 maven 构建中。不得不取消 autotools 支持并在 maven 中重新创建所有依赖项很可能会破坏交易,所以我正在寻找一种让 maven 和 autotools 很好地协同工作的方法,而不是必须在两者之间进行选择。

这是可能的,甚至是可取的吗?有没有我忽略的资源?

4

2 回答 2

1

我真的不知道 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 片段,但它给了你一些关于如何继续的提示。

于 2008-10-10T14:01:01.407 回答
1

您确实忽略了 maven cbuild 父套件。查看“make-maven-plugin”部分了解更多详细信息。

于 2009-04-02T10:51:15.657 回答