Giter VIP home page Giter VIP logo

gradle-scalastyle-plugin's Introduction

Scala Style Gradle Plugin

Build Status

Instructions

maven repo: http://jcenter.bintray.com/
groupId: org.github.ngbinh.scalastyle
artifactId:  gradle-scalastyle-plugin_2.11
version: 1.0.1

Use artifactId: gradle-scalastyle-plugin_2.10 if you want to use with Scala 2.10

  apply plugin: 'scalaStyle'

Add following dependencies to your buildScript

  classpath "org.github.ngbinh.scalastyle:gradle-scalastyle-plugin_2.11:1.0.1"

Configure the plugin

  scalaStyle {
    configLocation = "/path/to/scalaStyle.xml"
    includeTestSourceDirectory = true
    source = "src/main/scala"
    testSource = "src/test/scala"
  }

Other optional properties are

  outputFile  //Default => $buildDir/scala_style_result.xml
  outputEncoding //Default => UTF-8
  failOnViolation //Default => true
  failOnWarning //Default => false
  skip  //Default => false
  verbose //Default => false
  quiet //Default => false
  includeTestSourceDirectory //Default => false
  testConfigLocation //Separate configuration file to be used for test sources
  inputEncoding //Default => UTF-8

Full Buildscript Example

  apply plugin: 'scalaStyle'

  buildscript {
    repositories {
      jcenter() // only work after gradle 1.7
    }

    dependencies {
      classpath 'org.github.ngbinh.scalastyle:gradle-scalastyle-plugin_2.11:1.0.1'
    }
  }

  scalaStyle {
    configLocation = "mega-project/sub-project/scalastyle_config.xml"
    includeTestSourceDirectory = true
    source = "src/main/scala"
    testSource = "src/test/scala"
  }

gradle-scalastyle-plugin's People

Contributors

alenkacz avatar ddrozdov avatar galargh avatar gregadevinta avatar joschi avatar mansurashraf avatar matf avatar ngbinh avatar pdolega-test avatar psfblair avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

gradle-scalastyle-plugin's Issues

ScalaStyle Now 1.0

Is there a plan to upgrade the plugin to use the latest Scalastyle? Or better yet, is there a way to configure the version the plugin will use?

Thanks.

Discover sourceSets automatically that have scala sources and create dynamic tasks for them

Hello,

It's a great plugin, but I really miss some of the functionality.
For example I have not only main/scala and test/scala but also integrationTest/scala and gatling/scala and I can't just run scalastyle on all of them.

Maybe we could improve the plugin so that it will create scalastyleMain, scalastyleTest, scalastyleIntegrationTest, scalastyleGatling automatically and the parent task scalastyle to run them all?

We could make an extension scalastyle using named domain object container e.g.

scalaStyle {
  // global config (use in case there is no override for specific source set)
  config = file("$rootDir/scalastyle.xml")
  // globally configure to fail on warnings
  failOnWarnings = true  
  
  // not sure it's the right name, or 
  // maybe even we don't need this nesting and should just handle a missing method call
  sourceSets {
    // gatling is supposed to be a DSL, 
    // so I don't really want production code checks to be run on it, 
    // but rather some basic checks and DSL specific
    gatling {
      config = file("$rootDir/scalastyle-test.xml")
    }
  
    test {
      // do not fail on warnings when checking test source set
      failOnWarnings = false  
    }

    garbage {
      // do not even create a task for this source set
      skip = true
    }
  }
}

Usage:

// runs main source set checks
gradlew scalaStyleMain
// error, no task for garbage source set
gradlew scalaStyleGarbage
// runs all (scalaStyleMain, scalaStyleTest)
gradlew scalaStyle 

If somebody else is interested, I can work on that.
I have something similar like I proposed implemented as a plugin in buildSrc, however I made it as a JavaExec task (just running a scalastyle jar with needed arguments)

Log spam

If I run scalastyle with quiet true specific errors do not get reported. If I run scalastyle with quiet false specific errors do get reported but the log is spammed with Found 0 warnings and Found 0 errors.

I think a third option would be nice or maybe just not log the Found 0 ... lines.

0.8.1 does not generate violations

I upgraded from 0.7.2 to 0.8.1 and can't make a violation error occur.

I simplified my project down to a configuration with only 1 check, and a file that should fail, and still no failure.

Allow loading XML cfg file ftom classpath

The maven scalastyle plugin allows for loading in style .xml files through the classpath, it would be a good aide to migration if the gradle plugin likewise allowed the file to be loaded from classpath

exception while running

When running the task get this:

* What went wrong:
Execution failed for task ':scalaStyle'.
> Could not initialize class scala.xml.TopScope$

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':scalaStyle'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
	at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class scala.xml.TopScope$
	at scala.xml.factory.XMLLoader$class.loadXML(XMLLoader.scala:40)
	at scala.xml.XML$.loadXML(XML.scala:60)
	at scala.xml.factory.XMLLoader$class.loadFile(XMLLoader.scala:50)
	at scala.xml.XML$.loadFile(XML.scala:60)
	at org.scalastyle.ScalastyleConfiguration$.readFromXml(ScalastyleConfiguration.scala:87)
	at org.scalastyle.ScalastyleConfiguration.readFromXml(ScalastyleConfiguration.scala)
	at org.scalastyle.ScalastyleConfiguration$readFromXml.call(Unknown Source)
	at org.github.ngbinh.scalastyle.ScalaStyleTask.scalaStyle(ScalaStyleTask.groovy:64)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
	at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.doExecute(DefaultTaskClassInfoStore.java:142)
	at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:135)
	at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:122)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:762)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:729)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
	... 28 more

Support gradle build cache

When a particular module doesn't have any modified source code, there is no need to run scalastyle on that module. Gradle already have build cache for this. Could this plugin leverage on that cache? It will greatly reduce our total build time.

Run the analysis on files specified in the CLI

I wish to run something like that
gradle scalaStyle --only-include aa/bb/cc.scala dd/ee/gg.scala kk/hh/vv
The idea is to create a pre commit hook that run the analysis on the file modified and created on that particular commit.

Support for scala 2.10

The scalastyle website claims that 0.6.0 supports both scala 2.10.x and 2.11.x. On casual inspection, it looks like the Gradle plugin only supports 2.11.x -- is that true? I'd be happy to contribute 2.10 support if you can give me some general pointers.

(I need 2.10 support because I'm working with Apache Spark, which is going to be on 2.10 for the near future.)

Publish 2.12 artifact

I couldn't find the Scala 2.12 artifact published anywhere, any plans to publish it soon?

Add a license

Currently we cannot use this within our enterprise because there is no license specified - please consider adding a specific open source license to clarify the terms of reuse

Do not check test source set with configuration for main when testConfigLocation is defined

When I use the following configuration:

scalaStyle {
    configLocation = "scalastyle-config_main.xml"
    testConfigLocation = "scalastyle-config_test.xml"
    includeTestSourceDirectory = true
    source = "src/main/scala"
    testSource = "src/test/scala"
}

, the test source set is checked twice with configLocation and testConfigLocation configurations, resulting in unnecessary warnings for test source set since the rules for test source set are less strict in my case.
If I set includeTestSourceDirectory to false, code is checked as expected, the main source set with configLocation config and the test source set with testConfigLocation config.

I suggest that:

  • either documentation should say that includeTestSourceDirectory = true uses configLocation configuration;
  • or fix the plugin so includeTestSourceDirectory = true uses testConfigLocation if defined, configLocation otherwise.

Version 1.0.0 is not showing up in jcenter for scala 2.11

Hitting the following when declaring version 1.0.0 in build.gradle:

   > Could not find org.github.ngbinh.scalastyle:gradle-scalastyle-plugin_2.11:1.0.0.
     Searched in the following locations:
         https://jcenter.bintray.com/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/1.0.0/gradle-scalastyle-plugin_2.11-1.0.0.pom
         https://jcenter.bintray.com/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/1.0.0/gradle-scalastyle-plugin_2.11-1.0.0.jar
         https://plugins.gradle.org/m2/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/1.0.0/gradle-scalastyle-plugin_2.11-1.0.0.pom
         https://plugins.gradle.org/m2/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/1.0.0/gradle-scalastyle-plugin_2.11-1.0.0.jar
         https://oss.sonatype.org/content/repositories/releases/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/1.0.0/gradle-scalastyle-plugin_2.11-1.0.0.pom
         https://oss.sonatype.org/content/repositories/releases/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/1.0.0/gradle-scalastyle-plugin_2.11-1.0.0.jar
         http://repo.spring.io/plugins-release/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/1.0.0/gradle-scalastyle-plugin_2.11-1.0.0.pom
         http://repo.spring.io/plugins-release/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/1.0.0/gradle-scalastyle-plugin_2.11-1.0.0.jar

Indeed 1.0.0 for 2.11 is not available in either of the two repositories:

https://jcenter.bintray.com/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/

Borrowing from #39

https://dl.bintray.com/ngbinh/maven/org/github/ngbinh/scalastyle/gradle-scalastyle-plugin_2.11/

scalastyle task produces an empty report..no descriptive error message

Hi,
I have configured by gradle project to use scalastyle plugin as follows in my build.gradle

apply plugin: 'scala'
apply plugin: 'scoverage'
apply plugin: 'scalaStyle'

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.scoverage:gradle-scoverage:1.0.9'
classpath 'org.github.ngbinh.scalastyle:gradle-scalastyle-plugin_2.10:0.8.1'
}
}

compileScala.scalaCompileOptions.useAnt = false

scalaStyle {
configLocation = "scalastyle_config.xml"
includeTestSourceDirectory = true
source = "src/main/scala"
testSource = "src/test/scala"
}

dependencies {
compile group: 'org.scala-lang', name: 'scala-library', version:'2.10.5'
compile group: 'org.apache.spark', name: 'spark-core_2.10', version:'1.4.1'
compile group: 'org.apache.spark', name: 'spark-streaming_2.10', version:'1.4.1'
compile group: 'org.apache.spark', name: 'spark-streaming-kafka_2.10', version:'1.4.1'
compile group: 'com.datastax.spark', name: 'spark-cassandra-connector_2.10', version:'1.4.0'
compile group: 'org.apache.kafka', name: 'kafka_2.10', version:'0.8.2.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version:'2.4'
compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-scala_2.10', version:'2.4.4'
testCompile group: 'org.scalatest', name: 'scalatest_2.10', version:'2.2.1'
scoverage 'org.scoverage:scalac-scoverage-plugin_2.10:1.1.1', 'org.scoverage:scalac-scoverage-runtime_2.10:1.1.1'
}

When I run 'gradle scalaStyle' I get the following error which isn't telling me much about what is wrong..The file build\scala_style_result.xml is empty?!! what am i missing?

D:\Repos\Weve\DataPipeline\Spark>gradle build scalaStyle
:spark-jobs:compileJava UP-TO-DATE
:spark-jobs:compileScala UP-TO-DATE
:spark-jobs:processResources UP-TO-DATE
:spark-jobs:classes UP-TO-DATE
:spark-jobs:fatJar UP-TO-DATE
:spark-jobs:jar UP-TO-DATE
:spark-jobs:assemble UP-TO-DATE
:spark-jobs:compileTestJava UP-TO-DATE
:spark-jobs:compileTestScala UP-TO-DATE
:spark-jobs:processTestResources UP-TO-DATE
:spark-jobs:testClasses UP-TO-DATE
:spark-jobs:test UP-TO-DATE
:spark-jobs:check UP-TO-DATE
:spark-jobs:build UP-TO-DATE
:spark-jobs:scalaStyle FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':spark-jobs:scalaStyle'.

    java.lang.Exception: Scala check error

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Incorrect invocation of ScalaStyleUtils.getTestFilesToProcess() in ScalaStyleTask.groovy

There appears to be an issue with attempting to use a separate test config. The plugin attempts to invoke ScalaStyleUtils.getTestFilesToProcess() with incorrect arguments on line 71 of ScalaStyleTask.groovy.

gradle.build scalastyle configuration:

scalaStyle {
    configLocation = "gradle/plugin/config/scalastyle/scalastyle_src_config.xml"
    testConfigLocation = "gradle/plugin/config/scalastyle/scalastyle_spec_config.xml"
    includeTestSourceDirectory = false
    source = "src/main/scala"
    testSource = "src/test/scala"
    verbose = true
}

Stacktrace:

mcosxh01:algorithm5 mcibulskis$ ./gradlew --stacktrace scalastyle
:scalaStyle FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':scalaStyle'.
> java.lang.Exception: Scala check error

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':scalaStyle'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: org.gradle.internal.UncheckedException: java.lang.Exception: Scala check error
    at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:45)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:78)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 60 more
Caused by: java.lang.Exception: Scala check error
    at org.github.ngbinh.scalastyle.ScalaStyleTask.scalaStyle(ScalaStyleTask.groovy:95)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
    ... 67 more
Caused by: groovy.lang.MissingMethodException: No signature of method: org.github.ngbinh.scalastyle.ScalaStyleUtils.getTestFilesToProcess() is applicable for argument types: (java.util.ArrayList, java.util.ArrayList, java.lang.String, java.lang.Boolean) values: [[/Volumes/projects-personal/algorithm5/src/main/scala/com/noackexpected/algorithm5/cluster/InMemoryNeighborInformation.scala, ...], ...]
Possible solutions: getTestFilesToProcess(java.util.List, java.lang.String, boolean)
    at org.github.ngbinh.scalastyle.ScalaStyleTask.scalaStyle(ScalaStyleTask.groovy:71)
    ... 68 more


BUILD FAILED

Total time: 3.381 secs

Other checks than org.scalastyle.* on scalastyle-config.xml

I've got some custom checks implemented I was using in maven with a success, e.g.:

 <check customId="nonascii" level="error" class="com.my.group.NonASCIICharacterChecker" enabled="true"/>

It does not work with gradle-scalastyle-plugin.
How I can tell the gradle-scalastyle plugin where to find those dependancies for such a custom checker?

Another thing is, that there is no error printed, that couldn't find it. For example: if I add an obviously bad rule like this:

  <check customId="blabla" level="error" class="ClassThatDoNotExistForSureSoItShouldFail" enabled="true"/>

It just runs without any error. I wish I know that there is something wrong with the config.

Make this repository not a fork

Since it looks like this is the new home of the plugin, it would be better not to have it as a fork. You may need to delete it and recreate as an independent repository, then push all the commits to it.

This will be clearer and also have the advantage that the repository will be indexed by github for searching etc, which currently, as a fork, it is not.

Compile with JDK7

The plugin currently is compiled using JDK8, I'm assuming this is not required though. Can you recompile with 1.7 compat?

Gradle pre-defaulting 2.8 library when running scalastyle-plugin

Given the sample build.gradle buildscript entries, the script is failing when running scalaStyle because it is at some point unable to load Scala.predef..colon less colon..

Classloader logs show that gradle is loading scala library 2.8 which is in the gradle init.d directory

Have you seen this issue before and do you have suggestions on how to make this work for the 2.11 build of this plugin?

sample hello world

I tried it with hello world (scala 2.11.7, jdk 1.8.45, gradle 2.7, gradle-scalastyle-plugin_2.11:0.8.0) and was unable to run 'gradle scalaStyle'
output is:
gradle clean scalaStyle
:clean UP-TO-DATE
:scalaStyle FAILED
FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':scalaStyle'.

    java.lang.Exception: Scala check error
    BUILD FAILED

Can someone upload a helloworld that works?
From the stack trace it looks like it has trouble to read the xml (I used the extracted the default_config.xml from scalastyle_2.11-0.7.0.jar)
Thanks
-cl

--stacktrace shows:
Caused by: java.lang.Exception: Scala check error
at org.github.ngbinh.scalastyle.ScalaStyleTask.scalaStyle**(ScalaStyleTask.groovy:93)**
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
... 64 more
Caused by: java.lang.NullPointerException
at scala.xml.Source$.fromFile(XML.scala:22)

update:
tried older version - gradle-scalastyle-plugin_2.11-0.7.2.jar and it worked
however I need org.scalastyle:scalastyle_2.11:0.7.0 which is only supported by gradle-scalastyle-plugin_2.11:0.8.0

can someone help?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.