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/")
      }
   }
}