"Dự án" là gì?
Có thể có một định nghĩa kỹ thuật của thành ngữ này không bao gồm các tập lệnh xây dựng. Nhưng nếu chúng tôi chấp nhận định nghĩa này, thì chúng tôi phải nói rằng "dự án" của bạn không phải là tất cả những thứ bạn cần để phiên bản!
Nhưng nếu chúng tôi nói "dự án của bạn" là mọi thứ bạn đã làm . Sau đó, chúng tôi có thể nói bạn phải đưa nó vào và chỉ đưa nó vào VCS.
Điều này rất lý thuyết và có thể không thực tế trong trường hợp các công trình phát triển của chúng tôi. Vì vậy, chúng tôi thay đổi nó thành " dự án của bạn là mỗi tệp (hoặc thư mục) bạn cần chỉnh sửa trực tiếp ".
"Trực tiếp" có nghĩa là "không gián tiếp" và "gián tiếp" có nghĩa là bằng cách chỉnh sửa một tệp khác và sau đó một hiệu ứng sẽ được phản ánh vào tệp này .
Vì vậy, chúng tôi đạt được điều tương tự mà OP đã nói (và được nói ở đây ):
Tôi nghĩ rằng các tệp đã tạo không nên có trong VCS.
Đúng. Bởi vì bạn đã không tạo ra chúng. Vì vậy, chúng không phải là một phần của "dự án của bạn" theo định nghĩa thứ hai.
Kết quả về những tập tin này là gì:
xây dựng.gradle : Có. Chúng ta cần chỉnh sửa nó. Các tác phẩm của chúng tôi nên được phiên bản.
Lưu ý: Không có sự khác biệt nơi bạn chỉnh sửa nó. Cho dù trong môi trường soạn thảo văn bản của bạn hoặc trong môi trường GUI Cấu trúc dự án . Dù sao bạn làm nó trực tiếp !
gradle-wrapper.properies : Có. Chúng ta cần xác định ít nhất phiên bản Gradle trong tệp này.
gradle-Wrapper.jar và gradlew [.bat] : Tôi chưa tạo hoặc chỉnh sửa chúng trong bất kỳ tác phẩm phát triển nào của tôi, cho đến thời điểm này! Vì vậy, câu trả lời là không". Nếu bạn đã làm như vậy, câu trả lời là "Có" về bạn tại công việc đó (và về cùng một tệp bạn đã chỉnh sửa).
Các lưu ý quan trọng về trường hợp mới nhất là người dùng bắt chước repo của bạn, cần phải thực hiện lệnh này trên repo của<root-directory>
để tự động tạo wrapper file:
> gradle wrapper --gradle-version=$v --distribution-type=$distType
$v
và $distType
được xác định từ gradle-wrapper.properies :
distributionUrl=https\://services.gradle.org/distributions/gradle-{$v}-{$distType}.zip
Xem https://gradle.org/install/ để biết thêm thông tin.
gradle
thực thi là bin/gradle[.bat]
trong phân phối địa phương. Không yêu cầu phân phối cục bộ giống như phân phối trong repo. Sau khi các tệp bao bọc được tạo thì gradlew[.bat]
có thể tự động tải xuống phân phối Gradle xác định (nếu không tồn tại cục bộ). Sau đó, anh ấy / cô ấy có thể phải tạo lại các tệp bao bọc bằng cách sử dụng gradle
tệp thực thi mới (trong bản phân phối được tải xuống) bằng các hướng dẫn ở trên.
Lưu ý: Trong các hướng dẫn ở trên, giả sử người dùng có ít nhất một bản phân phối Gradle cục bộ (ví dụ ~/.gradle/wrapper/dists/gradle-4.10-bin/bg6py687nqv2mbe6e1hdtk57h/gradle-4.10
). Nó bao gồm hầu hết các trường hợp thực tế. Nhưng điều gì xảy ra nếu người dùng chưa có bất kỳ phân phối nào?
Anh ấy / Cô ấy có thể tải xuống bằng tay bằng cách sử dụng URL trong .properties
tệp. Nhưng nếu anh ấy / cô ấy không tìm thấy nó trong đường dẫn mà trình bao bọc mong đợi, trình bao bọc sẽ tải xuống lại! Đường dẫn dự kiến là hoàn toàn có thể dự đoán được nhưng nằm ngoài chủ đề (xem ở đây để biết phần phức tạp nhất).
Cũng có một số cách dễ dàng hơn (nhưng bẩn). Ví dụ, anh ấy / cô ấy có thể sao chép các tệp bao bọc (trừ .properties
tệp) từ bất kỳ kho lưu trữ cục bộ / từ xa nào khác vào kho lưu trữ của anh ấy / cô ấy và sau đó chạy gradlew
trên kho lưu trữ của anh ấy / cô ấy. Nó sẽ tự động tải về bản phân phối phù hợp.