2014-07-18 2 views
0

jtit을 사용하는 커스텀 앤트 태스크를 작성했습니다. 디렉토리 주소와 함께 로컬 저장소 주소를 가져와 디렉토리의 모든 파일을 색인에 추가해야합니다. 성공적으로 빌드되지만 불행히도 작동하지 않습니다. 나는 완전히 새로운 것이므로, 여러분 중 일부가 문제를 찾거나 내가 빠진 것을 찾도록 도와 줄 수 있는지 궁금합니다. 커스텀 아파치 개미 작업 (jgit)이 작동하지 않습니다

package customGitTasks; 

import java.io.File; 

import org.apache.tools.ant.Task; 
import org.apache.tools.ant.BuildException; 
import org.eclipse.jgit.api.AddCommand; 
import org.eclipse.jgit.api.Git; 


public class GitAdd extends Task{ 

    private String dir; 
    private String repository; 

    public void setRepository(String repository) { 
     this.repository = repository; 
     } 

    public void setDir(String dir) { 
     this.dir = dir; 
     } 

public void execute() throws BuildException { 
    try { 

     Git git = Git.open(new File(repository)); 
     AddCommand add = git.add(); 
     add.addFilepattern(dir).call(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
     System.out.println(e.getMessage()); 
    } 
} 
} 

답변

2

JGit 다른 git related tasks (gitadd, gitcheckout, gitclone, gitinit) 사이 gitadd 개미 작업을 제공 주셔서 감사합니다 : 여기에 내 코드입니다.
해당 작업 =>get the jarfile here 또는 영감을 얻기 위해 sources of gitadd task을 확인하십시오.
는주의 - 윈도우 OS에서 실행했을 때 그것이 작동되도록하는 자식 - 추가 작업을 패치해야 :

// original line 149 
//return new File(file).getCanonicalPath().substring(prefix.length() + 1); 

String result = new File(file).getCanonicalPath().substring(prefix.length() + 1); 
if (File.separatorChar != '/') { 
    result = result.replace(File.separatorChar, '/'); 
} 
return result; 

는 fileseparator 유닉스 스타일이어야 의미한다.

관련 문제