2014-12-18 4 views
0

나는 A, B, C 및 컴파일해야하는 ant의 build.xml 프로젝트가 있습니다.IVY - 다중 프로젝트 로컬 빌드 - mimcking "작업 공간의 종속성 해결"

C는 내가 모든 종속성 이클립스에 있었다했고 내가 함께 개미의 build.xml 파일을 가지고 지금까지

에 따라 B에 따라 달라집니다 : 이제

<eclipse.incrementalBuild project="A" kind="incremental"/> 
<eclipse.incrementalBuild project="B" kind="incremental"/> 
<eclipse.incrementalBuild project="C" kind="incremental"/> 

, 나는 ivy.xml이 파일 - 예를 들면 다음과 같습니다

<ivy> 
    <ivy module="B"/> 

    <dependencies> 
     <dependency name="A"> 
    </dependencies> 
</ivy> 

저장소도 해결을 위해 사용되기 때문에 내가 (내가 sonatype 넥서스 저장소를 사용) 저장소에이 순서대로 A, B, C를 게시 할 때 이제 모든 위대한 작품, 그래서 proc ess는 : 1. A에 대한 의존성 해결 - 아니요. 2. 현재 작업 영역 A를 jar 파일로 저장소에 업로드 3. B - A에 대한 종속성 확인은 종속성으로 해결됩니다. 4. 현재 작업 영역 B를 저장소로 jar로 업로드합니다. C에 대한 5. 해결 dependenceies - 항아리 나는 그것이 넥서스에 게시 볼 수있는 방법은 제품

를 제공하기위한 것입니다

를 리포지토리로서 작업 공간 C에 6. 업로드 현재 종속성으로 B와 A는 해결 내가 필요로하는 간단한 build.xml 내 프로젝트를 컴파일하는 - 그래서 나는 항상 새로운 버전을 게시하고 싶지 않다. 대신 나는 A가

은 내가 사용에 대한 생각, 이미 다음 2. 이미 컴파일 된 B를 사용하여 C를 컴파일 컴파일 사용 2. 컴파일 1. 아이비를 사용하고 B를 컴파일하는 나는 방법을 찾고 있어요 파일 시스템의 로컬 리포지토리 (1 ~ 6 단계가 사용됨) - 사용되는 로컬 항아리 생성 - 그러나 이것은 약간 번거 롭습니다 : 1. 내 해결 방법은 두 개의 해결 자 - 넥서스 앞에있는 파일 시스템 repo - 실제 게시시 현지 항아리를 삭제해야한다는 것을 의미합니다. 2. 단순한 해결책이있을 수 있다고 생각되는 부분에 대해서는 너무 많은 작업이 필요합니다.

본질적으로 작업 공간의 종속성을 해결하고 작업 공간의 다른 프로젝트를 사용하여 프로젝트를 컴파일 할 수있는 Eclipse의 IVY 플러그인을 모방하고 싶습니다. 그러나이 작업을 수행하는 가장 좋은 방법을 찾고 있습니다.

답변

2

당신은 진술 감사합니다 을 컴파일해야 개미의 A, B, C 및 build.xml 파일 :

나는 세 가지 프로젝트가 있습니다.

이는 프로젝트가 실제로 하나의 큰 단일 구조로되어 있음을 나타냅니다.

대신 Maven의 작동 방식을 에뮬레이션해야합니다. 각 모듈에는 자체 빌드 파일과 해당 모듈의 종속성을 나열하는 아이비 파일이 있어야합니다. 각 모듈은 자체 jar 이슈를 저장소 (로컬 또는 원격)에 게시하여 ivy resolve 작업을 사용하여 다른 모듈에 액세스 할 수 있도록합니다.

다음 예제는 아이비를 사용하여 다중 모듈 빌드에서 아이비 문서에 대한 링크를 제공합니다.ivy simple shared repository

  • Ivy: Using dynamic revisions
  • 그것은 큰 프로젝트를 깰 쉬운 일이 아니다

    • , 난이 도움이되기를 바랍니다.