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

Fix #8020: Create dotty-tasty-inspector library #8021

Merged
merged 2 commits into from
Jan 30, 2020

Conversation

nicolasstucki
Copy link
Contributor

@nicolasstucki nicolasstucki commented Jan 17, 2020

Repeats the changes in #7080 for dotty-tasty-inspector.

Extract the tasty-consumer out of the standard library and compiler.

  • Create dotty-tasty-inspector project that depends on dotty-compiler
  • Add missing test infrastructure dependencies on the dotty-tasty-inspector project or jar
  • Refactored tasty.file.{ConsumeTasty, TastyConsumer}, TastyConsumerPhase, andTastyFromClass into dotty-tasty-inspector as TastyInspector
  • Implement ConsumeTasty.apply directly (instead of as a java reflection call) as TastyInspector.inspect
  • Now projects need to depend on "ch.epfl.lamp" %% "dotty-tasty-inspector" % scalaVersion.value
  • Factored out dotty.tools.dotc.util.ClasspathFromClassloader core logic for dotty-staging and dotty-tasty-consumer
  • Enabled tastdoc tests on CI (mostly to check it compiles)

@smarter
Copy link
Member

smarter commented Jan 17, 2020

What's the benefit of having an extra library instead of having this stuff in dotty-compiler ?

@nicolasstucki
Copy link
Contributor Author

Same as in dotty-staging. Users that depend on this should not have access or care about the compiler.

project/Build.scala Outdated Show resolved Hide resolved
project/Build.scala Outdated Show resolved Hide resolved
@smarter
Copy link
Member

smarter commented Jan 17, 2020

To make things simpler we could fusion dotty-staging and dotty-tasty-consumer then.

@nicolasstucki
Copy link
Contributor Author

dotty-staging and dotty-tasty-consumer are completely different libraries. There is probably no use-case where both would be combined. They mostly share a common way the build must be set up for them.

@nicolasstucki nicolasstucki force-pushed the fix-#8020 branch 3 times, most recently from c814ac9 to 9485a20 Compare January 17, 2020 15:51
@nicolasstucki nicolasstucki marked this pull request as ready for review January 17, 2020 19:23
@nicolasstucki nicolasstucki requested review from smarter and removed request for liufengyun January 17, 2020 19:24
@nicolasstucki nicolasstucki added this to the 0.22 Tech Preview milestone Jan 20, 2020
.drone.yml Outdated Show resolved Hide resolved
@nicolasstucki
Copy link
Contributor Author

I'm considering renaming it tasty-inspector. What WDYT @smarter ?

@nicolasstucki nicolasstucki force-pushed the fix-#8020 branch 2 times, most recently from fe1f9ad to 486c184 Compare January 24, 2020 13:59
Also rework TastyInspector API to simplify use.
@nicolasstucki nicolasstucki dismissed smarter’s stale review January 24, 2020 15:28

Made requested changes

@nicolasstucki nicolasstucki changed the title Fix #8020: Create dotty-tasty-consumer library Fix #8020: Create dotty-tasty-inspector library Jan 26, 2020
@nicolasstucki nicolasstucki merged commit 0b90ec1 into scala:master Jan 30, 2020
@nicolasstucki nicolasstucki deleted the fix-#8020 branch January 30, 2020 13:43
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.

None yet

2 participants