2013-05-24 6 views
20

"OS 무신론 쉘 스크립트"와 같은 종류의 gradle 작업을 사용하려고합니다. 빌드 파일의 논리를 쓰는 데 아무런 문제가 없지만 모든 폴더에서 실행할 수 있기를 원합니다.Gradle : "gradle"이 실행 된 폴더를 가져옵니다.

내 첫 번째 시도는 경로 내 build.gradle 파일과 폴더를 넣어, 다음 실행하려고했다 :

gradle myMask 

build.gradle 포함되지 않은 폴더에서 -하지만 아무튼 일하지 마라.

gradle -b /folder/containing/build.gradle myTask 

하지만 그 일부가 연장에 근무 :

내 다음 시도했다. 내 작업에서 모든 파일을 CURRENT DIRECTORY에서 찾고 싶습니다. 현재 - 나는 시도 build.gradle이 들어있는 하나를 제외한 어떤에서 내가 실행하고의 하나 "Gradle을 ....."

하지 의미 :

file(".") 

file("$projectDir") 

과 그 이상, 그러나 그들 모두는 빌드 스크립트를 포함하는 폴더를 가리키며, 나는 그것을 실행하고있는 의 폴더를 가리키고 있지 않습니다.

어떻게하면됩니까?

+1

??? – Ahmed

답변

42

는 우승자는 다음과 같습니다

System.getProperty("user.dir") 
11

파일 (".") 항상 필요하지 작업 디렉토리 밤은 현재의 프로젝트 폴더를 반환합니다. 작업 디렉토리를 참조하려면 다음을 사용할 수 있습니다

new File(".").absolutePath 

희망을! 당신은 System.getProperty ("으로 user.dir")를 추가 않았다

르네

+1

아니, 그건 작동하지 않습니다. build.gradle 파일이있는 폴더가 반환됩니다. 그리고 이것은 정확히 내가 원하지 않는 것입니다. –

+1

이 스 니펫을 테스트 해 보셨습니까? 새로운 File (".")에 대한 기본 Java 비헤이비어 인 ​​것처럼 현재 workingDir을 반환 할 것이라고 확신합니다. –

+1

사실 내가 묻는 질문에 대답을하지 않더라도 이것이 내가 찾고있는 것입니다. 감사! – milosmns

관련 문제