Gradle - การจัดการการพึ่งพา
Gradle build script กำหนดกระบวนการในการสร้างโครงการ แต่ละโครงการมีการอ้างอิงและสิ่งพิมพ์บางส่วน การอ้างอิงหมายถึงสิ่งที่สนับสนุนการสร้างโครงการของคุณเช่นไฟล์ JAR ที่ต้องการจากโปรเจ็กต์อื่นและ JAR ภายนอกเช่น JDBC JAR หรือ Eh-cache JAR ในพา ธ คลาส สิ่งพิมพ์หมายถึงผลลัพธ์ของโครงการเช่นไฟล์คลาสทดสอบและไฟล์บิลด์เช่นไฟล์สงคราม
โครงการทั้งหมดส่วนใหญ่ไม่ได้อยู่ในตัวเอง พวกเขาต้องการไฟล์ที่สร้างโดยโครงการอื่นเพื่อรวบรวมและทดสอบไฟล์ต้นฉบับ ตัวอย่างเช่นในการใช้ Hibernate ในโปรเจ็กต์คุณต้องรวม Hibernate JARs ไว้ใน classpath Gradle ใช้สคริปต์พิเศษเพื่อกำหนดการอ้างอิงซึ่งจำเป็นต้องดาวน์โหลด
Gradle ดูแลการสร้างและเผยแพร่ผลลัพธ์ที่ใดที่หนึ่ง การเผยแพร่จะขึ้นอยู่กับงานที่คุณกำหนด อาจต้องการคัดลอกไฟล์ไปยังไดเร็กทอรีโลคัลหรืออัปโหลดไปยังที่เก็บ Maven หรือ lvy ระยะไกลหรือคุณอาจใช้ไฟล์จากโปรเจ็กต์อื่นในการสร้างหลายโปรเจ็กต์ เราสามารถเรียกกระบวนการเผยแพร่งานคือการเผยแพร่
ประกาศการพึ่งพาของคุณ
การกำหนดค่าการพึ่งพาไม่มีอะไรนอกจากกำหนดชุดการพึ่งพา คุณสามารถใช้คุณสมบัตินี้เพื่อประกาศการอ้างอิงภายนอกซึ่งหมายความว่าคุณต้องการดาวน์โหลดจากเว็บ สิ่งนี้กำหนดจุดยืนที่แตกต่างกันดังต่อไปนี้
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
การกำหนดค่าการพึ่งพา
คอนฟิกูเรชันการอ้างอิงไม่มีอะไรนอกจากกำหนดชุดการอ้างอิง คุณสามารถใช้คุณสมบัตินี้เพื่อประกาศการอ้างอิงภายนอกซึ่งคุณต้องการดาวน์โหลดจากเว็บ สิ่งนี้กำหนดการกำหนดค่ามาตรฐานที่แตกต่างกันดังต่อไปนี้
Compile - การอ้างอิงที่จำเป็นในการรวบรวมแหล่งการผลิตของโครงการ
Runtime- การอ้างอิงที่จำเป็นโดยคลาสการผลิตที่รันไทม์ ตามค่าเริ่มต้นรวมถึงการอ้างอิงเวลาคอมไพล์ด้วย
Test Compile- การอ้างอิงที่จำเป็นในการรวบรวมแหล่งทดสอบของโครงการ โดยค่าเริ่มต้นจะรวมคลาสการผลิตที่คอมไพล์และการอ้างอิงเวลาคอมไพล์
Test Runtime- การอ้างอิงที่จำเป็นในการเรียกใช้การทดสอบ โดยค่าเริ่มต้นจะมีรันไทม์และการอ้างอิงการคอมไพล์ทดสอบ
การพึ่งพาภายนอก
การอ้างอิงภายนอกเป็นหนึ่งในประเภทของการอ้างอิง นี่คือการพึ่งพาไฟล์บางไฟล์ที่สร้างขึ้นภายนอกบิลด์ปัจจุบันและเก็บไว้ในที่เก็บบางประเภทเช่น Maven central หรือ Maven ขององค์กรหรือที่เก็บ lvy หรือไดเร็กทอรี I ระบบไฟล์ภายในเครื่อง
ข้อมูลโค้ดต่อไปนี้ใช้เพื่อกำหนดการอ้างอิงภายนอก ใช้รหัสนี้ในbuild.gradle ไฟล์.
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}
การอ้างอิงภายนอกกำลังประกาศการอ้างอิงภายนอกและแบบฟอร์มทางลัดดูเหมือน "group: name: version"
ที่เก็บ
ในขณะที่เพิ่มการอ้างอิงภายนอก Gradle ค้นหาสิ่งเหล่านี้ในที่เก็บ ที่เก็บเป็นเพียงชุดของไฟล์ที่จัดระเบียบตามกลุ่มชื่อและเวอร์ชัน โดยค่าเริ่มต้น Gradle ไม่ได้กำหนดที่เก็บใด ๆ เราต้องกำหนดที่เก็บข้อมูลอย่างชัดเจนอย่างน้อยหนึ่งแห่ง ข้อมูลโค้ดต่อไปนี้กำหนดวิธีการกำหนดที่เก็บ maven ใช้รหัสนี้ในbuild.gradle ไฟล์.
repositories {
mavenCentral()
}
รหัสต่อไปนี้คือการกำหนดระยะไกล maven ใช้รหัสนี้ในbuild.gradle ไฟล์.
repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
การเผยแพร่ Artifacts
การกำหนดค่าการอ้างอิงยังใช้เพื่อเผยแพร่ไฟล์ ไฟล์ที่เผยแพร่เหล่านี้เรียกว่าอาร์ติแฟกต์ โดยปกติเราใช้ปลั๊กอินเพื่อกำหนดอาร์ติแฟกต์ อย่างไรก็ตามคุณต้องบอก Gradle ว่าจะเผยแพร่อาร์ติแฟกต์ที่ไหน คุณสามารถทำสิ่งนี้ได้โดยการแนบที่เก็บเข้ากับงานไฟล์เก็บถาวรการอัปโหลด ดูไวยากรณ์ต่อไปนี้สำหรับการเผยแพร่ที่เก็บ Maven ในขณะดำเนินการ Gradle จะสร้างและอัปโหลด Pom.xml ตามข้อกำหนดของโครงการ ใช้รหัสนี้ในbuild.gradle ไฟล์.
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://localhost/tmp/myRepo/")
}
}
}