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

Incremental compilation #141

Open
keeganwitt opened this issue Aug 25, 2019 · 2 comments
Open

Incremental compilation #141

keeganwitt opened this issue Aug 25, 2019 · 2 comments
Assignees

Comments

@keeganwitt
Copy link
Member

No description provided.

@keeganwitt keeganwitt self-assigned this Aug 25, 2019
@keeganwitt
Copy link
Member Author

keeganwitt commented Sep 8, 2019

I've been studying the Maven Compiler plugin for inspiration. They do matching of sources to classes to detect changes (comparing the timestamps between the two). But this is tougher to do in Groovy, given the source filenames don't have to match the compiled class name. I'm trying to come up with an alternative strategy for detecting whether recompilation is needed due to updated sources.

One option would be to save a list of source files and last modified timestamps, then check every source file for a newer timestamp than the timestamp saved. But I'm a little concerned about the performance of this approach.

@keeganwitt
Copy link
Member Author

keeganwitt commented Sep 8, 2019

Some additional possible considerations:

  • Is there any impact around MGROOVY-187?
  • Is there any risks introduced by the lack of idempotency of the Groovy compiler (I think not)?
  • Can we handle changes to other JVM languages in a joint compilation scenario (Scala/Clojure/Kotlin/etc)?
  • Can we handle changes in generated sources?
  • Can we handle changes to jars in a lib directory?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant