Code Monkey home page Code Monkey logo

Comments (13)

pjrt avatar pjrt commented on September 24, 2024 1

One way we worked around this:

      scalastyleSources in Compile <++= unmanagedSourceDirectories in Test,

This means that running sbt scalastyle (no test:) will also run scalastyle on the test folder.

from scalastyle-sbt-plugin.

fthomas avatar fthomas commented on September 24, 2024

Pinging @adrian-wang since this is related to #41.

Note that scalastyleSources can be overriden for the Compile configuration like this:

(scalastyleSources in Compile) <++= unmanagedSourceDirectories in Compile

But doing the same for the Test configuration has no effect.

from scalastyle-sbt-plugin.

adrian-wang avatar adrian-wang commented on September 24, 2024

Hi @fthomas , did you use

(scalastyleSources in Test) <++= unmanagedSourceDirectories in Compile

or

(scalastyleSources in Test) <++= unmanagedSourceDirectories in Test

?

from scalastyle-sbt-plugin.

fthomas avatar fthomas commented on September 24, 2024

I tried all of

(scalastyleSources in Test) <++= unmanagedSourceDirectories in Compile,
(scalastyleSources in Test) <++= unmanagedSourceDirectories in Test,
(scalastyleSources in Test) <++= unmanagedSourceDirectories in (Test, compile),
(scalastyleSources in (Test, compile)) <++= unmanagedSourceDirectories in Compile,
(scalastyleSources in (Test, compile)) <++= unmanagedSourceDirectories in Test,
(scalastyleSources in (Test, compile)) <++= unmanagedSourceDirectories in (Test, compile),
(scalastyleSources in (Test, scalastyle)) <++= unmanagedSourceDirectories in Compile,
(scalastyleSources in (Test, scalastyle)) <++= unmanagedSourceDirectories in Test,
(scalastyleSources in (Test, scalastyle)) <++= unmanagedSourceDirectories in (Test, compile),

but none of those had the desired effect.

In the sbt console test:unmanagedSourceDirectories outputs the directories that should be added to test:scalastyleSources.

from scalastyle-sbt-plugin.

adrian-wang avatar adrian-wang commented on September 24, 2024

This is unreasonable...

from scalastyle-sbt-plugin.

fthomas avatar fthomas commented on September 24, 2024

Indeed. Is there anything I could do to "debug" this?

from scalastyle-sbt-plugin.

matthewfarwell avatar matthewfarwell commented on September 24, 2024

Scalastyle is now an AutoPlugin, which may have changed behaviour slightly. Could you recheck this and see if there is still a problem, using 0.9.0-SNAPSHOT please?

from scalastyle-sbt-plugin.

fthomas avatar fthomas commented on September 24, 2024

@matthewfarwell I tried 0.9.0-SNAPSHOT but scalastyleSources still contains only one directory:

[info] * /home/frank/data/code/refined/modules/core/jvm/src/main/scala

from scalastyle-sbt-plugin.

matthewfarwell avatar matthewfarwell commented on September 24, 2024

I don't understand the problem. I can do the following (using 0.9.0-SNAPSHOT, but as far as I'm aware this behaviour hasn't changed).

Add two directories and single file to scalastyleSources:

build.sbt:

name := "single"

version := "0.1.0"

scalastyleSources in Compile := Seq(
                                baseDirectory.value / "extra" / "foo",
                                baseDirectory.value / "extra" / "bar",
                                baseDirectory.value / "extra" / "Top.scala")

Use master scalastyle:

project/plugins.sbt:

resolvers += "sonatype-releases" at "https://oss.sonatype.org/content/repositories/snapshots/"

addSbtPlugin("org.scalastyle" % "scalastyle-sbt-plugin" % "0.9.0-SNAPSHOT")

Make sure the files exist:

$ mkdir extra extra/foo extra/bar
$ touch extra/Top.scala extra/foo/Foo.scala extra/bar/Bar.scala

And scalastyle processes in the output:

$ sbt scalastyle
[info] Loading project definition from /home/mfarwell/code/scalastyle/test/single/project
[info] Set current project to single (in build file:/home/mfarwell/code/scalastyle/test/single/)
[info] scalastyle using config /home/mfarwell/code/scalastyle/test/single/scalastyle-config.xml
[info] scalastyle Processed 3 file(s) <-------- **** PROCESSED THREE FILES ***
[info] scalastyle Found 0 errors
[info] scalastyle Found 0 warnings
[info] scalastyle Found 0 infos
[info] scalastyle Finished in 4 ms
[success] created output: /home/mfarwell/code/scalastyle/test/single/target
[success] Total time: 0 s, completed Apr 23, 2017 8:35:52 AM

from scalastyle-sbt-plugin.

matthewfarwell avatar matthewfarwell commented on September 24, 2024

@fthomas @adrian-wang Could you see if the behaviour has changed between 0.8.0 and 0.9.0, and if not, please tell me what the problem is, if indeed there is one. Thanks.

from scalastyle-sbt-plugin.

fthomas avatar fthomas commented on September 24, 2024

@matthewfarwell The problem still exists in 0.9.0. scalastyleSources still contains only one source directory

> coreJVM/scalastyleSources
[info] * /home/frank/data/code/refined/modules/core/jvm/src/main/scala

instead of all relevant source directories for this project:

> coreJVM/unmanagedSourceDirectories
[info] * /home/frank/data/code/refined/modules/core/jvm/src/main/scala-2.12
[info] * /home/frank/data/code/refined/modules/core/jvm/src/main/scala
[info] * /home/frank/data/code/refined/modules/core/jvm/src/main/java
[info] * /home/frank/data/code/refined/modules/core/shared/src/main/scala-2.12
[info] * /home/frank/data/code/refined/modules/core/shared/src/main/scala

Since all my sources are in /home/frank/data/code/refined/modules/core/shared/src/main/scala, scalastyle doesn't check any files.

The problem is not that I cannot change scalastyleSources to contain the same directories as unmanagedSourceDirectories (because we've done this at least in cats, circe, and refined) but that scalastyleSources should contain the same directories as unmanagedSourceDirectories by default. In a typical JVM / JS cross project it shouldn't be required to change scalastyleSources.

BTW, I had similar issues with other plugins:

from scalastyle-sbt-plugin.

matthewfarwell avatar matthewfarwell commented on September 24, 2024

Can you try this with the snapshot and see if it works please?

from scalastyle-sbt-plugin.

fthomas avatar fthomas commented on September 24, 2024

Just tried 0.10.0-SNAPSHOT and it picks up all my source directories. Thanks @matthewfarwell!

from scalastyle-sbt-plugin.

Related Issues (20)

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.