2015-07-20 66 views
1

我一直在這個問題上讀了幾個小時,但沒有成功。
這裏是我的情況:git包括從另一個存儲庫編譯的dll

項目A的輸出被編譯的dll文件女巫在其他項目上
多的人對項目的工作使用
項目A有自己的倉庫,讓它repoA
我的名字不能在其他項目中包含該項目的源代碼,我只能使用它的編譯後的dll。

項目B是repoB一個Web應用程序
多的人對項目B工作

所有項目都在同一臺機器上(本地服務器)

那麼,如何可以包括從repoA的dll進入所有其他項目(repoB ... repoZ),並在repoA更新時保持最新。

我使用VS2013和msysGit

回答

1

二進制依賴是最好的管理:

  • 在不同的參考(different from a source control referential):如Nexus的artificat參考最好
  • pom.xml文件(包括在其他項目中),以聲明您需要的依賴關係(這樣,每次在其他項目中開始構建時,都會從Nexus獲得依賴關係)

請參閱「The Basics - Components, Repositories and Repository Formats」。

我使用這種方法對所有類型的項目(不只是Java的Maven項目)

ant -f %BUILD_SCRIPTS_DIRECTORY%\build.xml -lib Build\antlib dependencies 

隨着build.xml像:

<project name="aname" default="help" xmlns:artifact="antlib:org.apache.maven.artifact.ant"> 

    <taskdef resource="net/sf/antcontrib/antlib.xml"/> 

    <target name="dependencies" description="resolve dependencies" unless="run.test"> 
     <artifact:pom id="pom" file="pom.xml" /> 
     <artifact:dependencies filesetId="dep.builder" pomRefId="pom"/> 
     <delete dir="${pom.build.directory}"/> 
     <unzip dest="${pom.build.directory}" overwrite="true"> 
      <fileset refid="dep.builder"/> 
     </unzip>    
    </target> 

</project> 

而一個pom.xml聲明的依賴關係,如:

<dependencies> 
    <dependency>   
     <groupId>com.oracle.www</groupId> 
     <artifactId>oci</artifactId> 
     <version>10</version> 
     <type>zip</type> 
     <classifier>${targetplatform}</classifier> 
    </dependency> 
    <dependency>     
     <groupId>com.sophis.www</groupId> 
     <artifactId>stlport</artifactId> 
     <version>5.1</version> 
     <type>zip</type> 
     <classifier>${targetplatform}</classifier> 
    </dependency> 
    ... 
</dependencies> 
相關問題