- Introduce ComparableTimeMark interface extending TimeMark,
and TimeSource.WithComparableMarks - a time source that returns such time marks.
- Implement ComparableTimeMark in ValueTimeMark and AbstractLong/DoubleTimeMark classes.
This will include Internal* and *Experimental annotations for the
Kotlin Gradle Plugin. The separate module is proposed, so that
additional modules can use those annotations without
a dependency to the full kotlin-gradle-plugin-api module
(see -idea modules)
^KT-54029 WIP
Now KotlinNativeLink task does not extend AbstractKotlinNativeCompile
task as Link task is tool type task that should use
CompilerCommonToolOptions.
^KT-27301 In Progress
Currently know problematic place is in 'common-configuration.gradle.kts'
setting '-Xklib-relative-path-base'. This is done in task doFirst{}
action to avoid remote build cache misses due to absolute path usage.
^KT-27301 In Progress
Currently know problematic place is in 'common-configuration.gradle.kts'
setting '-Xklib-relative-path-base'. This is done in task doFirst{}
action to avoid remote build cache misses due to absolute path usage.
^KT-27301 In Progress
Move tasks configuration into JS tasks configurators.
Introduce enhancedFreeCompilerArgs workaround when freeCompilerArgs
are modified based on existing values.
Introduce workaround for 'destinationDirectory' input when it
content are depenends on multiple other task inputs.
^KT-27301 In Progress
Currently, known plugins doing that are 'kotlin-dsl' and AGP with
compose enabled. They are setting freeCompilerArgs in KotlinCompile
.doFirst task action. At this point compilerOptions.freeCompilerArgs are
finalized and Gradle doesn't allow further modification.
^KT-27301 In Progress
Old one is deprecated and delegates to new options. All new options
are marked with task input types, so they could be used as `@Nested`
input.
Generated options are using specific types in generated
compiler options. This should simplify code completion and provide
meaningful hints to user.
At this point repository compilation will fail.
^KT-27301 In Progress
To avoid exposing compiler internal types inside Gradle DSL public api.
ApiVersion and LanguageVersion in terms of compiler api is almost the
same. Actually ApiVersion is generated based on LanguageVersion. To
reduce user confusion what enum to use and what is the difference
- in Gradle DSL they are now exposed as single enum - KotlinVersion.
Mark KotlinVersion with DeprecationLevel.ERROR if related
LanguageVersion is unsupported and with DeprecationLevel.WARNING if
related LanguageVersion is deprecated.
^KT-27301 In Progress