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

Compilation avoidance for Kotlin DSL scripts #9224

Closed
bamboo opened this issue Mar 1, 2018 · 4 comments
Closed

Compilation avoidance for Kotlin DSL scripts #9224

bamboo opened this issue Mar 1, 2018 · 4 comments

Comments

@bamboo
Copy link
Member

bamboo commented Mar 1, 2018

Kotlin DSL should recognize ABI (Application Binary Interface) breaking changes, and trigger recompilation of scripts only in that case.

This wouldn't change the feedback loop duration for API changes in buildSrc, but for a non-API change it would short-circuit all build scripts compilation, shortening the feedback loop. On builds with lots of scripts the effect would be dramatic.

@eskatos
Copy link
Member

eskatos commented Apr 2, 2019

The existing org.jetbrains.kotlin.jvm.abi Kotlin compiler plugin, see KT-25128, isn't suitable for use in script compilation as it works at compilation time and can't be used after the fact on dependencies. There's no planned work on this to make it usable for us.

Another option would be to start with what we already have for generic JVM bytecode ABI extraction, maybe AbiExtractingClasspathResourceHasher. This should already provide some compilation avoidance. It could then be incrementally augmented to understand Kotlin idioms.

@eskatos eskatos changed the title Compilation avoidance for scripts Compilation avoidance for Kotlin DSL scripts Apr 19, 2019
@eskatos eskatos transferred this issue from gradle/kotlin-dsl-samples Apr 25, 2019
@stale
Copy link

stale bot commented Oct 6, 2020

This issue has been automatically marked as stale because it has not had recent activity. Given the limited bandwidth of the team, it will be automatically closed if no further activity occurs. If you're interested in how we try to keep the backlog in a healthy state, please read our blog post on how we refine our backlog. If you feel this is something you could contribute, please have a look at our Contributor Guide. Thank you for your contribution.

@stale stale bot added the stale label Oct 6, 2020
@ZacSweers
Copy link

Commenting because this is actually important

@stale stale bot removed the stale label Oct 6, 2020
@eskatos
Copy link
Member

eskatos commented Oct 7, 2020

See #14735

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

5 participants