ฉันต้องการให้ความคิดที่ชัดเจนแก่คุณ ด้วยเหตุนี้ฉันกำลังแนบbuild.gradeแน็ปช็อตเพื่อความเข้าใจที่ดีขึ้น
การสร้าง buildscript:
buildscript {
repositories {
maven { url("https://plugins.gradle.org/m2/") }
}
dependencies {
classpath 'net.saliman:gradle-cobertura-plugin:2.3.2'
classpath 'com.netflix.nebula:gradle-lint-plugin:latest.release'
}
}
ระดับราก / การอ้างอิงหลัก:
repositories{
mavenLocal()
maven { url("https://plugins.gradle.org/m2/") }
maven { url "https://repo.spring.io/snapshot" }
}
dependencies {
//Groovy
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.10'
//Spock Test
compile group: 'org.spockframework', name: 'spock-core', version: '1.0-groovy-2.3'
//Test
testCompile group: 'junit', name: 'junit', version: '4.10'
testCompile group: 'org.testng', name: 'testng', version: '6.8.5'
}
ดังนั้นก่อนอื่นฉันต้องการชี้แจงในคำเดียวที่
i) ไฟล์ jar พึ่งพา buildscript จะถูกดาวน์โหลดจากที่เก็บ buildscript [อ้างอิงโครงการภายนอก]
ii) ไฟล์ jar อ้างอิงระดับรากจะถูกดาวน์โหลดจากที่เก็บระดับราก [สำหรับการพึ่งพาโครงการ]
ที่นี่
บล็อก“ buildscript” จะควบคุมการขึ้นต่อกันของกระบวนการ buildscript เท่านั้นไม่ใช่สำหรับรหัสแอปพลิเคชัน ในฐานะที่เป็นปลั๊กอิน gradle ต่างๆเช่นgradle-cobertura-plugin
, gradle-lint-plugin
จะพบจาก Repos buildscript ปลั๊กอินเหล่านั้นจะไม่ถูกอ้างอิงเป็นการอ้างอิงสำหรับรหัสแอปพลิเคชัน
แต่สำหรับการคอมไพล์โปรเจ็กต์และทดสอบไฟล์ jar ที่กำลังรันgroovy all jar, junit and testng jar
จะพบได้จากที่เก็บระดับรูท
และสิ่งอื่น ,maven { url("https://plugins.gradle.org/m2/") }
ส่วนหนึ่งสามารถใช้ได้ทั้งสองช่วงตึก เพราะพวกเขาจะใช้สำหรับการอ้างอิงที่แตกต่างกัน
การเชื่อมโยงทรัพยากร: ความแตกต่างระหว่างการพึ่งพาภายในการปิด buildscript และหลัก