Gradle: Dependencies und Plugins vom root Projekt für die child-Projekte verfügbar machen

von Spotz

Aktives Mitglied
Hallo,

ich brauche Hilfe dabei, wie ich die Plugins für Gradle und die Projekt-dependencies auch in den child-Projekten verfügbar mache.
Es geht vor allem erstmal um das Plugin hier: https://docs.spring.io/dependency-management-plugin/docs/current/reference/html/

Soweit ich weiß, muß dieses dafür in einen buildscript {} block und darin in einen dependencies {} block. Bzw. so ähnlich wie folgt vielleicht?
Code:
buildscript {
   
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath group: 'io.spring.gradle', name: 'dependency-management-plugin', version: '0.5.3.RELEASE'
    }
}

allprojects {
   
    repositories {
        mavenCentral()
    }

    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        implementation 'org.springframework.cloud:spring-cloud-config-server'
        implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server'
        developmentOnly 'org.springframework.boot:spring-boot-devtools'
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
    }

}

Aber was mache ich dann mit dem Rest?

Code:
plugins {
    // id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'org.springframework.boot' version '2.6.3'
    id 'java'
}

group = 'com.microservicetest'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

ext {
    set('springCloudVersion', "Hoxton.SR4")
}

dependencies {

}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

tasks.named('test') {
    useJUnitPlatform()
}

Viele Grüße,
von Spotz
 

8u3631984

Bekanntes Mitglied
Hallo.

ich verwende die beide Blöcke : allprojects und subprojects.

Hier mal mein Beispiel :

Java:
allprojects {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11

    repositories {
        mavenCentral()
    }

    jacoco {
        toolVersion = '0.8.7'
    }
}

subprojects {
    apply plugin: 'java'
    apply plugin: 'jacoco'
    apply plugin: 'application'
    apply plugin: 'org.springframework.boot'

    version = '1.1-SNAPSHOT'

    dependencies {
        compileOnly 'org.projectlombok:lombok:+'
        annotationProcessor 'org.projectlombok:lombok:+'
        implementation 'org.apache.logging.log4j:log4j-core:+',
                'com.google.guava:guava:+',
                'org.springframework.boot:spring-boot-starter-data-jpa:+'

        testCompileOnly 'org.projectlombok:lombok:+'
        testAnnotationProcessor 'org.projectlombok:lombok:+'
        testImplementation 'org.apache.logging.log4j:log4j-core:+',
                'org.junit.jupiter:junit-jupiter-engine:+',
                'org.junit.jupiter:junit-jupiter-params:+',
                'org.assertj:assertj-core:+'
    }
}

Hoffe es hilft dir weiter
 

von Spotz

Aktives Mitglied
Hallo bueges,

vielen Dank! Leider hilft es mir jetzt nicht so sehr weiter. Aber scheinbar braucht Gradle das Plugin für sich selber. Dafür soll das Property "buildscript" sein. Was dieses dann auch allen Unterprojekten sowie dem root Projekt selber bereitstellt. Und über
Code:
ext {
    set('springCloudVersion', "Hoxton.SR4")
}

dependencies {

}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

wird dann scheinbar über mithilfe des Plugin der Maven Bom importiert.

btw: Ist "apply plugin" nicht deprecated?

Ich würde mir ja gerne ein Buch über Gradle kaufen, momentan fehlt mir aber das Geld.

Mit besten Grüßen
von Spotz
 

von Spotz

Aktives Mitglied
Hallo Jw456

Vielen Dank für Deine Antwort. Aber es soll ja sowohl für das root Projekt verfügbar sein als auch für die Unterprojekte. Und dann ist die Frage u.a. wie oben gesagt, was ich dann mit den restlichen Properties mache. Ob das so richtig ist mit den buildingblock und allprojects.

Danke!
von Spotz
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Gradle nicht benötigte Dependencies finden Tools - Maven, Gradle, Ant & mehr 3
P Gradle Dependencies in Module vererben Tools - Maven, Gradle, Ant & mehr 2
N No Main Manifest Attribute trotz Eintrag bei Gradle Tools - Maven, Gradle, Ant & mehr 1
8u3631984 Gradle und NPM wie strukturieren Tools - Maven, Gradle, Ant & mehr 3
S Gradle kann Lottie Implementation nicht finden Tools - Maven, Gradle, Ant & mehr 5
Gradle build funktioniert nicht Tools - Maven, Gradle, Ant & mehr 10
Moman2022 Hauptklasse kann nicht gefunden werden gradle build Tools - Maven, Gradle, Ant & mehr 3
B Gradle Terminal/Console Encoder Tools - Maven, Gradle, Ant & mehr 9
S "Wer" löscht JARs aus meinem Gradle-cache? Tools - Maven, Gradle, Ant & mehr 3
von Spotz Gradle: Warum wird das Plugin nicht geladen? Tools - Maven, Gradle, Ant & mehr 4
8u3631984 Verschachteltes Gradle Projekt Tools - Maven, Gradle, Ant & mehr 0
J Gradle signing Plugin Tools - Maven, Gradle, Ant & mehr 0
Y Gradle finished with non-zero exit value 1 mit Gradle Tools - Maven, Gradle, Ant & mehr 1
L Gradle Ein lokales Eclipse Projekt in Gradle dependency einbinden Tools - Maven, Gradle, Ant & mehr 2
8u3631984 Gradle : Baue anderes Modul und packe es in einen Docker Container Tools - Maven, Gradle, Ant & mehr 0
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
J [Gradle] Task Reihenfolge pusblishMaven vor codenarcTest Tools - Maven, Gradle, Ant & mehr 0
J netbeans - jasperreports - gradle - klappt nicht Tools - Maven, Gradle, Ant & mehr 0
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
L Gradle src-gen zum Classpath hinzufügen Tools - Maven, Gradle, Ant & mehr 0
N Gradle Tools - Maven, Gradle, Ant & mehr 4
W Gradle in Netbeans ... wie? Tools - Maven, Gradle, Ant & mehr 28
N Gradle für Tests 2 Frameworks Tools - Maven, Gradle, Ant & mehr 2
E Gradle Build Tools - Maven, Gradle, Ant & mehr 1
C Gradle create project within application Tools - Maven, Gradle, Ant & mehr 0
Tom299 (Gradle) Wie die JAR eines 2. Projektes "includieren" Tools - Maven, Gradle, Ant & mehr 1
Psypsy Multi-Projekt mit Gradle Tools - Maven, Gradle, Ant & mehr 1
Kr0e Best practices / Gradle und co Tools - Maven, Gradle, Ant & mehr 7
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
H Maven Dependencies in runnable Jar einbinden Tools - Maven, Gradle, Ant & mehr 16
X Maven Dependencies beim install mit in die Jar einbinden Tools - Maven, Gradle, Ant & mehr 6
F Maven Umgang mit transitiven Dependencies Tools - Maven, Gradle, Ant & mehr 0
D WFLYCTL0180: Services with missing/unavailable dependencies Tools - Maven, Gradle, Ant & mehr 2
BuckRogers Maven Warum werden alte dependencies deployt?! Tools - Maven, Gradle, Ant & mehr 7
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
eskimo328 Maven Firmen Repository Dependencies nicht über Internet Tools - Maven, Gradle, Ant & mehr 7
N Maven maven dependencies Tools - Maven, Gradle, Ant & mehr 3
A Maven dependencies anderer Projekte automatisch mit deployen Tools - Maven, Gradle, Ant & mehr 6
B Maven JavaDoc + Dependencies Tools - Maven, Gradle, Ant & mehr 3
W Maven / Zugriff auf Test Klassen von Dependencies Tools - Maven, Gradle, Ant & mehr 2
J Maven Assembly-Plugin und Dependencies Tools - Maven, Gradle, Ant & mehr 4
H Maven2 -> Nachladen der Dependencies Tools - Maven, Gradle, Ant & mehr 4
U Maven2 WAR Plugin doppelte Dependencies Tools - Maven, Gradle, Ant & mehr 4
H Maven build.plugins.plugin.version fehlt Tools - Maven, Gradle, Ant & mehr 0
G Maven Maven, Eclipse Plugins und Classpath Tools - Maven, Gradle, Ant & mehr 15

Ähnliche Java Themen

Neue Themen


Oben