ดาวน์โหลดการอ้างอิงทั้งหมดแทนที่จะเป็นเวอร์ชันล่าสุดเฉพาะใน gradle [ซ้ำกัน]

ฉันกำลังพยายามดึงข้อมูลเวอร์ชันของการขึ้นต่อกันเดียวทั้งหมดจากอาร์ติแฟคทอรีผ่านสคริปต์ gradle ของฉัน ปัญหาคือการไล่ระดับดึงข้อมูลการขึ้นต่อกันเวอร์ชันล่าสุดเท่านั้นและนั่นทำให้เกิดปัญหากับ applcation ของฉัน ในขณะที่ฉันสามารถทำได้เหมือนกันใน maven เหตุใด gradle จึงไม่ดึงข้อมูลเวอร์ชันทั้งหมดของการพึ่งพานั้น ด้านล่างนี้คือตัวอย่าง

dependencies {
    runtime "carediscovery.services:GenericServices:1.0@jar"
    runtime "carediscovery.services:GenericServices:1.1@jar"
    runtime "carediscovery.services:GenericServices:1.2@jar"
    runtime "carediscovery.services:GenericServices:1.3@jar"
    runtime "carediscovery.services:GenericServices:1.5@jar"
    runtime "carediscovery.services:GenericServices:1.6@jar"
    runtime "carediscovery.services:LoadPathways:1.0@jar"
    runtime "carediscovery.services:LoadPathways:1.1@jar"
}

สคริปต์ Gradle กำลังดึงข้อมูลเวอร์ชัน 1.6 เท่านั้นสำหรับ GenericServices

มีใครบอกฉันได้ไหมว่าสามารถดึงข้อมูลการอ้างอิงทั้งหมดจาก 1.0...1.6 ในระดับ gradle ได้หรือไม่

ฉันลองใช้โค้ดด้านล่างแล้ว แต่นี่ทำให้ฉันมีข้อผิดพลาด ใครสามารถบอกได้ว่าทำไมมันถึงให้สิ่งนี้กับฉัน

apply plugin: 'java'


  repositories {
    maven {
      url "http://cm.t.thn.com:8/artifactory/services-release-local"
    }
  }


    def deps = [GenericServices: (0..6), LoadPathways: (0..1)]

    deps.each { dep, version ->
        configurations.create("$dep$version")
        dependencies.add("$dep$version", "carediscovery.services:$dep:1.$version@jar")
    }

    task copy(type: Copy) {
        from(deps.collect { dep -> dep.value.collect { configurations."$dep.key$it" } }.flatten())
        into 'services/carediscovery/services'
    }

ด้านล่างนี้คือผลลัพธ์ข้อผิดพลาด

**C:\NEW_HG_WORKSPACE\APPLICATION-DATA>gradle clean build

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\NEW_HG_WORKSPACE\APPLICATION-DATA\build.gradle' line: 20

* What went wrong:
A problem occurred evaluating root project 'application-data'.
> Could not find property 'GenericServices0' on configuration container.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.

BUILD FAILED**

ฉันแก้ไขปัญหาข้างต้นแล้ว และตอนนี้ก็ทำงานได้ดีแล้ว

apply plugin: 'java'


      repositories {
    maven {
      url "http://c.t.t.com:8/artifactory/services-release-local"
    }
  }


    def deps = [GenericServices: (0..6), LoadPathways: (0..1)]

    deps.each { dep, versions -> 
    versions.each { version -> 
        configurations.create("$dep$version")
        dependencies.add("$dep$version", "carediscovery.services:$dep:1.$version@jar")
    }
} 

    task copy(type: Copy) {
        from(deps.collect { dep -> dep.value.collect { configurations."$dep.key$it" } }.flatten())
        into 'services/carediscovery/services'
    }

person unknown    schedule 09.07.2015    source แหล่งที่มา
comment
Gradle แก้ไขการพึ่งพาล่าสุดที่กำหนดไว้ ดังนั้นจะไม่มีการซ้ำกันบน classpath (Maven ก็ทำเช่นนี้เช่นกัน) ใน Gradle สิ่งนี้ถูกกำหนดขอบเขตไว้ที่การกำหนดค่า ดังนั้นคุณต้องมีหนึ่งรายการต่อเวอร์ชัน   -  person Ben Manes    schedule 10.07.2015
comment
ทำไมคุณถึงต้องการได้รับการพึ่งพาทุกเวอร์ชัน? คุณต้องการให้แอปพลิเคชันของคุณใช้เวอร์ชันเดียวเท่านั้นใช่หรือไม่   -  person Alex    schedule 10.07.2015
comment
ใน Maven สำหรับการคัดลอกอาร์ติแฟกต์เฉพาะ คุณต้องผูก dependency:copy mojo เข้ากับวงจรการใช้งาน กำหนดค่าปลั๊กอิน และระบุอาร์ติแฟกต์ที่คุณต้องการคัดลอก   -  person unknown    schedule 10.07.2015
comment
@Alex ในกรณีของฉัน ฉันต้องการทำเช่นเดียวกัน ฉันต้องการทุกเวอร์ชันของสิ่งประดิษฐ์ที่กำหนด (เช่น ทุกเวอร์ชันระหว่าง: my.company.com:myartifact:1.0.1 และ my.company.com:myartifact:2.5.0) ภายในไฟล์ zip แบบกำหนดเอง   -  person AKS    schedule 16.07.2015