Commit Graph

5675 Commits

Author SHA1 Message Date
Yahor Berdnikau 6a586fb731 Ensure Android SDK license files always have all license.
Sometime on CI it may happen that file already exists, but does not
contain all required licenses.
2021-03-29 13:59:05 +03:00
Nikolay Krasko b903f87704 Drop kotin/kotlinx and kotlin/kotlinx.html bintray usages (KTI-528) 2021-03-26 21:08:45 +03:00
Ivan Gavrilovic 19708cfa87 KAPT: Avoid evaluating apOptions from AGP too early
This is causing issues such as https://issuetracker.google.com/183423660.
Annotation processor options that are provided by the Android Gradle plugin
may contain references to files and file collections that are safe to
evaluate only at execution time. This change avoids eagerly creating
compiler plugin options for these options, as they are already a task input.

Test: AbstractKotlinAndroidGradleTests.testAgpNestedArgsNotEvaluatedDuringConfiguration

^KT-39715 In Progress
2021-03-26 15:14:35 +03:00
sebastian.sellmair 914ce22f6b [Minor] CommonizerIT: Optimize imports 2021-03-26 10:55:23 +00:00
sebastian.sellmair a0557ad937 CommonizerIT: Implement test commonizeInterop using posix APIs
^KT-45497
2021-03-26 10:55:22 +00:00
sebastian.sellmair 7f9fe6b332 [Commonizer] CInteropCommonizerTask: Provide custom/commonized native distribution dependencies
^KT-45497 Fixed
2021-03-26 10:55:22 +00:00
Ilya Matveev 22d6433cf6 [K/N][Gradle plugin] Do not propagate user.dir property to tools
In a Gradle process, the user.dir property is set to the directory
where the build was started. By default, if we start a child process
via project.javaexec, Gradle sets its working directory to the
directory of the current project. But passing Gradle's value of user.dir
to that process overrides this setting.

This makes tools started in a such way sensitive to directory the build
is started from.

This patch fixes this issue for K/N-related tools started
out-of-process by the MPP Gradle plugin. But this issue is still
relevant to in-process tool execution.
2021-03-26 12:38:28 +03:00
sebastian.sellmair ad7c8b7a07 KotlinToolingMetadata: Disable 'kotlin.mpp.enableKotlinToolingMetadataArtifact' by default 2021-03-25 15:16:08 +03:00
sebastian.sellmair 37aedba7ef KotlinToolingMetadata: Handle incompatible schemaVersions during json parsing 2021-03-25 15:16:07 +03:00
sebastian.sellmair 0406659ac8 BuildKotlinToolingMetadataTask: Strip _Decorated classes from target name 2021-03-25 15:16:06 +03:00
sebastian.sellmair 24ce6957a9 testProject/new-mpp-published: Replace jcenter with mavenCentral 2021-03-25 15:16:05 +03:00
sebastian.sellmair 0a732869e9 KotlinToolingMetadata: Add schemaVersion property 2021-03-25 15:16:04 +03:00
sebastian.sellmair 0119541462 KotlinToolingMetadata: Use Project property accessor for task 2021-03-25 15:16:03 +03:00
sebastian.sellmair 0a59301f8a KotlinToolingMetadata: Add stronger typing for target extras 2021-03-25 15:16:01 +03:00
sebastian.sellmair 896e77cd32 KotlinToolingMetadata.json: Add konanVersion and abiVersion as extras to KotlinNativeTarget 2021-03-25 15:16:00 +03:00
sebastian.sellmair ac8b4c1b79 Implement kotlin-tooling-metadata.json artifact
- Introduce new :kotlin-tooling-metadata project
- Create new buildKotlinToolingMetadata task by default
- Add `kotlin-tooling-metadata.json` to root mpp publications
- Add kotlin.mpp.enableKotlinToolingMetadataArtifact flag to disable kotlin-tooling-metadata.json artifact

^KT-44584 Verification Pending
2021-03-25 15:15:58 +03:00
Ilya Chernikov c3ec94ff82 FIR: copied 2 more gradle incremental IT for FIR
temporary, we need a proper test infrastructure to run all gradle IT
with FIR
2021-03-24 21:24:20 +01:00
Ilya Chernikov 2d9c0e137f Add gradle ITs witn IC and FIR 2021-03-24 21:24:20 +01:00
Ilya Chernikov a11f6d2e50 Add support for gradle option useFir and appropriate property...
`kotlin.useFir`
2021-03-24 21:24:20 +01:00
Yahor Berdnikau 48599e3768 Bump advance Gradle version in tests to '7.0-rc-1'.
- Add missing dependency on ':kotlin-serialization' required
 by some tests.
- Add additional location for libcurl on Linux machines.
2021-03-24 21:14:48 +03:00
Ilya Goncharov b385650bf0 [Gradle, JS] Use patch only for webpack 5
^KT-45621 fixed
2021-03-24 15:17:12 +03:00
Ilya Goncharov 4107378d2c [Gradle, JS] Add workaround for debugging with webpack 5
^KT-45621 fixed
2021-03-24 15:17:11 +03:00
Ilya Goncharov fef1892219 [Gradle, JS] Changed API for warnings filter in Webpack 5
^KT-45621 fixed
2021-03-24 15:17:10 +03:00
Ilya Goncharov a113df8c43 [Gradle, JS] Use karma 6.0 API to set ping timeout
^KT-45621 fixed
2021-03-24 15:17:09 +03:00
Ilya Goncharov f318951b64 [Gradle, JS] Fix packages with hardcoded display name
^KT-45621 fixed
2021-03-24 15:17:07 +03:00
Yahor Berdnikau d46ad6c0ad Fix kapt creates output directories on configuration phase.
Gradle will create such directories itself. Also it should fix build
cache issue with kapt tasks - build cache was disabled
 due to the 'overlapping outputs'.

 ^KT-45532 Fixed
2021-03-23 15:20:35 +03:00
hungvietnguyen 7c4225b9d1 [Kapt] Ensure flag names and default values are consistent
Group flag names and default values in one place to make the code easier
to read and prevent mistakes and inconsistencies.
2021-03-23 10:41:28 +03:00
Vyacheslav Karpukhin 499ffd610a AndroidDependencyResolver: codestyle fixes after review 2021-03-22 22:29:12 +01:00
Vyacheslav Karpukhin ac8d135a21 AndroidDependencyResolver:
1. Correctly process project dependencies
2. Don't include variant-specific dependencies into more generic sourcesets
2021-03-22 22:29:12 +01:00
Yahor Berdnikau 6473d2a7c8 Bump advanced Gradle version to 7.0-milestone-3.
Fixed test setup that causes test failures.

^KT-44949 In Progress
2021-03-22 17:02:27 +03:00
Ivan Gavrilovic 093c8bfbb6 Register KAPT incremental apt cache as local state
This is so that incremental caches are removed on
non-incremental task run.
2021-03-22 15:59:20 +03:00
Alexander Udalov 415d52fe54 Deprecate KotlinJvmOptions.useIR
Starting from language version 1.5, JVM IR is enabled by default, so
this option has no effect. To rollback to the old JVM backend, the new
option useOldBackend can be used.

 #KT-45504 Fixed
2021-03-19 14:57:55 +01:00
Alexander Likhachev 008e2636b7 [Gradle] Prevent early capturing of project build dir in KotlinCompile
#KT-45301 Fixed
2021-03-18 19:51:08 +00:00
Ilya Goncharov 2fd8620551 [Gradle, JS] Support custom display name in npm versions generator
^KT-42921 fixed
2021-03-18 21:32:15 +03:00
Ilya Goncharov a291895ebe [Gradle, JS] Add compatibility with webpack 4
^KT-42921 fixed
2021-03-18 21:32:14 +03:00
Ilya Goncharov a1a01a1428 [Gradle, JS] Use compatible node version
^KT-42921 fixed
2021-03-18 21:32:12 +03:00
Ilya Goncharov b2a2616c10 [Gradle, JS] Fix of using format-util
^KT-42921 fixed
2021-03-18 21:32:11 +03:00
Ilya Goncharov 965426bbd9 [Gradle, JS] Webpack serve for webpack-dev-server
^KT-42921 fixed
2021-03-18 21:32:10 +03:00
Ilya Goncharov 5827ed3f05 [Gradle, JS] Update versions with karma-webpack 5.0.0
^KT-42921 fixed
2021-03-18 21:32:08 +03:00
Ilya Goncharov 1b8c74337e [Gradle, JS] Adopt Gradle plugin to webpack 5
^KT-42921 fixed
2021-03-18 21:32:07 +03:00
Ilya Goncharov a06feaf819 Add possibility to hardcode version
^KT-42921 fixed
2021-03-18 21:32:05 +03:00
Ilya Goncharov a61312120b [Gradle, JS] WA for tests with multiple binaries 2021-03-18 20:07:48 +03:00
Ilya Goncharov 8ffe70cb4d [Gradle, JS] Use one folder for sync tasks 2021-03-18 20:07:47 +03:00
Ivan Gavrilovic 875ef73371 KT-45519: Get AGP version only once per classloader
Memoize AGP version per classloader, instead of computing
it once per project.

Fixes #KT-45519
2021-03-18 12:08:04 +03:00
Alexander Udalov 27174de891 Add JVM target bytecode version 16
#KT-45515 Fixed
2021-03-17 21:31:08 +01:00
sebastian.sellmair f4b840467f CommonizerIT: Mark Windows as non-executable target 2021-03-17 10:55:46 +00:00
Dmitriy Dolovov fc4f66b702 [Commonizer] Change the main package name
org.jetbrains.kotlin.descriptors.commonizer -> org.jetbrains.kotlin.commonizer
2021-03-17 13:34:06 +03:00
Andrey b7dc1e64b1 [KAPT] Disable JPMS when running annotation processing
If sources contain module-info.java javac tries to validate modules existence/visibility during AP phase and fails, because we don't specify modules-path/patch-module. All these checks will be done in kotlin compiler and in javac for java classes. And it is not necessary to do it in AP too.
So we go for easiest path possible - disable jpms for AP. 

#KT-32202 Fixed
2021-03-17 11:10:27 +03:00
sebastian.sellmair f6e8afcbcc Move Gradle property 'kotlin.commonizer.jvmArgs' to 'kotlin.mpp.commonizerJvmArgs' 2021-03-16 15:47:27 +00:00
sebastian.sellmair 56661068bd CommonizerIT: Reuse DISABLED_NATIVE_TARGETS_REPORTER_WARNING_PREFIX instead of hardcoded string 2021-03-16 15:47:26 +00:00