Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove 70 publishable artifacts from the build. #1863

Merged
merged 2 commits into from
Apr 25, 2019

Conversation

olafurpg
Copy link
Member

@olafurpg olafurpg commented Apr 25, 2019

The Scalameta build currently contains a lot of micro-modules that have only a
few source files. This commit merges these micro-modules into larger modules to
reduce the complexity of the build and make releases easier.

Old (total cross-modules) New
io (6) trees
inputs (6) trees
dialects (6) trees
tokens (6) trees
tokenizers (6) trees
transversers (6) parsers
quasiquotes (6) parsers
contrib (6) scalameta
metap (6) scalameta
metacp (2) scalametaJVM
symtab (2) scalametaJVM
cli (6) scalameta
semanticdb (6) scalameta
interactive (2) semanticdb-scalac-core
metai (2) n/a
semanticdb-javac (2) n/a

The modules metai and semanticdb-javac were removed because they were not used
by any application that I'm aware of. People using those modules are invited to fork
the source code and maintain the modules themselves.

There are still 42 remaining publishable modules in the build:

  • common (6)
  • trees (6)
  • parsers (6)
  • scalameta (6)
  • semanticdb-scalac-core (9)
  • semanticdb-scalac (9)
  • testkit (2)
  • metac (2)

The Scalameta build currently contains a lot of micro-modules that have only a
few source files. This commit merges these micro-modules into larger modules to
reduce the complexity of the build and make releases easier.

| Old (total cross-modules) | New                    |
| ------------------------- | ---------------------- |
| io (6)                    | trees                  |
| inputs (6)                | trees                  |
| dialects (6)              | trees                  |
| tokens (6)                | trees                  |
| tokenizers (6)            | trees                  |
| transversers (6)          | parsers                |
| quasiquotes (6)           | parsers                |
| contrib (6)               | scalameta              |
| metap (6)                 | scalameta              |
| metacp (2)                | scalametaJVM           |
| symtab (2)                | scalametaJVM           |
| cli (6)                   | scalameta              |
| semanticdb (6)            | scalameta              |
| interactive (2)           | semanticdb-scalac-core |
| metai (2)                 | n/a                    |
| semanticdb-javac (2)      | n/a                    |

The modules metai and semanticdb-javac were removed because they were not used
by application that I'm aware of. People using those modules are invited to fork
the source code and maintain the modules themselves.

There are still 42 remaining publishable modules in the build:

- common (6)
- trees (6)
- parsers (6)
- scalameta (6)
- semanticdb-scalac-core (9)
- semanticdb-scalac (9)
- testkit (2)
- metac (2)
- remove javac compile options
- disable mima for modules with no bincompat guarantee
@olafurpg olafurpg merged commit eb6a761 into scalameta:master Apr 25, 2019
@olafurpg olafurpg deleted the slim-build branch April 25, 2019 15:35
olafurpg pushed a commit to olafurpg/scalameta that referenced this pull request Nov 27, 2019
Previously, Scalameta kept a global cache for the tokens of all inputs.
Now, the global cache has been replaced with a cache that's local to the
input itself.

The new solution was not possible before scalameta#1863 since the `Input` type
was kept in a separate module from `Tokens`. Now the two types live in
the same module so it's possible to make the token cache local to
inputs.

I verified that this change does not regress the performance of
Scalafmt.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant