"프로젝트"는 무엇입니까?
빌드 스크립트를 제외하고이 관용구에 대한 기술적 정의가있을 수 있습니다. 그러나이 정의를 받아들이면 "프로젝트"가 버전 관리에 필요한 모든 것이 아니라고 말해야합니다!
그러나 우리는 "프로젝트"를 말한다면이며 모든 것을 당신이 수행했다 . 그런 다음 포함해야한다고 말할 수 있습니다. VCS .
이것은 매우 이론적이며 개발 작업의 경우 실용적이지 않을 수 있습니다. 따라서 " 프로젝트는 파일을 직접 편집해야하는 모든 파일 (또는 폴더) 입니다 "로 변경합니다 .
"직접"은 "간접적으로"가 아닌 것을 의미하고 "간접적으로"는 다른 파일을 편집하여이 파일에 효과가 반영됨을 의미합니다 .
따라서 OP가 말한 것과 동일하게 도달합니다 ( 여기서 설명 ).
생성 된 파일은 VCS에 없어야한다고 생각합니다.
예. 당신 이 그들을 만들지 않았기 때문에 . 따라서 두 번째 정의에 따라 "프로젝트"의 일부가 아닙니다.
이 파일들에 대한 결과는 무엇입니까?
build.gradle : 예. 편집해야합니다. 우리의 작품은 버전 화되어야합니다.
참고 : 편집 위치에는 차이가 없습니다. 텍스트 편집기 환경 또는 프로젝트 구조 GUI 환경에서. 어쨌든 당신 은 그것을 직접 하고 있습니다 !
gradle-wrapper.properties : 예. 이 파일에서 최소한 Gradle 버전을 결정해야합니다.
gradle-wrapper.jar and gradlew [.bat] : 나는 지금까지 내 개발 작업에서 그것들을 만들거나 편집하지 않았다! 답은 "아니오"입니다. 그렇게 한 경우 해당 작업에서 사용자에 대해 "예"로 (그리고 편집 한 동일한 파일에 대한) 대답이됩니다.
최신 사건에 대해 중요한 점은 당신의 repo를 복제합니다 사용자가에서이 명령을 실행 할 필요가있다 REPO의<root-directory> 에 자동 생성을 파일 랩퍼 :
> gradle wrapper --gradle-version=$v --distribution-type=$distType
$v과 $distType에서 결정됩니다 gradle-wrapper.properties :
distributionUrl=https\://services.gradle.org/distributions/gradle-{$v}-{$distType}.zip
자세한 내용은 https://gradle.org/install/ 을 참조하십시오.
gradle실행 파일은 bin/gradle[.bat]로컬 배포에 있습니다. 로컬 배포가 리포지토리에서 결정된 배포와 동일 할 필요는 없습니다. 후 래퍼 파일 다음 생성은 gradlew[.bat](로컬에 존재하는 경우) 자동으로 Gradle을 분포를 결정 다운로드 할 수 있습니다. 그런 다음 gradle위의 지침을 사용 하여 새 다운로드 파일 (다운로드 한 배포판)을 사용 하여 래퍼 파일을 재생성해야합니다 .
참고 : 사용자 가정 위의 지침에서는이 적어도 하나의 로컬 Gradle을 배포 (예를 ~/.gradle/wrapper/dists/gradle-4.10-bin/bg6py687nqv2mbe6e1hdtk57h/gradle-4.10). 거의 모든 실제 사례를 다룹니다. 그러나 사용자가 아직 배포를하지 않은 경우 어떻게됩니까?
.properties파일 의 URL을 사용하여 수동으로 다운로드 할 수 있습니다 . 그러나 래퍼가 예상 한 경로에서 찾지 못하면 래퍼 가 다시 다운로드합니다! 예상 경로는 완전히 예측 가능하지만 주제를 벗어났습니다 ( 가장 복잡한 부분 은 여기 참조 ).
더 쉬운 (더러운) 방법도 있습니다. 예를 들어, 다른 로컬 / 원격 리포지토리에서 래퍼 파일 ( .properties파일 제외 )을 다른 리포지토리로 복사 한 다음 리포지토리에서 실행할 gradlew수 있습니다. 적절한 배포판을 자동으로 다운로드합니다.