使用 NANT 构建子项目

发布于 2024-11-03 01:23:24 字数 176 浏览 4 评论 0原文

我正在尝试使用 NANT 构建一个项目(A)。项目(A) 依赖于另一个也是使用NANT 构建的项目(B)。我希望能够从项目 (A) 的构建中调用依赖项目 (B) 的构建。我尝试将项目 B 的构建文件包含在项目 A 的构建文件中。这会产生错误,因为这两个构建文件包含共享相同名称的目标。

有没有办法为包含的构建文件添加别名?

I'm trying to build a project(A) using NANT. The project(A) relies upon another project(B) which is also built with NANT. I want to be able to invoke the build of the dependent project(B) from within the build of project(A). I've tried including the build file of project B in the build file of project A. This creates an error because the two build files contain targets that share the same name.

Is there a way to alias the included build file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情绪失控 2024-11-10 01:23:25

您可以通过创建一个“父”构建文件来做到这一点,该文件使用“nant”操作来调用其他构建文件。

<target name="rebuild" depends="" >
    <nant target="${target::get-current-target()}">
        <buildfiles>
            <include name="projectB.build" />
            <include name="projectC.build" />
        </buildfiles>
    </nant>
</target>

You can do it like this by creating a "parent" buildfile, that uses the "nant" action to call other buildfiles.

<target name="rebuild" depends="" >
    <nant target="${target::get-current-target()}">
        <buildfiles>
            <include name="projectB.build" />
            <include name="projectC.build" />
        </buildfiles>
    </nant>
</target>
两人的回忆 2024-11-10 01:23:25

我试图使用包含任务来执行此操作,但发现 nant 任务实际上是我所需要的。

I was trying to do this using an include task but have found that the nant task is actually what I required.

萌面超妹 2024-11-10 01:23:25

您的“主”文件中可以有多个这样的目标。我经常使用以下构造在目标之间共享一组构建文件,以使脚本维护更容易。

<fileset id="buildfiles.all">
    <include name="projectB.build"/>
    <include name="projectB.build"/>
</fileset>

<target name="build">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>

<target name="clean">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>

<target name="publish">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>

You can have several of such targets in your 'master' file. I often use the following construction to share a set of build files between targets to make script maintenance easier.

<fileset id="buildfiles.all">
    <include name="projectB.build"/>
    <include name="projectB.build"/>
</fileset>

<target name="build">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>

<target name="clean">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>

<target name="publish">
    <nant target="${target::get-current-target()}">
        <buildfiles refid="buildfiles.all" />
    </nant>
</target>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文