This should protect from cases when CompositeMetadataArtifact got
polluted due to some bugs or user misconfiguration.
One of the cases is when resource file is added to common source set.
In this case due to KT-66563 bug, resources will be mixed in to the
KLIB content. But if for some source set there is no sources.
Then in composite metadata artifact will be only the resources.
And previous implementation of CompositeMetadataArtifactImpl treated
that content as Metadata KLIB, however the metadata compiler didn't.
And thus it was failing with. This change makes it stricter.
Now it checks for `default/manifest` entry. This entry is considered
a sane check for KLIB content.
^KT-65315 Verification Pending
ZEPHYR was the first and the last experimental KonanTarget.
As ZEPHYR is now entirely removed from the codebase, the respective code
can be dropped
^KT-64517
Remove plain references to removed KonanTarget or Family entries. All
the changes in this commit are simple removal of some when-branches
on now dropped entries
^KT-64517
Creating `tar` process is not supported by configuration cache.
Inner Gradle copy and archive operations don't work well with symlinks.
That is why we are using utils from org.apache.commons:commons-compress.
^KT-66422 Fixed
This checker was added to check that k/n home was correctly overridden.
With k/n toolchain we always download k/n distribution.
That is why when k/n toolchain is enabled we don't need this check.
^KT-65624 Fixed
Resolving such dependencies was lenient, however it produced
a lot of annoying error messages in the IDE. Because "file not found".
KGP already warns user if they are declared Apple-specific targets
on non-macos machine.
^KT-66514 Verification Pending
It was failing with ClassCastException in an attempt of using it.
Also added a test case to cover the logic with friendArtifactResolver
^KT-66431 Verification Pending
Sometimes native variants might depend on java-api dependencies.
Resources configuration doesn't have compatibility rules for these and fails to resolve them.
^KT-66393
... with metadata dependencies. As it can cause unexpected version
downgrades.
This change restores behavior that existed previous versions. While
the separation between different source set trees remained.
The proper implementation should be done as part of KT-66375.
Related tests that were verifying the fact that platform dependencies
are also resolved consistently is ignored with reference to KT-66375
^KT-66372 Verification Pending
^KT-66154 Verification Pending
^KT-66375