Skip to content

Commit

Permalink
#318 Align CLI with Groovy2Java migration
Browse files Browse the repository at this point in the history
  • Loading branch information
ascheman committed Aug 21, 2024
1 parent dbed9d6 commit fdad2ef
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 16 deletions.
7 changes: 4 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,6 @@ jreleaser {

configure(subprojects) {
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'maven-publish'

apply plugin: 'jacoco'
Expand All @@ -141,7 +140,8 @@ configure(subprojects) {
description "${rootProject.description} - Module ${project.name}"

dependencies {
implementation platform (libs.slf4j.bom)
implementation platform(libs.groovy.bom)
implementation platform(libs.slf4j.bom)

testImplementation platform(libs.spock)
testImplementation "org.spockframework:spock-core"
Expand Down Expand Up @@ -274,6 +274,7 @@ tasks.register("integrationTestOnly") {
final String INTEGRATION_TEST_DIRECTORY = "integration-test"
final String INTEGRATION_TEST_DIRECTORY_GRADLE_PLUGIN = "${INTEGRATION_TEST_DIRECTORY}/gradle-plugin"
final String INTEGRATION_TEST_DIRECTORY_CLI = "${INTEGRATION_TEST_DIRECTORY}/cli"

static void cleanBuild(String baseDirectory) {
File integrationTestBuildDir = new File("${baseDirectory}/${Project.DEFAULT_BUILD_DIR_NAME}")
if (integrationTestBuildDir.exists()) {
Expand Down Expand Up @@ -337,7 +338,7 @@ integrationTestCli.dependsOn(
':htmlSanityCheck-cli:installDist'
)
integrationTestCli.configure {
shouldRunAfter (':htmlSanityCheck-cli:check')
shouldRunAfter(':htmlSanityCheck-cli:check')
}
tasks.register("cleanIntegrationTestCli", Delete) {
group("Build")
Expand Down
3 changes: 3 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ slf4j-version = '2.0.16'

[libraries]
commons-validator = 'commons-validator:commons-validator:1.9.0'
# Use latest 3.x Groovy Version to use Spock for Groovy 3 as long as Gradle uses Groovy 3
groovy-bom = 'org.codehaus.groovy:groovy-bom:3.0.22'
jsoup = 'org.jsoup:jsoup:1.18.1'
junit-vintage = { module = 'org.junit.vintage:junit-vintage-engine', version.ref = 'junit5-version' }
lombok = 'org.projectlombok:lombok:1.18.34'
mockito = "org.mockito:mockito-junit-jupiter:3.12.4"
picocli-impl = { module = 'info.picocli:picocli', version.ref = "picocli-version" }
picocli-annotationprocessor = { module = 'info.picocli:picocli-codegen', version.ref = "picocli-version" }
slf4j-bom = { module = "org.slf4j:slf4j-bom", version.ref = "slf4j-version" }
Expand Down
2 changes: 2 additions & 0 deletions htmlSanityCheck-cli/build.gradle
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
plugins {
id 'application'
id 'groovy'
}

dependencies {
implementation libs.picocli.impl
annotationProcessor libs.picocli.annotationprocessor

implementation 'org.codehaus.groovy:groovy'
implementation 'org.slf4j:slf4j-api'
implementation 'org.slf4j:slf4j-simple'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package org.aim42.htmlsanitycheck.cli

import org.aim42.htmlsanitycheck.AllChecksRunner
import org.aim42.htmlsanitycheck.Configuration
import org.aim42.htmlsanitycheck.check.AllCheckers
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import picocli.CommandLine
Expand Down Expand Up @@ -87,12 +88,13 @@ class Main implements Runnable {
System.exit(1)
}

var configuration = new Configuration()
configuration.addConfigurationItem(Configuration.ITEM_NAME_sourceDir, main.srcDir)
configuration.addConfigurationItem(Configuration.ITEM_NAME_sourceDocuments, srcDocuments)

var resultsDirectory = new File(main.resultsDirectoryName)
configuration.addConfigurationItem((Configuration.ITEM_NAME_checkingResultsDir), resultsDirectory)
var configuration = Configuration.builder()
.sourceDir(main.srcDir)
.sourceDocuments(srcDocuments as Set)
.checkingResultsDir(resultsDirectory)
.checksToExecute(AllCheckers.CHECKER_CLASSES)
.build()

if (configuration.isValid()) {
// create output directory for checking results
Expand Down
2 changes: 0 additions & 2 deletions htmlSanityCheck-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ dependencies {
// Having a vulnerability here ...
exclude group: 'commons-collections', module: 'commons-collections'
}
implementation libs.slf4j.api
testImplementation libs.slf4j.nop
implementation 'org.slf4j:slf4j-api'
testImplementation 'org.slf4j:slf4j-nop'
// jsoup is our awesome html parser, see jsoup.org
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,16 @@ public class Configuration {
File sourceDir;
File checkingResultsDir;
File junitResultsDir;
Boolean consoleReport;
Boolean failOnErrors;
Integer httpConnectionTimeout;
Boolean ignoreLocalhost;
Boolean ignoreIPAddresses;
@Builder.Default
Boolean consoleReport = false;
@Builder.Default
Boolean failOnErrors = false;
@Builder.Default
Integer httpConnectionTimeout = 5000;
@Builder.Default
Boolean ignoreLocalhost = false;
@Builder.Default
Boolean ignoreIPAddresses = false;
/*
* Explanation for configuring http status codes:
* The standard http status codes are defined in class @link NetUtil and can
Expand Down
2 changes: 2 additions & 0 deletions htmlSanityCheck-gradle-plugin/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id 'groovy'

id 'java-gradle-plugin'
id 'jacoco-report-aggregation'

Expand Down
2 changes: 1 addition & 1 deletion integration-test/gradle-plugin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ buildReadmeGradlePlugin.dependsOn(buildReadmeRoot)
//buildReadmeGradlePlugin.dependsOn(copyReadmeResources)

htmlSanityCheck {
sourceDir file("build/docs")
sourceDir = file("../common/src/test/resources")

checkingResultsDir = file("build/reports")
failOnErrors = true
Expand Down

0 comments on commit fdad2ef

Please sign in to comment.