"โครงการ" คืออะไร?
อาจมีข้อกำหนดทางเทคนิคของสำนวนนี้ที่ไม่รวมสคริปต์สร้าง แต่ถ้าเรายอมรับคำจำกัดความนี้เราต้องบอกว่า "โครงการ" ของคุณไม่ใช่ทุกสิ่งที่คุณต้องการในเวอร์ชัน!
แต่ถ้าเราพูดว่า "โครงการของคุณ" คือทุกอย่างที่คุณได้ทำ จากนั้นเราสามารถพูดได้ว่าคุณจะต้องรวมมันและมันเท่านั้นใน VCS
นี่เป็นทฤษฎีและอาจไม่สามารถใช้ได้ในกรณีที่การพัฒนาของเราทำงาน ดังนั้นเราจึงเปลี่ยนเป็น " โครงการของคุณคือทุกไฟล์ (หรือโฟลเดอร์) คุณต้องแก้ไขโดยตรง "
"โดยตรง" หมายถึง "ไม่ทางอ้อม" และ "ทางอ้อม" หมายถึงการแก้ไขไฟล์อื่นแล้วผลกระทบจะปรากฏในไฟล์นี้
ดังนั้นเราจึงไปถึงที่ OP กล่าว (และได้กล่าวไว้ที่นี่ ):
ฉันคิดว่าไฟล์ที่สร้างขึ้นไม่ควรอยู่ใน VCS
ใช่. เพราะคุณไม่ได้สร้างพวกเขา ดังนั้นจึงไม่ได้เป็นส่วนหนึ่งของ "โครงการของคุณ" ตามคำจำกัดความที่สอง
ผลลัพธ์เกี่ยวกับไฟล์เหล่านี้คืออะไร:
build.gradle : ใช่ เราจำเป็นต้องแก้ไข งานของเราควรเป็นเวอร์ชั่น
หมายเหตุ: ไม่มีความแตกต่างเมื่อคุณแก้ไข ไม่ว่าจะเป็นในสภาพแวดล้อมแก้ไขข้อความของคุณหรือในสภาพแวดล้อม GUI โครงสร้างโครงการ อย่างไรก็ตามคุณทำมันโดยตรง !
gradle-wrapper.properties : ใช่ อย่างน้อยเราต้องระบุเวอร์ชันของ Gradle ในไฟล์นี้
gradle-wrapper.jarและ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]
ในการกระจายท้องถิ่น ไม่จำเป็นว่าการกระจายในท้องที่จะเหมือนกันกับที่กำหนดไว้ใน repo หลังจากสร้างไฟล์ wrapperแล้วgradlew[.bat]
สามารถดาวน์โหลด Gradle distribution ที่กำหนดโดยอัตโนมัติ (หากไม่มีอยู่ในเครื่อง) จากนั้นเขา / เธออาจต้องสร้างไฟล์แรปเปอร์ใหม่โดยใช้ไฟล์gradle
ปฏิบัติการใหม่(ในการแจกแจงแบบดาวน์โหลด) โดยใช้คำแนะนำด้านบน
หมายเหตุ: ในคำแนะนำข้างต้นผู้ใช้ควรมีการกระจาย Gradle อย่างน้อยหนึ่งรายการในเครื่อง (เช่น~/.gradle/wrapper/dists/gradle-4.10-bin/bg6py687nqv2mbe6e1hdtk57h/gradle-4.10
) ครอบคลุมเกือบทุกกรณีจริง แต่จะเกิดอะไรขึ้นหากผู้ใช้ยังไม่ได้ทำการแจกจ่ายใด ๆ ?
เขา / เธอสามารถดาวน์โหลดด้วยตนเองโดยใช้ URL ใน.properties
ไฟล์ แต่ถ้าเขา / เธอไม่พบมันในเส้นทางที่เสื้อคลุมคาดว่าเสื้อคลุมจะดาวน์โหลดอีกครั้ง! เส้นทางที่คาดหวังนั้นสามารถคาดเดาได้อย่างสมบูรณ์ แต่อยู่นอกตัวแบบ (ดูที่นี่สำหรับส่วนที่ซับซ้อนที่สุด)
นอกจากนี้ยังมีวิธีที่ง่ายขึ้น (แต่สกปรก) ตัวอย่างเช่นเขา / เธอสามารถคัดลอกไฟล์แรปเปอร์ (ยกเว้น.properties
ไฟล์) จากที่เก็บโลคัล / รีโมตอื่นไปยังที่เก็บของตน / เธอแล้วรันgradlew
บนที่เก็บของเขา / เธอ มันจะดาวน์โหลดการกระจายที่เหมาะสมโดยอัตโนมัติ