首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nant:使用svn构建项目-外部

Nant:使用svn构建项目-外部
EN

Stack Overflow用户
提问于 2009-09-13 03:07:15
回答 1查看 765关注 0票数 1

使用subversion和Nant来建造。我有一个主要的项目,取决于几个子项目。子项目作为独立的项目存在于subversion中。

,我的问题是:是否应该在主项目中构建nant构建脚本,构建所有引用的子项目及其本身?或者,这些子项目知道如何构建自己吗?我以某种方式从主构建文件调用子项目构建文件,并以某种方式将所有输出组装到主项目构建输出中?

我现在有了大型项目构建文件,构建了所有的子项目。也就是说,我对构建文件中的每个子项目都有nant目标。然而,这似乎在主构建文件和子项目之间建立了紧密的耦合。如果我能说“子项目知道如何构建自己”,并要求他们从主项目构建自己并组装输出,那就太好了。

作为参考,我的存储库如下所示:

代码语言:javascript
复制
/Repo
  /MainProject
    /trunk
      /doc   <-- documentation
      /lib   <-- binary-only DLLs (usually 3rd party)
      /src   <-- source code for MainProject
      /svn-externals  <-- hold references to other projects in repository
...
  /ClassLib1
    /trunk
      /doc
      /lib
      /src
      /svn-externals
...
  /ClassLib2
    /trunk
      /doc
      /lib
      /src
      /svn-externals
...
  /ClassLibCommon
    /trunk
      /doc
      /lib
      /src
      /svn-externals

我正在使用subversion svn-externals属性引入子项目。所以我的作品是这样的:

代码语言:javascript
复制
/MainProject
  /build
  /doc
  /lib
  /src
    /MainProject
  /svn-externals
    /ClassLib1 <-- svn external to svn://xyz/repo/ClassLib1/trunk
      /doc
      /lib
      /src
      /svn-externals
        /ClassLibCommon <- svn external to svn://xyz/repo/ClassLibCommon/trunk
          ...
    /ClassLib2 <-- svn external to svn://xyz/repo/ClassLib2/trunk
      /doc
      /lib
      /src
      /svn-externals
        /ClassLibCommon <- svn external to svn://xyz/repo/ClassLibCommon/trunk
          ...
EN

回答 1

Stack Overflow用户

发布于 2009-09-23 21:55:22

你的问题的答案当然是“视情况而定”。

您没有说的是如何在您的解决方案中引用“子项目”,或者它们是否被其他解决方案(主要项目)使用?它们是项目参考吗?如果是这样的话,让nant调用MSBuild来构建解决方案。这将构建基于这些依赖项的所有子项目。我只能假设这就是你设置它的方式。

就我个人而言,如果我有一个看起来像您的设置,我就不会使用项目引用,也不会对每个项目的所有代码进行外部处理。我会像对待第三方DLL一样对待这些子项目。

如果这样做,您将使用DLL引用。这使子项目与您的主要项目脱钩。这就是我要去的方式,特别是如果那些子项目被其他项目引用的话。

是的,现在你得做些别的决定.例如如何将这些存储在源代码管理中。库文件夹中可以有外部文件..。或者,您可以将DLL的副本放入lib文件夹。这还取决于您希望如何控制版本控制。

此外,如果您使用某种类型的CI (如CC.Net ),则无需提及。如果您这样做了,您可以让它触发主项目的重建,如果有任何子项目被修改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1416747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档