Use unmanagedSourceDirectories for sourceDirectories #43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
sourceDirectories in scalariformFormat
is currently initializedwith
List(scalaSource.value)
which means that sbt-scalariform onlylooks into one source directory per project. But a typical Scala.js
cross project has at least two source directories: js/ and shared/
or jvm/ and shared/. In other projects there are multiple source
directories for different Scala versions.
This change initializes
sourceDirectories in scalariformFormat
with
unmanagedSourceDirectories
which contains all sourcedirectories with manually created sources. This setting always
includes
scalaSource
because sbt defines it as:unmanagedSourceDirectories := makeCrossSources( scalaSource.value, javaSource.value, scalaBinaryVersion.value, crossPaths.value)
Here are for example both settings for typelevel/cats:
And since cats has no sources in cats/core/.jvm/src/main/scala
(all sources are in cats/core/src/main/scala), sbt-scalariform
won't format anything.
This change has been tested successfully with one of my projects
and allowed to get rid of this workaround
to pick up all relevant source directories.