Switched to external mill-moduledefs dependency #2068
Merged
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.
This is the second step of externalizing the
moduledefs
module.The first step was to migrate the current
moduledefs
code into an external projectmill-moduledefs
.This second step now removes the
moduledefs
local module and refactors the build setup to use the external one. In the external project, we split the shared code and the scalac plugin code into two modules, to respect the different use cases and technical requirements.mill-moduledefs
aritfact contains the traits and classes, which need to be on the classpathscalac-mill-moduledefs-plugin
artifact contains the scalac plugin, which is distributed for the full compiler version and is only used at compile-timeThe overall goal is, to develop and maintain both projects (Mill and mill-moduledefs) independently. It especially enables proper distribution of the compiler plugin for each full version of the Scala compiler. In addition, we can post-release the now independent mill-moduledefs project for newer Scala versions without bumping the version (if needed), so externally developed Mill plugin projects can safely use newer Scala versions without risking compiler issues.
Review by @lihaoyi