Gradle: Gezippte Dependency verwenden

via, und/bzw.

Darauf zugreifen kann man dann bspw. in anderen Tasks mittels

PS: Mir ist bewusst, dass ${buildDir} deprecated ist, aber ${layout.buildDirectory} ging aus irgendeinem Grund nicht.

Gradle: Task mit bestimmtem JRE ausführen

Edit zur Erklärung: Gradle benötigt Java, und bspw. ein installiertes JDK 17 kann natürlich Language Level 8 kompilieren. Aber es ist trotzdem ein JDK 17 und enthält bspw. kein JAXB mehr. Die Aufgabe ist hier, einen Gradle-Task unabhängig von meiner Java Version mit einem 8er JRE auszuführen. Das verwendete Plugin lädt alles dafür benötigte herunter.

Original Post below:

settings.gradle:

build.gradle:

via, und, Danke Nils!

Git Properties

gradle-git-properties, ne? Da ist war mir nicht ganz klar, wie man das in einem Task vor doLast{} verwendet; ich bekam immer

Cannot get property ‘gitProps’ on extra properties extension as it does not exist

. Dabei steht es eigentlich da 🙂 Also:

hth

CycloneDX Gradle Plugin

Die “Use Cases and Examples” von CycloneDX sind leider nur so mittel hilfreich für Gradle-Projekte, insbesondere solche ohne plugins DSL. Hier wie es trotzdem zu applyen ist:

Gradle: Delete stopped daemons

Maschine frisch gestartet, trotzdem “busy” Daemons?

Starting a Gradle Daemon, 17 busy and 2 incompatible and 2 stopped Daemons could not be reused, use –status for details

Dann alle mittels gradle --stop beenden. Jetzt zeigt gradle --status “STOPPED” Daemons, die auch nie verschwinden?

PID STATUS INFO
5295 STOPPED (stop command received)
19041 STOPPED (by user or operating system)
30937 STOPPED (by user or operating system)

Dann kann man folgende Dateien löschen (es sollte gerade kein Daemon laufen, klar):

  • ~/.gradle/daemon/<Versionsnummer>/registry.bin
  • ~/.gradle/daemon/<Versionsnummer>/registry.bin.lock
  • ~/.gradle/daemon/<Versionsnummer>/*.out.log

IntelliJ: Gradle task mit jedem Reimport ausführen

IntelliJ bietet per Rechtsklick die Möglichkeit, Trigger für Tasks anzuhaken (Screenshot aus der Doku geklaut):

Via build.gradle kann man das über das Plugin “gradle-idea-ext-plugin” automatisieren – im Rootprojekt:

Und im Unterprojekt dann:

Achtung, in DSL spec v. 0.2 heißt es

  • beforeSync – before each Gradle project sync. Will NOT be executed on initial import

ka, aber spätestens danach funktioniert es.

Gradle: Replace in Copy task

Eine Ersetzung:

Mehrere Ersetzungen:

via

Gradle: Include/exclude tests

Exclude set of tests (via) and/or categories:

Pass collection from shell (via, and):

Run single test only (via):

Exclude all tests from build task:

to be completed

Gradle: ordered dependsOn

Statt

besser:

Postgres direkt aus Gradle

im Wesentlichen von hier.