Based on the template from
https://github.com/JetBrains/kotlin-web-site/tree/master/dokka-templates.
Template itself is updated frequently and should be added by CI
configuration.
Generated reference has versioning support. Older generated references
should put into:
<project_dir>/<build_dir>/dokka/kotlinlangDocumentationOld
^KT-55520 Fixed
Actually we don't need javadoc generation for our internal stuff like
':kotlin-gradle-plugin'. But ':kotlin-gradle-plugin-api' is a public api
and should have properly generated javadocs.
^KT-55520 In Progress
To be cacheable relocated shadow jars should not include manifest with
build number. Instead, we repack relocated shadow jar in default jar
task with proper manifest.
Move all the code to apply Kotlin bootstrap into settings script plugin
which does following:
- configures based either on the repo root 'local.properties' or on the
root project gradle properties or on the repo root 'gradle.properties'
current type of bootstrap
- automatically adds Kotlin bootstrap repository with
exclusive content, so bootstrap dependencies will not be by mistake
downloaded from other repository
- automatically forces all Kotlin plugins applied in the build to use
bootstrap version
This script should be applied only in project settings.gradle and then
it does all the configuration by itself.
It looks like net.rubygrapefruit:native-platform:0.14 is not in
plugins.gradle.org repository anymore.
And it's not used anyway.
> Task :buildSrc:generateExternalPluginSpecBuilders FAILED
'''
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':buildSrc:generateExternalPluginSpecBuilders'.
> Could not resolve all files for configuration ':buildSrc:compileClasspath'.
> Could not find native-platform-0.14.jar (net.rubygrapefruit:native-platform:0.14).
Searched in the following locations:
https://cache-redirector.jetbrains.com/plugins.gradle.org/net/rubygrapefruit/native-platform/0.14/native-platform-0.14.jar
'''
Can be reproduced with
```gradle --refresh-dependencies -i tasks -Pkotlin.native.enabled=true```
KTI-986
The `getSourceForArgument` method should be in the interface,
but adding it is a breaking change for Java usages,
since the module is not built with -Xjvm-default (KT-54749).
Move the method to an extension. This doesn't change the behavior,
since it was only ever called on LazyAnnotationDescriptor.
Remove annotations, kotlin-stdlib-common, kotlin-stdlib.
Packing those libraries is wrong and probably unexpected. It leads to
artifacts size increase. Can be dangerous because of bad classpath.
And also have a reproducibility issue because of caching tricks around
KotlinVersionCurrentValue class.
KTI-942
For some reason TARGET_JVM_VERSION_ATTRIBUTE was not always set in the
resulting artifacts for runtimeElementsConfigurationName and
apiElementsConfigurationName variants
It could be reproduced locally with by executing
`gradle kotlin-allopen:publishToMavenLocal`
The fix can be checked via
`gradle kotlin-allopen:outgoingVariants`
^KTI-920 Fixed
Usage of this function is unsafe because it does not have native compiler
support. This means that compiler won't report UNCHECKED_CAST,
CAST_NEVER_SUCCEED or similar diagnostics in case of error cast
(which can happen immediately or after some refactoring of class hierarchy)
Now it could be only be applied inside settings file pluginManagement
block. This will update both settings repositories and all projects in
the repo with cache redirection settings.
Otherwise common compiler arguments which are set for all modules in the
project in `buildSrc/src/main/kotlin/common-configuration.gradle.kts`
are not applied. The most interesting of those are `-Xuse-k2` (if K2 is
enabled) and `-Xjvm-default=all`.
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