Skip to content

Switch to new Kotlin ABI fingerprint from the Kotlin distribution#26645

Merged
jbartok merged 29 commits into
masterfrom
jb/kotlin-dsl/compile-classpath-fingerprinting
May 15, 2025
Merged

Switch to new Kotlin ABI fingerprint from the Kotlin distribution#26645
jbartok merged 29 commits into
masterfrom
jb/kotlin-dsl/compile-classpath-fingerprinting

Conversation

@jbartok

@jbartok jbartok commented Oct 5, 2023

Copy link
Copy Markdown
Member

Context

Contributor Checklist

  • Review Contribution Guidelines
  • Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
  • Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
  • Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
  • Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
  • Provide unit tests (under <subproject>/src/test) to verify logic
  • Update User Guide, DSL Reference, and Javadoc for public-facing changes
  • Ensure that tests pass sanity check: ./gradlew sanityCheck
  • Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Reviewing cheatsheet

Before merging the PR, comments starting with

  • ❌ ❓must be fixed
  • 🤔 💅 should be fixed
  • 💭 may be fixed
  • 🎉 celebrate happy things

Things left to do:

  • re-enable BuildScriptCompileAvoidanceIntegrationTest.recompiles buildscript on inline lambda function change in buildSrc class when library fixed
  • re-enable BuildScriptCompileAvoidanceIntegrationTest.ravoids buildscript recompilation on internal inline function change in buildSrc class when library fixed
  • re-enable PrecompiledPluginsCompileAvoidanceIntegrationTest.avoids buildscript recompilation when task is configured in precompiled script plugin when library fixed
  • consider rewriting NewKotlinCompileClasspathFingerprinter as a new FingerprintingStrategy and passing it to DefaultCurrentFileCollectionFingerprint.from()
  • replace KotlinCompileClasspathFingerprinter with NewKotlinCompileClasspathFingerprinter completely, including cleaning up all code that will end up unused

@jbartok jbartok self-assigned this Oct 5, 2023
@eskatos eskatos added the a:investigation Issues requiring decision or investigation label Oct 5, 2023
@jbartok jbartok force-pushed the jb/kotlin-dsl/compile-classpath-fingerprinting branch from 740aeaa to 35fe909 Compare October 18, 2023 06:52
@jbartok jbartok force-pushed the jb/kotlin-dsl/compile-classpath-fingerprinting branch from 35fe909 to a816c57 Compare October 19, 2023 13:10
@jbartok jbartok changed the base branch from master to eskatos/kotlin-dsl/try-kotlin-1.9.0-previews October 19, 2023 13:11
@gradle gradle deleted a comment from jbartok Oct 20, 2023
@gradle gradle deleted a comment from jbartok Oct 20, 2023
@jbartok

jbartok commented Oct 23, 2023

Copy link
Copy Markdown
Member Author

Building gradle/gradle with this PR's version of Gradle is incredibly slow (and that's just the help task), cause not yet clear: https://ge.gradle.org/s/rp374kanyms5m

Subsequent runs almost as slow: https://ge.gradle.org/s/5ir5jus7oifq2

@eskatos

eskatos commented Oct 24, 2023

Copy link
Copy Markdown
Member

The previous fingerprinting had a lot of caching involved. The one currently in this PR doesn't do any caching. This might be the cause of the performance drop.

@eskatos eskatos force-pushed the eskatos/kotlin-dsl/try-kotlin-1.9.0-previews branch from 5ff10e4 to 6cdad94 Compare October 26, 2023 13:51
@jbartok jbartok force-pushed the jb/kotlin-dsl/compile-classpath-fingerprinting branch from db76323 to e1cfe32 Compare November 3, 2023 11:41
@jbartok jbartok changed the base branch from eskatos/kotlin-dsl/try-kotlin-1.9.0-previews to master November 3, 2023 11:41
@jbartok jbartok force-pushed the jb/kotlin-dsl/compile-classpath-fingerprinting branch from 2af1016 to 7e855d1 Compare November 3, 2023 11:44
@gradle gradle deleted a comment from jbartok Nov 3, 2023
@gradle gradle deleted a comment from jbartok Nov 3, 2023
@gradle gradle deleted a comment from jbartok Nov 6, 2023
@gradle gradle deleted a comment from eskatos Nov 6, 2023
@jbartok

This comment has been minimized.

@gradle gradle deleted a comment from jbartok Nov 6, 2023
@bot-gradle

This comment has been minimized.

@jbartok

This comment has been minimized.

@gradle gradle deleted a comment from jbartok Nov 7, 2023
@bot-gradle

This comment has been minimized.

@github-actions

github-actions Bot commented Feb 6, 2024

Copy link
Copy Markdown
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. If you don't want the stale bot to close it, then set a milestone for it.

@github-actions github-actions Bot added the stale label Feb 6, 2024
@jbartok jbartok added this to the 9.0 RC1 milestone Feb 6, 2024
@jbartok jbartok force-pushed the jb/kotlin-dsl/compile-classpath-fingerprinting branch 2 times, most recently from bb2f987 to aabae91 Compare October 15, 2024 09:02
@jbartok jbartok force-pushed the jb/kotlin-dsl/compile-classpath-fingerprinting branch from 681adb1 to 2566683 Compare May 15, 2025 09:20
@jbartok jbartok enabled auto-merge May 15, 2025 09:23

@eskatos eskatos left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@jbartok jbartok added this pull request to the merge queue May 15, 2025
@bot-gradle

Copy link
Copy Markdown
Collaborator

WARN: Based on labels, this pull request addresses notable issue but no changes to release note found.

@jbartok

jbartok commented May 15, 2025

Copy link
Copy Markdown
Member Author

WARN: Based on labels, this pull request addresses notable issue but no changes to release note found.

Release note content will be addressed in a follow-up PR.

Merged via the queue into master with commit 5cd0116 May 15, 2025
25 checks passed
@jbartok jbartok deleted the jb/kotlin-dsl/compile-classpath-fingerprinting branch May 15, 2025 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a:feature A new functionality in:kotlin-dsl

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Try out new Kotlin ABI fingerprint from the Kotlin distribution Support Kotlin's inline functions with build script compilation avoidance

3 participants