The kotlin-scripting-compiler-impl jar is used in the idea plugin and
therefore should not depend on the cli parts of the compiler to avoid
dependency from the plugin to the kotlin-compiler.jar.
Therefore the cli-dependent parts were moved to the scripting plugin
jar, which is used only in cli compiler based environments.
Also implement required abstractions to allow this movement and
drop some redundant dependencies to the cli parts in other projects.
Do not register an extension, use an extra property instead. This way,
it is less visible for a build author.
Hotfix for commit c292380aff
Issue #KT-29693
* Interface and abstract properties are now checked, too.
For them, copy the @Input/@Internal annotations from the
implementations (luckily, they were all consistent).
* Annotating a private property without a public accessor is not not
allowed. Remove one such annotation.
Fix dependencies that are added in non-published source sets, which were
omitted from the requested dependencies since their configurations were
not added to the extendsFrom set of the merged configurations.
Also, don't resolve both merged configurations (compile and runtime) in
GranularMetadataTransformation, as the IDE can anyway import only the
compile-scoped dependencies from api & implementation.
Issue #KT-32225 Fixed
Fix incorrect source sets visibility when a dependency is added to a
non-root source set and its visible source sets are mistakenly treated
as already visible by the dependsOn parents and are thus not extracted
from the metadata package.
To simplify the logic, reuse the GranularMetadataTransformation
instances from the dependsOn parent source sets: they can provide the
requested dependencies sets for the parents and their transformation
results, so that excluding the dependency source sets which are seen
the parents gets simpler.
The issue is then fixed by naturally excluding only the source sets
which are mentioned in the parents' transformation results.
Issue #KT-32204 Fixed
Now resolving works per compilation, so transitive dependency between
compilations in same project can be resolved (KT-31917).
Resolving gradle configurations now occurs in separate
per-project `KotlinPackageJsonTask`s. Global install called in
`KotlinNpmInstallTask`. Tasks inputs configured, so tasks now
reported as UP-TO-DATE if nothing was changed.
#KT-31565 Fixed
#KT-32015 Fixed
#KT-31917 Fixed
* Group all disabled targets from all subprojects in a single warning
* Make the warning optional, suggest disabling it with a Gradle property
Issue #KT-29693 Fixed
When adding generated Java sources to AGP using Variant API,
add only Java sources. This was already done in
a6ae4494167c9d4cca23995457c59fb2daedad39 for Java projects, and this
commit fixes the same issue for Android projects.
Test: Kapt3Android33IT.testKotlinProcessorUsingFiler
Names of project properties used by K/N (e.g.
org.jetbrains.kotlin.native.home) are not uniform
with other kotlin properties (e.g. kotlin.coroutines).
This patch renames these properties by dropping the
'org.jetbrains' prefix and adds corresponding
deprecation warnings.
Issue #KT-32302 Fixed
Restricted distribution is a K/N distribution built for MacOS only
alongside with a regular distribution and containing no platform
libraries for MacOS. This commit allows switching between
distribution types using a special project property.
Issue #KT-32301 Fixed