OverrideMapping
mill.define.OverrideMapping
@Scaladoc(value = "/**\n * Logic around mapping overridden tasks to `Segments` suffixes.\n *\n * If a task is overridden, only the final override is assigned the `foo`\n * segment, while the overridden tasks are assigned `foo.super/Bar` `foo.super/Qux`\n * etc.. The suffix is as short as possible for conciseness while still being distinct.\n *\n * To detect groups of overrides, we use the task names captured in the `Discover` macro.\n * This allows us to properly identify which `def` is the \"final\" one, which is difficult\n * to do by other means (e.g. JVM bytecode has synthetic forwarders that confuse things)\n */")
object OverrideMapping
Logic around mapping overridden tasks to Segments
suffixes.
If a task is overridden, only the final override is assigned the foo
segment, while the overridden tasks are assigned foo.super/Bar
foo.super/Qux
etc.. The suffix is as short as possible for conciseness while still being distinct.
To detect groups of overrides, we use the task names captured in the Discover
macro. This allows us to properly identify which def
is the "final" one, which is difficult to do by other means (e.g. JVM bytecode has synthetic forwarders that confuse things)
Attributes
- Source
- OverrideMapping.scala
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
OverrideMapping.type
Members list
Type members
Classlikes
trait Wrapper
Attributes
- Source
- OverrideMapping.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Moduleclass BaseModuleclass ExternalModuleobject PalantirFormatModuleobject Koverobject KtfmtModuleobject KtlintModuleobject KotlinWorkerModuleobject VisualizeModuleobject Giter8Moduleobject ScalafmtModuleobject ScalafmtWorkerModuleobject Dependencyobject GenIdeaobject PublishModuleobject ZincWorkerModuletrait MainModuleclass RootModuletrait Module[T1]trait CrossValuetrait InnerCrossModule2trait InnerCrossModule3trait InnerCrossModule4trait InnerCrossModule5trait CrossModuleBasetrait CrossSbtModuletrait CrossScalaModuletrait CrossScalaVersionRangesclass Cross[M]trait DynamicModuletrait TaskModuletrait VisualizeModuletrait JavaModuletrait JavaModuleTeststrait AndroidAppBundletrait AndroidAppModuletrait AndroidAppKotlinModuletrait CheckstyleModuletrait CheckstyleXsltModuletrait ErrorProneModuletrait PalantirFormatModuletrait KtfmtBaseModuletrait KtfmtModuletrait KotlinModuletrait KotlinTeststrait AndroidAppKotlinTeststrait KotlinJsTeststrait KotestTeststrait KotlinTestPackageTeststrait KotlinMavenTeststrait DetektModuletrait KotlinJsModuletrait KoverModuletrait KotlinMavenModuletrait PlatformKotlinModuletrait ScalafmtModuletrait BomModuletrait JlinkModuletrait JpackageModuletrait MavenModuletrait SbtModuletrait SbtNativeModuletrait PlatformModuleBasetrait PublishModuletrait ScalaModuletrait ScalaTeststrait ScalaJSTeststrait Teststrait SbtModuleTeststrait ScalaNativeTeststrait ScalaJSModuletrait TestScalaJSModuletrait ScalaMetalsSupporttrait PlatformScalaModuletrait UnidocModuletrait ScalaNativeModuletrait TestScalaNativeModuletrait TestModuletrait AndroidTestModuletrait AndroidJUnittrait Junit4trait Junit5trait Munittrait ScalaTesttrait Specs2trait TestNgtrait Utesttrait Weavertrait ZioTesttrait KotlinWorkerModuletrait SelectiveExecutionModuletrait WithZincWorkertrait NativeImageModuletrait RunModuleShow all
Value members
Concrete methods
def assignOverridenTaskSegments(overriddenEnclosings: Seq[String], taskMethodName: String, taskClassName: String): Segments
Attributes
- Source
- OverrideMapping.scala
Attributes
- Source
- OverrideMapping.scala
def computeSegments(enclosingValue: Wrapper, discover: Discover, lastSegmentStr: String, enclosingClassValue: Class[_]): Segments
Attributes
- Source
- OverrideMapping.scala
In this article