Skip to content

.hide MultiJvm configuration #48

@eed3si9n

Description

@eed3si9n

Akka's build contains a lot settings scoped to MultiJvm configuration, like formatting and header, but most subproject actually does not declare MultiJvm to be a configuration. When Akka upgrades to sbt 1.2.0, it will see a wall of warnings:

[warn] The project ProjectRef(uri("file:/Users/eed3si9n/work/akka/"), "akka-actor-typed") references an unknown configuration "multi-jvm" and was guessed to be "Multi-jvm".
[warn] This configuration should be explicitly added to the project.
[warn] The project ProjectRef(uri("file:/Users/eed3si9n/work/akka/"), "akka-actor-typed-tests") references an unknown configuration "multi-jvm" and was guessed to be "Multi-jvm".
[warn] This configuration should be explicitly added to the project.
[warn] The project ProjectRef(uri("file:/Users/eed3si9n/work/akka/"), "akka") references an unknown configuration "multi-jvm" and was guessed to be "Multi-jvm".
[warn] This configuration should be explicitly added to the project.
[warn] The project ProjectRef(uri("file:/Users/eed3si9n/work/akka/"), "akka-stream-tests-tck") references an unknown configuration "multi-jvm" and was guessed to be "Multi-jvm".
[warn] This configuration should be explicitly added to the project.
[warn] The project ProjectRef(uri("file:/Users/eed3si9n/work/akka/"), "akka-osgi") references an unknown configuration "multi-jvm" and was guessed to be "Multi-jvm".
[warn] This configuration should be explicitly added to the project.
[warn] The project ProjectRef(uri("file:/Users/eed3si9n/work/akka/"), "akka-protobuf") references an unknown configuration "multi-jvm" and was guessed to be "Multi-jvm".
[warn] This configuration should be explicitly added to the project.
[warn] The project ProjectRef(uri("file:/Users/eed3si9n/work/akka/"), "akka-actor-testkit-typed") references an unknown configuration "multi-jvm" and was guessed to be "Multi-jvm".
[warn] This configuration should be explicitly added to the project.
...

One way to prevent this is to inject the configuration to all subprojects via a local AutoPlugin, but to make sure that the configuration does not leak out to POM etc, it should probably declare itself as private by calling .hide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions