2017-02-12 1 views
1

어떻게 github repo의 패키지에 직접 의존 할 수 있습니까? (프로젝트 가정하면 아무런 기준이 없거나 기준을 사용하지 않는 이유가있다.)github 프로젝트의 Metacello 의존성

나는

spec 
    package: 'Magritte-XMLBinding' 
    with: [ spec 
     repository: 'github://magritte-metamodel/XML-Bindings:master/repository' ]. 

그러나 실패한 다음과 같은 사양을 (시도했습니다 확인할 수 없습니다 : 마그리트 - XMLBinding을 [ Magritte-XMLBinding.package]), 몬티 셀로 브라우저에서 repo 아래 나는 Magritte-Tests-XMLBinding 만 볼 수 있습니다.

또한, 압축을 푼 저장소 (github-cache/)를 보면 Magritte-Tests-XMLBinding 만 압축이 해제되었습니다.

포장을 푼 Tests 패키지가 알파벳순으로 처음으로 나왔기 때문에 Metacello 사양이 생각하지 않고 첫 번째 패키지를 붙잡는 것처럼 느껴집니다.

답변

3

git (및 github)을 사용하면 패키지에 의존 할 수 없지만 전체 프로젝트에 의존 할 수 있습니다. 그러나 프로젝트에 의존하지만 해당 프로젝트의 패키지 하나만로드 할 수 있습니다. 일반적으로이 정의는 작동합니다 :

spec 
    baseline: 'XMLBindings' 
    with: [ 
     spec 
      repository: 'github://magritte-metamodel/XML-Bindings:master/repository'; 
      loads: #('Magritte-XMLBinding') ]. 

을하지만,이 답변은 일반적으로 정확하지만,이 경우 에이 작동하지 않습니다 프로젝트의 저자는 이것을 허용하는 어떤 baseline 정의를 포함하지 않았기 때문에 의존성 정의의 종류는 세 가지 가능한 솔루션이 그래서 여기에 ... 그는 단지 진짜의 거울로 해당 프로젝트를 사용하는 날을 제안 작동합니다 :

  1. 가 기준으로 제작하는 풀 요청을 보낼를
  2. 접촉 프로젝트 저자는 다음 그것을 올바른 REPO를 다운로드 한 압축을 푼 때문에, 기준
  3. 대신 원본 소스가 더 불완전 구현과 같은 동작부터 GitHub의 거울
+0

을 사용하여 추가하도록 요청하고, 그것은 떨어져서 (본질적으로 로컬 파일 트리 repo에) –