-
-
Notifications
You must be signed in to change notification settings - Fork 365
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
Aggressive codesig invalidation to trivial change in kotlinmodule/package.scala
#4137
Comments
Here we can see in {
"external scala.PartialFunction": [
"def build_.main.codesig.package_$CodeSigTests$$anonfun$$nestedInanonfun$caseKeys$1$1#applyOrElse(java.lang.Object,scala.Function1)java.lang.Object",
"def build_.docs.package_$site$$anonfun$moduleDeps$1#applyOrElse(java.lang.Object,scala.Function1)java.lang.Object",
"def build_.contrib.package_$$anonfun$contribModules$1#applyOrElse(java.lang.Object,scala.Function1)java.lang.Object",
"def build_.example.package_$$anonfun$exampleModules$1#applyOrElse(java.lang.Object,scala.Function1)java.lang.Object",
"def build_.docs.package_$$anonfun$$nestedInanonfun$brokenLocalLinks$7$1#applyOrElse(java.lang.Object,scala.Function1)java.lang.Object",
"def build_.dist.package_$$anonfun$allPublishModules$lzycompute$1#applyOrElse(java.lang.Object,scala.Function1)java.lang.Object",
"def build_.main.package_$$anonfun$$nestedInanonfun$buildInfoMembers$1$1#applyOrElse(java.lang.Object,scala.Function1)java.lang.Object",
"def build_.docs.package_$$anonfun$$nestedInanonfun$brokenRemoteLinks$8$1#applyOrElse(java.lang.Object,scala.Function1)java.lang.Object",
"external java.lang.Object",
"external scala.Function1"
]
} |
Seems like we might need to tweak the heuristics to treat |
Not really a bug, as it's an expected outcome of the current codesig algorithm and heuristics, but we can probably improve upon it |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Seems that any change in
kotlinlib.package_#<init>
transitively invalidatesscala.PartialFunction
andscala.collection.immutable.Seq
, which ends up invalidating everything that callsSeq
, which is basically everythingBasically anyone who calls any std lib API could potentially call some
PartialFunction
internally, and anyone who callsPartialFunction
could call any implementation ofPartialFunction
, of which there are many auto-generate that end up calling all sorts of code in the build codebase. In the case above, we see the implementation ofPartialFunction
indef build_.docs.package_$site$$anonfun$moduleDeps$1#applyOrElse(java.lang.Object,scala.Function1)java.lang.Object
(thecollect
block inbuild.docs.site.moduleDefs
) ends up depending onbuild.kotlinlib
in the secondcase
block'sif
guard, which then adds a dependency onkotlinlib.package_#<init>
The text was updated successfully, but these errors were encountered: