Commit Graph

6667 Commits

Author SHA1 Message Date
Abduqodiri Qurbonzoda e89893b6fd Optimize ArrayDeque tests run time 2020-01-24 05:52:18 +03:00
Ilya Gorbunov 8733d5f9ed ArrayDeque: avoid triggering JDK 1.6 bug in tests
Use System.arraycopy instead of Arrays.copyOfRange to
avoid triggering JDK-7174363 bug in copyOfRange.

Fix package of ArrayDequeTest
2020-01-24 01:39:48 +03:00
Andrey Uskov beb3165839 Added FUS extensions and new metrics for reporting statistics from gradle 2020-01-23 20:47:21 +03:00
Andrey Uskov bac0309a9b Added tests to gradle statistics reporter 2020-01-23 20:47:20 +03:00
Andrey Uskov 33d89e15b5 Metric description and anonymization rules added
Added metrics and their anonymization rules added. Persisted gradle
statistical information will not contain any sensitive information.
#KT-33404 Fixed
2020-01-23 20:47:19 +03:00
Andrey Uskov 763e02b3e8 Collecting performance information in Gradle plugin supported
The build performance information is collected during the build
when the Kotlin Gradle plugin is applied. Only hashed values are
saved if they may contain sensitive information. Numeric metrics
obtained on the basis of user's project are saved with random seed.
Persisted information is saved in gradleUserHomeDir.

#KT-33404 Fixed
2020-01-23 20:47:19 +03:00
Ilya Gorbunov 76759d3a5f Drop compatibility stub for experimental unsigned API from 1.3.0 2020-01-23 19:38:02 +03:00
Ilya Gorbunov 8f37ace9ee Finally drop deprecated mod functions from numeric types
#KT-26654
2020-01-23 19:28:22 +03:00
Roman Golyshev a2b2c47b51 KT-34795 Use maven(...) instead of maven { setUrl(...) } for gradle scripts generation
- Use new syntax in tests, but not in actual gradle files
- Reuse public `toKotlinRepositorySnippet` instead of private one
- ^KT-34795 Fixed
2020-01-23 13:45:16 +03:00
Abduqodiri Qurbonzoda 1203df7405 Deprecate floating point to integral types lesser than Int #KT-30360 2020-01-22 23:27:35 +03:00
Abduqodiri Qurbonzoda e459542e6f Add removeFirst(OrNull) and removeLast(OrNull) methods to MutableList 2020-01-22 23:22:28 +03:00
Abduqodiri Qurbonzoda b6849efd47 Common ArrayDeque 2020-01-22 23:22:21 +03:00
Alexander Udalov 3ca0f8a569 Fix incorrect message for new nullability assertion exception in 1.4
#KT-36026 Fixed
2020-01-22 14:41:20 +01:00
Ilya Matveev 2c66c3b0b6 Gradle, native: Allow setting destination directory for binaries
Issue #KT-29395 fixed
2020-01-22 17:29:32 +07:00
Ilya Matveev df46dfc63d Gradle, native: Don't pass to compiler missing klib files
We don't compile a klib if there are no sources for it (NO-SOURCE
checks). So, we need to take this fact into account and don't
pass such libraries to compiler in dependent modules. See also:
GH-2617 in the K/N repo.

This patch checks that a klib file exists before passing it to the
compiler.
2020-01-22 17:29:31 +07:00
Ilya Matveev ce45df2c96 Gradle, tests: Skip building in native binaries test for Groovy DSL
This test is one of the most time-consuming tests because
it builds a lot of final native binaries. Moreover, it exists
in two versions: for Groovy DSL and for Kotlin DSL. The only
difference between these versions is build script DSL.

This patch disables project building for the Groovy DSL version to
reduce total test execution time. Now this test only checks that
project configuration is successful. But it's enough to detect DSL
problems.
2020-01-22 17:29:30 +07:00
Ilya Matveev 01622f069e Gradle, native: Support exporting dependencies for static and shared libs
Issue #KT-35352 fixed
2020-01-22 17:29:30 +07:00
Alexander Udalov e34a207725 Implement KTypeProjection.toString
The implementation is checked by tests on typeOf.

 #KT-30071 Fixed
2020-01-21 19:34:01 +01:00
Ilya Chernikov 75441386e3 Use scripting cache earlier in the pipeline:
before initializing compiler and processing callbacks
2020-01-21 17:42:48 +01:00
Ilya Chernikov c7d9eaed40 Speed up REPL package member declaration provider
about 10-15% on specific test
also preparing test infrastructure for it
2020-01-21 17:42:48 +01:00
Ilya Chernikov 1b65ec75ad Immplement default cache in main-kts 2020-01-21 17:42:48 +01:00
Ilya Chernikov a4752087db Get rid of kotlinx.coroutines usage in saved script runner
to reduce dpendencies for the save dscipt running
2020-01-21 17:42:48 +01:00
Ilya Chernikov 5f15cacb1b Fix ivy mapping to the maven repos in main-kts 2020-01-21 17:42:48 +01:00
Ilya Chernikov d15d62a338 Check REPL snippet syntax before calling analysis
restores the behaviour of the GenericRepl implementation and fixes
issues then invalid code is being compiled
#KT-34888 fixed
2020-01-21 17:42:48 +01:00
Tsvetan 5f0e3018db KT-27856 Add contracts to Timing.kt lambdas (#1987) 2020-01-21 15:42:21 +03:00
Yaroslav Chernyshev 401baa35ab [Gradle, Native] Implement custom name for generated framework for XCode 2020-01-21 10:23:53 +03:00
Ilya Gorbunov 1336da8453 Rename Clock to TimeSource, ClockMark to TimeMark
Step 2: rename classes and interfaces.
Provide deprecated typealiases to smooth migration.
2020-01-21 03:28:35 +03:00
Ilya Gorbunov a11a25087a Rename Clock to TimeSource, ClockMark to TimeMark
Step 1: rename files
2020-01-21 03:28:35 +03:00
Ilya Gorbunov 15a441141f Update public API dump after KT-11567 codegen changes came into effect
The only questionable case left is a private companion
in a public interface, which is generated as a public synthetic field
2020-01-20 21:29:50 +03:00
Ilya Gorbunov 51c5fcc8b8 Drop experimental stdlib sourceset
Haven't used it after pre 1.3
2020-01-20 18:35:21 +03:00
Sergey Igushkin 796d4da9f5 Fix testLanguageSettingsConsistency with default language version 1.4 2020-01-20 16:37:51 +03:00
nataliya.valtman 578132ef1f CleanDataTask: use provider for input cleanStore 2020-01-18 11:34:21 +03:00
nataliya.valtman abd60b97f8 YarnPlugin: configuration should be required only at build phase 2020-01-18 11:34:20 +03:00
Alexander Udalov 55e29363dc Update test data for kotlinp
Inline functions require Kotlin compiler at least 1.3.50 if they were
generated by the compiler with API version >= 1.4. This is because since
API version 1.4, we've changed the generation scheme of parameter
nullability assertions and they now refer to methods from the standard
library which did not exist until 1.4. See
JvmSerializerExtension.writeInlineParameterNullCheckRequirement.
2020-01-17 20:40:35 +01:00
Zac Sweers 482874fdc1 Embed proguard/R8 rules in kotlin-reflect artifact jar
The Android build pipeline can extract embedded proguard configurations
from dependencies and merge them automatically. This adds a conservative
proguard configuration to the kotlin-reflect JVM artifact in support of
that. This focuses mostly on just retaining what's necessary for
kotlin-reflect's own functionality to operate, but could be expanded if
community feedback discovers other good candidate rules.

With this in place - most Android projects using R8 or Proguard should
Just Work™️ with kotlin-reflect.
2020-01-17 20:03:52 +01:00
Alexander Udalov ae395bda09 Do not depend on proguard directly in :kotlin-reflect:modularJar
This is useful if proguard is disabled with
-Pkotlin.build.proguard=false.
2020-01-17 19:58:27 +01:00
Sergey Igushkin 38feadcfe8 Fix non-existing files passed in classpath to Kotlin/JS compiler 2020-01-17 18:28:25 +03:00
Sergey Rostov 6ac21856cc NodeJsRootExtension, YarnRootExtension: introduce configuration phase
Some properties were calculated based on yarn and nodeJs version. So,
when version is changed properties were not updated. This change moves
calculation to the end of configuration phase and adds assertion to
ensure that version and other poperties are not changed
after configuration was done.
2020-01-17 13:44:57 +03:00
nataliya.valtman 9c08ea3bf1 Gradle: introduce CleanabeStore 2020-01-17 13:44:56 +03:00
Dmitriy Novozhilov 76b3964e96 Update testdata according to change compiler version to 1.4 2020-01-17 10:33:50 +03:00
Nikolay Krasko 7fa8c982b4 Advance version to 1.4 in libraries 2020-01-17 10:33:50 +03:00
Nikolay Krasko ca49672a7a Advance version to 1.4 2020-01-17 10:33:50 +03:00
Ilya Matveev 55e97fee09 Gradle, native: Don't use an arg file when compiler daemon is enabled
We pass compiler flags using an arg file if the compiler is executed
in a separate process because Windows limits maximal command line
length (see https://github.com/JetBrains/kotlin-native/issues/1999).

But for the compiler daemon we pass the args directly to the compiler
entry point method. So we can abandon using an arg file here.
2020-01-17 12:44:37 +07:00
Ilya Matveev 8158d34bda Gradle, native: Escape spaces in K/N compiler args
We use an argument file to pass arguments to the K/N compiler.
Earlier each line of such a file was treated by the compiler
as a separate argument. But this logic was updated some time
ago and now content for this file is treated as a space separated
list of arguments.

This patch takes this into account at the Gradle side and quotes
arguments written to the arg file.

Issue #KT-35934 Fixed
2020-01-17 12:44:37 +07:00
Abduqodiri Qurbonzoda 3cad1bbb51 Create method Collection.randomOrNull() #KT-35347 2020-01-16 22:25:53 +03:00
Nikolay Krasko b4ae1645ec Mute TCServiceMessageOutputStreamHandlerTest for 193 platform (KT-35938) 2020-01-16 20:37:58 +03:00
Nikolay Krasko 6963c81b40 Run tests in kotlin-gradle-plugin in repository working dir
Unify with other modules and make GradleNodeModuleBuilderTest work under
JPS.
2020-01-16 20:37:57 +03:00
Ilya Gorbunov e9cea3358d Do not use libraryJarWithoutIr as runtime output artifact
This avoids having both libraryJarWithoutIr and default jar artifact,
which points to the same path as libraryJarWithIr, in the dependent
projects' classpath.
Use libraryJarWithIr instead.
For local builds where libraryJarWithIr doesn't contain any IR, this
should have the same effect.
2020-01-16 16:01:56 +03:00
Ilya Gorbunov 3fabf9b6ad Add dependency in disabled jar task on custom libraryJarWithIr
jar task is disabled, but its artifact is still used through
the runtime configuration in the other projects.
In fact, dependent projects get both
libs/kotlin-stdlib-js-1.3-SNAPSHOT.jar
lib/dist/kotlin-stdlib-js-1.3-SNAPSHOT.jar
in their classpath.

However the former artifact is built with libraryJarWithIr task after
jar task is skipped. This leads to a situation during the parallel build
that a dependent project tries to read that artifact
when libraryJarWithIr task writes it.

This commit adds a dependency edge between the disabled jar and custom
libraryJarWithIr tasks, so that the artifact is ready by
the moment jar task has finished.
2020-01-16 16:01:55 +03:00
Ilya Gorbunov 09b1960dd0 Regenerate stdlib sources: update copyright year 2020-01-16 15:57:06 +03:00