Skip to content
This repository has been archived by the owner on Feb 11, 2022. It is now read-only.

Small fix - check task not found on empty project #187

Merged
merged 1 commit into from
May 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.novoda.staticanalysis

import com.novoda.staticanalysis.internal.CodeQualityConfigurator
import com.novoda.staticanalysis.internal.Configurator
import com.novoda.staticanalysis.internal.checkstyle.CheckstyleConfigurator
import com.novoda.staticanalysis.internal.detekt.DetektConfigurator
import com.novoda.staticanalysis.internal.findbugs.FindbugsConfigurator
Expand All @@ -20,7 +20,7 @@ class StaticAnalysisPlugin implements Plugin<Project> {
def evaluateViolations = createEvaluateViolationsTask(project, pluginExtension)
createConfigurators(project, pluginExtension, evaluateViolations).each { configurator -> configurator.execute() }
project.afterEvaluate {
project.tasks['check'].dependsOn evaluateViolations
project.tasks.findByName('check')?.dependsOn evaluateViolations
}
}

Expand All @@ -32,9 +32,9 @@ class StaticAnalysisPlugin implements Plugin<Project> {
}
}

private static List<CodeQualityConfigurator> createConfigurators(Project project,
StaticAnalysisExtension pluginExtension,
Task evaluateViolations) {
private static List<Configurator> createConfigurators(Project project,
StaticAnalysisExtension pluginExtension,
Task evaluateViolations) {
NamedDomainObjectContainer<Violations> violationsContainer = pluginExtension.allViolations
[
CheckstyleConfigurator.create(project, violationsContainer, evaluateViolations),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.novoda.staticanalysis

import com.novoda.test.TestProject
import com.novoda.test.TestProjectRule
import org.junit.Rule
import org.junit.Test

class StaticAnalysisPluginTest {

@Rule
public final TestProjectRule rule = new TestProjectRule({ new EmptyProject() }, { "" }, 'Empty project')

@Test
void shouldNotFailWhenNoJavaOrAndroidPluginsAreApplied() {
rule.newProject()
.build("help")
}

private static class EmptyProject extends TestProject<EmptyProject> {
private static final Closure<String> TEMPLATE = { TestProject project ->
"""
buildscript {
dependencies {
classpath 'com.novoda:gradle-static-analysis-plugin:local'
}
}
apply plugin: 'com.novoda.static-analysis'
"""
}

EmptyProject() {
super(TEMPLATE)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ final class TestProjectRule<T extends TestProject> implements TestRule {
new TestProjectRule({ new TestKotlinProject() }, { String name -> "project.sourceSets.$name" }, 'Kotlin project')
}

private TestProjectRule(Closure projectFactory, Closure sourceSetNameFactory, String label) {
TestProjectRule(Closure projectFactory, Closure sourceSetNameFactory, String label) {
this.projectFactory = projectFactory
this.sourceSetNameFactory = sourceSetNameFactory
this.label = label
Expand Down