Commit Graph

10220 Commits

Author SHA1 Message Date
Sergey Igushkin 3361f015a5 Model mapping: add toString implementation for legacy-mapped variants 2022-02-14 15:05:05 +00:00
Sergey Igushkin 730ba811f6 KPM: filter out duplicates from directRefinesDependencies 2022-02-14 15:05:04 +00:00
Sergey Igushkin 882fd94e59 KPM: don't compile single-platform Native fragments to metadata KLIBs 2022-02-14 15:05:04 +00:00
Sergey Igushkin 52e8f1a32d KPM: consider implementation dependencies as direct module dependencies 2022-02-14 15:05:04 +00:00
Sergey Igushkin a58f04e30b KPM: add module name to directory names in the sources JAR
For example, it will now be `common` -> `commonMain`, so that the
behavior emulates the sources JARs built by the stable MPP plugin
2022-02-14 15:05:03 +00:00
Sergey Igushkin 6546ebd248 KPM: In Native variants, expose the implementation dependencies as API
This simulates the behavior of the stable plugin which also exposes the
implementation dependencies in the Native targets.
2022-02-14 15:05:03 +00:00
Sergey Igushkin f5a400a0eb KPM: Fix JAR naming: put the platform name into appendix, not classifier 2022-02-14 15:05:02 +00:00
Sergey Igushkin c21123cec8 KPM: Add the JVM JAR artifact to the projects archives configuration
This automatically sets up the dependency between the `assemble` task
and the task building the JAR
2022-02-14 15:05:02 +00:00
Sergey Igushkin 29fe11b957 KPM: change detection of single-platform fragments to support WASM
The previous predicate checked only for JVM/Android and JS, now the
check is independent of the particular platform
2022-02-14 15:05:01 +00:00
Sergey Igushkin 43f7d0fe95 KPM: print fragment names in the error from illegal refines(...) calls 2022-02-14 15:05:01 +00:00
Anton Lakotka e237072a68 [MPP, KPM]: Add test runner for KPM Model Mapping
Add new testKpmModelMapping task that will inject
`kotlin.kpm.experimentalModelMapping=true` property for all
testSuites that implements `BaseGradleIT`.
2022-02-14 15:05:01 +00:00
Anton Lakotka c5f0cea9a1 [MPP]: Add support for old Gradle BasePluginConvention
BasePluginConvention was deprecated in favor of BasePluginExtension
which was introduced in 7.1. So it should be supported until 8.0
where it will be removed.
2022-02-14 15:05:00 +00:00
Anton Lakotka f1261bd799 [MPP, KPM]: Generate KpmNativeVariants from KonanTargets 2022-02-14 15:05:00 +00:00
Anton Lakotka bfd5ec3e39 [MPP, KPM]: Use new configureSingleVariantPublication API 2022-02-14 15:04:59 +00:00
Anton Lakotka 4bc1804f23 [MPP, KPM]: Use new configureSingleVariantPublication API 2022-02-14 15:04:59 +00:00
Anton Lakotka 349bcca9e5 [MPP, KPM]: Include sources into publication of LegacyMappedVariant 2022-02-14 15:04:59 +00:00
Sergey Igushkin 0f251477e9 KPM: reshape the API for setting up publications
Accept a more structured requests for setting up publication.

Allow passing lower-level overrides for publication
settings of a particular configuration,
which is needed to set up legacy targets'
publications in KPM.
2022-02-14 15:04:58 +00:00
Sergey Igushkin 8676685ebc Adjust KPM publication for legacy model publication requirements 2022-02-14 15:04:58 +00:00
Sergey Igushkin 42fa23398b KPM publication setup: use lowercase artifact IDs 2022-02-14 15:04:57 +00:00
Sergey Igushkin 87c3a1b531 Prototype reverse model mapping: represent legacy-only targets in KPM 2022-02-14 15:04:57 +00:00
Sergey Igushkin 57b85e155c KPM/Gradle: don't include host-specific klibs into the common metadata 2022-02-14 15:04:56 +00:00
Sergey Igushkin c3fe4e7fb2 KPM/Gradle: disable metadata compilations for JVM & JS shared fragments 2022-02-14 15:04:56 +00:00
Sergey Igushkin dbb34a44f0 Map Kotlin/Native compilation to the supported-platform KPM variants 2022-02-14 15:04:56 +00:00
Sergey Igushkin c67f80e1f3 Map Kotlin/Native compilation to the supported-platform KPM variants 2022-02-14 15:04:55 +00:00
Sergey Igushkin 736a33b182 Fix missing K/N compilation task dependency in the compilationOoutputs 2022-02-14 15:04:55 +00:00
Sergey Igushkin 992f7bf3c1 Disable o.j.k.multiplatform publications with KPM model mapping 2022-02-14 15:04:54 +00:00
Sergey Igushkin bc65bb0775 Improve friend paths calculation in KPM: use actual resolution results
Avoid adding compilation outputs of all variants to the friend paths, as
this leads to false task dependencies, and also the real file system
paths on the classpath may not point to the compilation outputs and will
rather use the *Elements artifacts.
2022-02-14 15:04:54 +00:00
Sergey Igushkin 3f49217cc9 Prepare intermediate layer of model mapping in Kotlin compilations
Extract all logic and internal model that may be different in different
modes to a separate entity called "compilation details"
2022-02-14 15:04:54 +00:00
Sergey Igushkin 8753ea592f KPM-mapped-model: simple mapping of JVM variants 2022-02-14 15:04:53 +00:00
Sergey Igushkin bc8f795f71 Fix BasePluginConvention deprecation in KGP 2022-02-14 15:04:53 +00:00
Sergey Igushkin 2c6c2c3929 Improve registering resources tasks in compilations: support laziness 2022-02-14 15:04:52 +00:00
Sergey Igushkin 876ab4ae52 KPM minor fix registering JVM compilation classesDirs 2022-02-14 15:04:52 +00:00
Sergey Igushkin 0acf923d6a Rewrite the checks for the presence of KPM: adapt them to mapped models 2022-02-14 15:04:52 +00:00
Sergey Igushkin d495c5b604 Introduce a container for the KPM model for different kinds of projects 2022-02-14 15:04:51 +00:00
Sergey Igushkin a998e2d291 Model mapping experiment: map source sets to KPM fragments
TODO: keep type compatibility,
      inject the behavior in DefaultKotlinSourceSet
2022-02-14 15:04:51 +00:00
Yahor Berdnikau a26c7ace8b Remove accidentally left test debug parameters 2022-02-14 16:08:22 +03:00
nataliya.valtman d4d5c701fe Make statistic more readable 2022-02-11 17:23:38 +03:00
Yahor Berdnikau 322b10f1bb Fix changes in Android layout resources breaks incremental compilation
This only happens when project has 'kotlin-android-extensions' plugin
applied and 'experimental = true' flag is set. On changes in android
layout resources task was running full compilation instead running
incrementally.

^KT-51177 Fixed
2022-02-11 10:32:07 +00:00
Svyatoslav Kuzmich 4636f71076 [Wasm] Loader improvements
- Output ES modules instead of plain files
- Support -Xwasm-launcher=d8 for d8 shell used in tests and benchmarks.
- Reuse launcher generation logic in CLI and box tests runners.
- Create separate output directory for each box since
  there are multiple output files generated for each test.
- Stop using absolute paths in generate JS files
  to simplify running generated code on different machine
- Remove ">>>" from println output


Merge-request: KT-MR-5729
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com>
2022-02-10 22:59:44 +00:00
konstantin.tskhovrebov c08d42d6bb KT-50106 Add gradle property with global K/N linker flags
Clean NativePlatformLibsIT code
2022-02-10 20:22:50 +03:00
Abduqodiri Qurbonzoda 0d46d0d69b [WASM] Sync stdlib-gen template with actual source code 2022-02-10 10:23:22 +00:00
sebastian.sellmair 0a85f0dd34 [Gradle] Implement ideaImportDependsOn API for KTIJ-20989
This will rely on a task called `prepareKotlinIdeaImport` which,
if present, will be invoked by the IDE before import.


Co-authored-by: Sergey Igushkin <Sergey.Igushkin@jetbrains.com>

Merge-request: KT-MR-5688
Merged-by: Sebastian Sellmair <Sebastian.sellmair@jetbrains.com>
2022-02-09 13:43:29 +00:00
konstantin.tskhovrebov 003cb156bf KT-50106 Add gradle property with global K/N linker flags 2022-02-09 16:23:31 +03:00
nataliya.valtman d089d27bef Add proper kotlin version into http reports 2022-02-08 16:24:15 +00:00
Hung Nguyen d018031cbf KT-45777: Clean up build cache tests for incremental compilation
- Clean up BuildCacheRelocationIT.testKotlinIncrementalCompilation
 - Delete BuildCacheIT.testKotlinCompileIncrementalBuildWithoutRelocation
   as it is already covered by the test in BuildCacheRelocationIT
 - Add BuildCacheRelocationIT.testKotlinIncrementalCompilation_withClasspathSnapshot
- Updated BuildCacheRelocationIT.testKotlinIncrementalCompilation_withClasspathSnapshot
2022-02-08 18:07:38 +03:00
sebastian.sellmair 200cc9f75f [Gradle][MPP] Disabled CInteorp warning: Show cinterops instead of compilations
KT-51176
2022-02-08 09:22:15 +01:00
sebastian.sellmair 56de13fe2f [Gradle][MPP] Show (potential) warning on disabled cinterop commonization
^KT-51176 Verification Pending
2022-02-08 09:22:15 +01:00
Ilya Goncharov 77b367fe96 rra/ilgonmic/ic-to-compiler
[JS IR] Fix compilation in tests

[JS IR] Fix test after migrating IC to compiler

[JS IR] Fix memory leak

[JS IR] Move js ic to compiler

Merge-request: KT-MR-5673
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>
2022-02-07 11:40:16 +00:00
nataliya.valtman 56207abc27 KT-34862: Add kotlin build dir as output
build history files are non cacheable outputs
#KT-34862
2022-02-07 10:09:36 +00:00
Ilya Gorbunov 771eff503b stdlib-docs: Use local ext link to stdlib instead of default
When building kotlin.test docs, do not query kotlinlang.org
for stdlib package list, but use the one built locally beside.
This avoids build failures when the site is not available.
2022-02-05 06:21:49 +00:00