
Apache RAT (Strumento di Audit delle Release) Plugin Gradle
Questo plugin consente di eseguire lo strumento di audit delle release Apache RAT, focalizzato sulle licenze.
Nel tuo file build.gradle(.kts):
plugins {
id("org.nosphere.apache.rat") version "0.8.1"
}
Il plugin registra un task chiamato rat che puoi configurare nel tuo file build.gradle(.kts):
tasks.rat {
// Usa i matcher predefiniti delle intestazioni di licenza RAT, default: `true`
addDefaultMatchers.set(false)
// Aggiungi matcher personalizzati per sottostringhe di intestazioni di licenza
substringMatcher("family", "category", "pattern-1", "pattern-2")
// Dichiara famiglie di licenze approvate; se usato, le famiglie non dichiarate non saranno approvate
approvedLicense("MIT")
// Directory di input, default: '.'
inputDir.set("some/path")
// Elenco di direttive di esclusione di Gradle, default: ['**/.gradle/**']
excludes.add("**/build/**")
// RatTask 0.5.0+ implementa PatternFilterable
exclude { it.file in configurations.someConf.files }
// File di esclusione di Rat, una direttiva per riga
excludeFile.set(layout.projectDirectory.file(".rat-excludes.txt"))
// Directory dei report XML, TXT e HTML, default: 'build/reports/rat'
reportDir.set(file("some/other/path"))
// Foglio di stile XSL personalizzato per il report HTML
stylesheet.set(file("custom/rat-html-stylesheet.xsl"))
// Fallimento del build in caso di errori di Rat, default: true
failOnError.set(false)
}
rat {
// Directory di input, default: '.'
inputDir.set(file("some/path"))
// Elenco di direttive di esclusione di Gradle, default: ['**/.gradle/**']
excludes.add("**/build/**")
// File di esclusione di Rat, una direttiva per riga
excludeFile.set(layout.projectDirectory.file(".rat-excludes.txt"))
// Directory dei report XML, TXT e HTML, default: 'build/reports/rat'
reportDir.set(file("some/other/path"))
// Foglio di stile XSL personalizzato per il report HTML
stylesheet.set(file("custom/rat-html-stylesheet.xsl"))
// Fallimento del build in caso di errori di Rat, default: true
failOnError.set(false)
// Stampa l'elenco dei file con licenze non approvate nella console, default: false
verbose.set(true)
}
Puoi eseguire il task rat invocando Gradle:
gradle rat
Se il progetto ha un task check, il task rat viene automaticamente registrato come dipendente da quest'ultimo.
Quando un audit di Rat fallisce, viene stampato un URL cliccabile del report HTML:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':rat'.
> Apache Rat audit failure - 35 unapproved licenses
See file:///path/to/build/reports/rat/index.html

| Plugin | Java min | Gradle min | Gradle max | Cache di configurazione | Cache di build |
|---|
0.8.1 | 1.8 | 6.0 | 8.x | 🟢 | 🟢 |
0.8.0 | 1.8 | 6.0 | 8.x | 🟡 | 🟢 |
0.7.1 | 1.8 | 6.0 | 7.x | 🟡 | 🟢 |
0.7.0 | 1.8 | 6.0 | 7.x | 🟡 | 🟢 |
0.6.0 | 1.6 | 4.7 | 6.x | 🟡 | 🟢 |
0.5.3 | 1.6 | 4.7 | 6.x | 🔴 | 🟢 |
0.5.2 | 1.6 | 4.7 | 6.x | 🔴 | 🟢 |
0.5.1 | 1.6 | 4.7 | 5.x | 🔴 | 🟢 |
0.5.0 | 1.6 | 4.7 | 5.x | 🔴 | 🟢 |
0.4.0 | 1.6 | 4.7 | 5.x | 🔴 | 🟢 |
0.3.1 | 1.6 | 2.14 | 4.x | 🔴 | 🟢 |
0.3.0 | 1.6 | 2.14 | 4.x | 🔴 | 🟢 |
0.2.0 | 1.6 | 2.14 | 4.x | 🔴 | 🟢 |
0.1.0 | 1.6 | 2.14 | 4.x | 🔴 | 🟢 |