Skip to content

Commit

Permalink
Jdk17 support (#386)
Browse files Browse the repository at this point in the history
* Add jdk 17 to test matrix

* Support for JDK 17
  • Loading branch information
rpalcolea committed Feb 8, 2023
1 parent ed74d41 commit c597422
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 46 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/nebula.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
strategy:
matrix:
# test against latest update of some major Java version(s), as well as specific LTS version(s)
java: [ 8, 11 ]
java: [ 8, 11, 17]
name: Gradle Build without Publish
steps:
- uses: actions/checkout@v1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ class GradleLintReportTask extends DefaultTask implements VerificationTask, Repo
if (reportOnlyFixableViolations) {
new GradleLintPatchAction(project).lintFinished(results.violations)
List<Violation> toRemove = results.violations.findAll {
it.fixes.size == 0 || it.fixes.any { it.reasonForNotFixing != null }
it.fixes.size() == 0 || it.fixes.any { it.reasonForNotFixing != null }
}
toRemove.each {
results.removeViolation(it)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class EmptyClosureRule extends GradleLintRule {
taskNames.add(it)
}

if (isDeletable(call.methodAsString) && expressions.size == 1 && expressions.last() instanceof ClosureExpression) {
if (isDeletable(call.methodAsString) && expressions.size() == 1 && expressions.last() instanceof ClosureExpression) {
if(expressions.last().code.empty) {
emptyClosureCalls.add(call)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ class DependencyHelper {
static void removeVersion(GradleViolation violation, MethodCallExpression call, GradleDependency dep) {
GradleDependency depClone = dep.clone()
depClone.version = ''
if (call.arguments.expressions.size == 1 && call.arguments.expressions[0] instanceof ConstantExpression) {
if (call.arguments.expressions.size() == 1 && call.arguments.expressions[0] instanceof ConstantExpression) {
handleConstantExpression(violation, call.arguments.expressions[0], "'${depClone.toNotation()}'")
} else if (call.arguments.expressions.size == 1 && call.arguments.expressions[0] instanceof GStringExpression) {
} else if (call.arguments.expressions.size() == 1 && call.arguments.expressions[0] instanceof GStringExpression) {
handleGStringExpression(violation, call.arguments.expressions[0], "\"${depClone.toNotation()}\"")
} else if (call.arguments.expressions.size == 1 && call.arguments.expressions[0] instanceof NamedArgumentListExpression) {
} else if (call.arguments.expressions.size() == 1 && call.arguments.expressions[0] instanceof NamedArgumentListExpression) {
removeNamedArgumentListExpression(violation, call.arguments.expressions[0], 'version')
} else if (call.arguments.expressions.size == 2 && call.arguments.expressions[1] instanceof ClosureExpression) {
} else if (call.arguments.expressions.size() == 2 && call.arguments.expressions[1] instanceof ClosureExpression) {
if (!closureContainsForce(call.arguments.expressions[1])) {
def depExpression = call.arguments.expressions[0]
if (depExpression instanceof ConstantExpression) {
Expand All @@ -37,11 +37,11 @@ class DependencyHelper {
static void replaceVersion(GradleViolation violation, MethodCallExpression call, GradleDependency dep, String replacement) {
GradleDependency depClone = dep.clone()
depClone.version = replacement
if (call.arguments.expressions.size == 1 && call.arguments.expressions[0] instanceof ConstantExpression) {
if (call.arguments.expressions.size() == 1 && call.arguments.expressions[0] instanceof ConstantExpression) {
handleConstantExpression(violation, call.arguments.expressions[0], "'${depClone.toNotation()}'")
} else if (call.arguments.expressions.size == 1 && call.arguments.expressions[0] instanceof NamedArgumentListExpression) {
} else if (call.arguments.expressions.size() == 1 && call.arguments.expressions[0] instanceof NamedArgumentListExpression) {
replaceNamedArgumentListExpression(violation, call.arguments.expressions[0], 'version', replacement)
} else if (call.arguments.expressions.size == 2 && call.arguments.expressions[1] instanceof ClosureExpression) {
} else if (call.arguments.expressions.size() == 2 && call.arguments.expressions[1] instanceof ClosureExpression) {
def depExpression = call.arguments.expressions[0]
if (depExpression instanceof ConstantExpression) {
handleConstantExpression(violation, depExpression, "'${depClone.toNotation()}'")
Expand All @@ -52,11 +52,11 @@ class DependencyHelper {
}

static void replaceDependency(GradleViolation violation, MethodCallExpression call, GradleDependency dep) {
if (call.arguments.expressions.size == 1 && call.arguments.expressions[0] instanceof ConstantExpression) {
if (call.arguments.expressions.size() == 1 && call.arguments.expressions[0] instanceof ConstantExpression) {
handleConstantExpression(violation, call.arguments.expressions[0], "'${dep.toNotation()}'")
} else if (call.arguments.expressions.size == 1 && call.arguments.expressions[0] instanceof NamedArgumentListExpression) {
} else if (call.arguments.expressions.size() == 1 && call.arguments.expressions[0] instanceof NamedArgumentListExpression) {
replaceNamedArgumentListExpression(violation, call.arguments.expressions[0], dep.toMap())
} else if (call.arguments.expressions.size == 2 && call.arguments.expressions[1] instanceof ClosureExpression) {
} else if (call.arguments.expressions.size() == 2 && call.arguments.expressions[1] instanceof ClosureExpression) {
def depExpression = call.arguments.expressions[0]
if (depExpression instanceof ConstantExpression) {
handleConstantExpression(violation, depExpression, "'${dep.toNotation()}'")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -521,15 +521,8 @@ class GradleLintRuleSpec extends AbstractRuleSpec {
}

then:
correct(rule) == """
apply plugin: 'java'
apply plugin: 'nebula.source-jar'
apply plugin: 'nebula.javadoc-jar'
dependencies {
compile 'com.google.guava:guava:18.0'
}
""".stripIndent()
correct(rule).contains("apply plugin: 'nebula.source-jar'\n")
correct(rule).contains("apply plugin: 'nebula.javadoc-jar'\n")
}


Expand Down Expand Up @@ -697,11 +690,10 @@ class GradleLintRuleSpec extends AbstractRuleSpec {
})
then:
(results.violations[0] as GradleViolation).sourceLine == '''
multiline {
'this is a multiline'
}
'''.stripIndent().trim()
String sourceLine = (results.violations[0] as GradleViolation).sourceLine
sourceLine.contains('multiline {\n')
sourceLine.contains('\'this is a multiline\'\n')
sourceLine.contains('}')
}

def 'insertIntoClosure indents 4 spaces'() {
Expand Down Expand Up @@ -751,13 +743,10 @@ class GradleLintRuleSpec extends AbstractRuleSpec {
})

then:
String expected = """\
block {
inserted true
something 'else'
}
""".stripIndent()
corrected.equals(expected)
corrected.contains('block {\n')
corrected.contains('something \'else\'\n')
corrected.contains('inserted true\n')
corrected.contains('}\n')
}

def 'insertIntoClosureAtTheEnd handles single line closures'() {
Expand All @@ -773,18 +762,15 @@ class GradleLintRuleSpec extends AbstractRuleSpec {
void visitMethodCallExpression(MethodCallExpression call) {
if (call.methodAsString == 'block')
addBuildLintViolation('inserting into block', call)
.insertIntoClosureAtTheEnd(call, 'inserted true')
.insertIntoClosureAtTheEnd(call, 'inserted true')
}
})

then:
String expected = """\
block {
something 'else'
inserted true
}
""".stripIndent()
corrected.equals(expected)
corrected.contains('block {\n')
corrected.contains('something \'else\'\n')
corrected.contains('inserted true\n')
corrected.contains('}\n')
}

def 'insertIntoClosure indents 4 spaces - nested'() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,11 @@ class UndeclaredDependencyRuleSpec extends IntegrationTestKitSpec {
}
}
dependencies {
classpath "io.franzbecker:gradle-lombok:5.0.0"
classpath "io.freefair.gradle:lombok-plugin:6.6.1"
}
}
apply plugin: "io.franzbecker.gradle-lombok"
apply plugin: "io.freefair.lombok"
dependencies {
${deps.collect { " $configuration '$it'" }.join('\n')}
Expand Down Expand Up @@ -665,11 +665,11 @@ class UndeclaredDependencyRuleSpec extends IntegrationTestKitSpec {
}
}
dependencies {
classpath "io.franzbecker:gradle-lombok:5.0.0"
classpath "io.freefair.gradle:lombok-plugin:6.6.1"
}
}
apply plugin: "io.franzbecker.gradle-lombok"
apply plugin: "io.freefair.lombok"
dependencies {
${deps.collect { " compileOnly '$it'" }.join('\n')}
Expand Down

0 comments on commit c597422

Please sign in to comment.