Commit Graph

5976 Commits

Author SHA1 Message Date
nataliya.valtman 6a32e7bd5a Add typealias testcase for incremental compilation 2021-06-18 16:50:17 +03:00
Yahor Berdnikau 7aa882b921 Add test for multiplatform plugin.
^KT-43095 In Progress
2021-06-18 10:50:26 +00:00
Yahor Berdnikau 0f1da3c412 Make GradleCompileTaskProvider compatible with configuration cache.
Refactor it such way that it could be used via Provider and
don't raise configuration cache errors.

^KT-45611 In Progress
^KT-43095 In Progress
2021-06-18 10:50:26 +00:00
Yahor Berdnikau 84ec4106f7 Don't set toolchain if it is not configured.
Before even when user did not configure toolchain, default toolchain
was still created, but with recent changes it does not make sense.

^KT-43095 In Progress
2021-06-18 10:50:25 +00:00
Yahor Berdnikau 1c9b013732 Change dsl method to 'jvmToolchain'.
This better reflects that applying toolchain only affects jvm
backend compilations.

^KT-43095 In Progress
2021-06-18 10:50:24 +00:00
Yahor Berdnikau 1a6bb5cd08 Allow to pass any object for 'jdkVersion'.
This object should be accepted by 'JavaVersion.toVersion' method.

^KT-45611 In Progress
2021-06-18 10:50:23 +00:00
Yahor Berdnikau 46d5df4991 Consider toolchain only as input for 'jdkHome' compilation option.
This change will limit toolchain scope only to the JVM compilations,
as Kotlin compiler itself does not care about JDK version it is running
 on and should always produce same output for non-JVM backends.
For JVM backend there is one condition - 'jdkHome' should always point
 to the same JDK version.

Few additional changes:
- allow to set specific JDK location even on Gradle versions 6.7+
- Fix typo in deprecation message

^KT-45611 In Progress
^KT-43095 In Progress
2021-06-18 10:50:23 +00:00
Viacheslav Kormushkin 0b6d2cd21a Custom name support for fat frameworks
#KT-30805
2021-06-18 06:28:01 +00:00
Vyacheslav Gerasimov 58f1fb644f Build: Stop publishing jars with original classifier
#KTI-580
2021-06-17 19:43:10 +03:00
Vyacheslav Gerasimov a0469a1d62 Build: Make Gradle plugin publications reuse POMs from the main one
#KTI-571
2021-06-17 19:43:07 +03:00
Nikita Nazarov 7e44cddbab Introduce the fragment compiler backend to the debugger infrastructure 2021-06-16 13:58:18 +03:00
sebastian.sellmair 6dd598c7a7 [Gradle] Enable Kotlin tooling metadata artifact by default
^KT-44584
2021-06-16 09:44:32 +00:00
nataliya.valtman d42a6771b0 Update statistics that should be sent to ES
Next properties should be set in gradle.properties or via -D option:
systemProp.kotlin.plugin.stat.password
systemProp.kotlin.plugin.stat.user
systemProp.kotlin.plugin.stat.enabled=true
systemProp.kotlin.plugin.stat.label
systemProp.kotlin.plugin.stat.endpoint=es_endpoint/index/_doc
kotlin.build.report.verbose=true
kotlin.build.report.enable=true
2021-06-11 19:12:05 +03:00
Yahor Berdnikau da25d58fa7 Control cache redirector status in test via project settings.
Test will use project `gradle.properties` file to get current
cache redirector status, so it could be controlled from one place.

^KT-47185 Fixed
2021-06-11 11:44:36 +00:00
Yahor Berdnikau 7b1db6992e Enable cache redirector for old tests setup.
^KT-47185 Fixed
2021-06-11 11:44:35 +00:00
Yahor Berdnikau e98de36aaa Enable cache redirector for Junit5 tests.
^KT-47185 In Progress
2021-06-11 11:44:34 +00:00
Viacheslav Kormushkin 3c0709cf4f A new DSL for framework configuration within cocoapods block
#KT-46479
#KT-35723
2021-06-11 11:10:49 +00:00
sebastian.sellmair 1bcafd3cd0 [Gradle] commonizeCInterop task: Require hierarchical commonization to be enabled
^KT-47133 Verification Pending
2021-06-11 07:03:24 +00:00
Yahor Berdnikau a383c1ce79 Ensure kapt tasks don't capture sources state in configuration cache.
Kapt tasks have captured sources state inside SourceRoots container
internal collection, that was cached by configuration cache.
This lead to the compilation errors whenever sources files
were changed (deleted or renamed), because kapt still expected
previous file state to exist.

Now SourceRoots will not create internal collection, but rather
reuse standard Gradle FileCollection methods that perform required
calculations dynamically.

^KT-46651 Fixed
2021-06-10 20:00:39 +00:00
Yahor Berdnikau 3d36e11e80 Make 'kapt.verbose' property compatible with configuration cache.
^KT-46651 In Progress
2021-06-10 20:00:38 +00:00
Sebastian Sellmair 4e7460d91f Merge KT-MR-3320 from rra/sellmair/kt-46957-enable_linuxMips32_in_tests 2021-06-10 09:14:17 +00:00
Yaroslav Chernyshev 6f8b3f22ca Fix adding non-directory to resources for Android source set
#KTIJ-17113 Fixed
2021-06-10 10:26:42 +03:00
Nikolay Krasko 32f811e0ec Build: Cleanup old platforms from the build 2021-06-09 17:43:53 +03:00
Alexander Likhachev 9a4ff6e201 [Gradle, JS] Add libraries filter caching in compile task
Previously any compile task was honestly reading dependency metadata from filesystem to check whether it's K/JS module even if another compile task already tested this dependency. Now the result of check is cached in build service that is cleared after build finish. It can save many rebuild time on incremental compilation of complex projects.
#KT-47154 Fixed
2021-06-09 17:25:56 +03:00
Pavel Kirpichenkov d76bb45716 [Commonizer] Add CommonizerHierarchicalIT
Test platform dependencies on leaf source sets
^KT-46716 Verification pending
2021-06-09 12:49:07 +00:00
Pavel Kirpichenkov 5f7576e546 [Commonizer] Use original K/N distribution libraries for leaf targets
^KT-46716
2021-06-09 12:49:04 +00:00
Ilya Goncharov dd9ea9f9eb [Gradle, JS] Actualize versions of npm dependencies
^KT-46608 fixed
^KT-47176 fixed
2021-06-09 14:49:33 +03:00
nataliya.valtman 117c99aee6 send build stat to ES 2021-06-09 13:25:10 +03:00
Sergey Igushkin 14a7e90c69 KT-38954: Filter Android attributes during publishing
* Always filter out the variant name attribute: it is never requested
  by consumers, while its presence makes Gradle count it as an
  unmatched attribute, sometimes leading to ambiguity;

* Filter out the build type attribute: if all variants have the same
  build type, then remove the build type attribute from all variants;
  Otherwise, remove the build type attribute from the release variants
  in order to make them compatible with all other consumer's build 
  types.

  * Add an opt-out flat for always keeping the attribute:
    "kotlin.android.buildTypeAttribute.keep" Gradle property

Issue #KT-38954 Fixed
2021-06-09 10:18:15 +00:00
sebastian.sellmair f9901a5d50 [Commonizer] CommonizerIT: Enable linuxMips32 target
^KT-46957
2021-06-09 11:47:57 +02:00
Yahor Berdnikau ec705d88a5 Allow to enable Gradle debug for particular builds.
^KT-45745 In Progress
2021-06-08 21:05:39 +02:00
Yahor Berdnikau 90238978ee Update block to print build info on error.
^KT-45745 In Progress
2021-06-08 21:05:38 +02:00
Yahor Berdnikau b0b646037e Print build output on build result assertion failure.
^KT-45745 In Progress
2021-06-08 21:05:38 +02:00
Yahor Berdnikau 5b60ef7d54 Allow to enable force output for specific builds.
^KT-45745 In Progress
2021-06-08 21:05:38 +02:00
Yahor Berdnikau 8b17888a18 Fix typo in annotation name.
^KT-45745 In Progress
2021-06-08 21:05:35 +02:00
Anton Lakotka c8b9a3a6f0 Disallow unsafe reads of KPM PluginData from Compile Task 2021-06-08 15:49:05 +00:00
Anton Lakotka 52abecab43 Rename sensitive flag to isTransient and inverse logic, add file outputs
isTransient with default value as false makes it a bit more readable
Some Compiler Plugins can use file outputs properties to dump some data
there and gradle can support incremental build
with file outputs.
2021-06-08 15:49:05 +00:00
Anton Lakotka 70a2678bbc Add integration test for kpm compiler plugin sensitive options 2021-06-08 15:49:04 +00:00
Anton Lakotka c01be75f47 Reuse code in MetadataCompilationTasksConfigurator for native task 2021-06-08 15:49:03 +00:00
Anton Lakotka 28fe070a2f Track plugin options with indices 2021-06-08 15:49:02 +00:00
Anton Lakotka bc7ff04f1f Store sensitive plugin options in Task inputs 2021-06-08 15:49:01 +00:00
Anton Lakotka 9e084a7256 Fix overload call of project.files in abstractVariants.kt 2021-06-08 15:49:01 +00:00
Anton Lakotka 26a2509ebb Add basic test for Kotlin Project Model compiler plugins 2021-06-08 15:49:00 +00:00
Anton Lakotka a0fb5c31ea Don't configure runtimeDependencyFiles during variant instantiation 2021-06-08 15:48:59 +00:00
Anton Lakotka 5a58c1c437 [Kotlin Project Model] Add compiler plugin support 2021-06-08 15:48:58 +00:00
konrad.sztenderski e338c5651b Expose some methods and properties related to Cocoapods dependencies to access them in Apple gradle plugin 2021-06-07 21:28:07 +02:00
Pavel Punegov e8490f950a Chose archive name depending on the version of the compiler 2021-06-06 14:44:34 +00:00
Pavel Punegov ca3150163d Use old archive naming in the NativePlatformLibsIT test 2021-06-06 14:44:33 +00:00
Ilya Goncharov ce78457eaa [Gradle, JS] Use replace by just string, not regexp in webpack config
^KT-43379 fixed
2021-06-03 17:55:05 +03:00
Ilya Goncharov 8c38c4a8e7 [Gradle, JS] Add dependency from packageJson task on included build's rootPackageJson 2021-06-03 17:55:04 +03:00