Commit Graph

335 Commits

Author SHA1 Message Date
Vyacheslav Gerasimov 0089de7f7f Build: Workaround dependency cycle in kotlinCompilerPluginClasspath
When bootstrap version is less than from current version dependencies
of `kotlin-scripting-compiler-embeddable` are resolved into projects
which leads to circular dependencies

 #KT-33287
2019-08-13 18:03:04 +03:00
Mikhail Zarechenskiy e09ae645b3 Advance bootstrap version to 1.3.60-dev-770
Follow-up of KT-33157.
 This is needed to have proper signatures in stdlib afte the fix (80acc56c10)
2019-08-07 17:29:44 +03:00
Vyacheslav Gerasimov 0571f90762 Build: Add kotlin.build.jar.compression property
Is `true` on teamcity and `false` locally by default

 #KT-32573
2019-08-06 15:40:40 +03:00
Ilya Gorbunov b2753a22a2 Advance bootstrap to 1.3.60-dev-607 2019-08-04 06:01:56 +03:00
Ivan Cilcic f3a7db2428 Add auto test in gradle (light tree)
Additionally removed benchmarks from auto test because they require manual setting.
Instruction was also added.
2019-08-01 15:14:29 +03:00
Dmitriy Novozhilov a0f339ffc7 [Misc] Enable @Experimental project-wide 2019-07-30 12:41:36 +03:00
Alexey Tsvetkov a16e03681b Substitute kotlin-reflect in compileOnly configurations too
This fixes running IDEA with JPS build.
Gradle only uses compileClasspath configurations
for compilation. Hence the substitution introduced in 5c99243c10
affected only compile tasks (without affecting existing POMs).

However, Intellij import also looks into compileOnly configurations
in order to determine PROVIDED dependencies.
Only dependencies, that are present in both
compileOnly and compileClasspath confgurations,
are considered to have PROVIDED scope.

The substitution was replacing kotlin-reflect with kotlin-reflect-api
in compileClasspath configuration. CompileOnly configurations still resolved
to kotlin-reflect, so a compileOnly dependency to kotlin-reflect
would result in kotlin-reflect-api dependency with COMPILE scope in
IDEA.
This is exactly what happened in 'idea-runner' module, thus breaking
running IDEA from JPS build.

This change fixes the issue by configuring the same substitution
for compileOnly configurations.
2019-07-29 19:48:10 +03:00
Alexey Tsvetkov 5c99243c10 Substitute kotlin-reflect with kotlin-reflect-api in compile classpath
Currently Kotlin IC can only track changes in "default" jar files by
associating a history of ABI diffs with a source set's jar file.

kotlin-reflect is a non-default fat jar, which causes
non-inremental builds when it gets changed and included in
a compile classpath. To avoid this problem, kotlin-reflect-api
project was added. It is assumed that only kotlin-reflect-api
should be used for compilation.

However, Gradle is known to leak transitive runtime dependencies
to a compile classpath, i.e. when `:b` has a runtime dependency on `:a`,
and `:c` has a compile dependency on `:b`, `:c` also gets `:a`
in its compile classpath.

Before this change kotlin-reflect was leaked to compiler tests's
classpath through kotlin-scripting-compiler-impl.

To work around this issue, and to prevent similar issues from happening,
this change introduces a dependency substitution from kotlin-reflect
to kotlin-reflect-api in all compile classpath configurations.

        #KT-32954 Fixed
2019-07-25 16:09:32 +03:00
Alexey Tsvetkov 33b7745b17 Find only non-default shadow jars in findShadowJarsInClasspath diagnostic
We are interested only in shadow jars that might break the incremental compilation
2019-07-25 16:09:31 +03:00
Alexey Tsvetkov a7403b7ee7 Do not fork java compile tasks when current JDK can be used
I see the following improvements:
* `clean dist --parallel` is ~10% faster (from 3:40 to 3:20)
* incremental `dist --parallel` is ~50% faster
(adding public method to org.jetbrains.kotlin.utils.SmartList)

    #KT-32955 Fixed
2019-07-25 16:03:07 +03:00
Alexey Tsvetkov a372f181d2 Check JDK env vars once during configuration when not syncing
Previous code (callback in `beforeTask`) was added to allow
opening project without setting up all env. variables.
This change simplifies the code and avoids a callback,
while keeping the ability to open the project without
setting up all variables by checking `kotlinBuildProperties.isInIdeaSync`
2019-07-25 16:03:07 +03:00
Alexey Tsvetkov a20627fa2c Set sourceCompatibility and targetCompatibility for JavaCompile tasks
Currently running build with JAVA_HOME pointing to
any JDK != 1.8 results in errors like

    #KT-30382 Fixed
2019-07-25 16:03:07 +03:00
Alexey Tsvetkov 7c6f48df39 Revert "Set sourceCompatibility and targetCompatibility for JavaCompile tasks"
This reverts commit 290aded9
2019-07-03 12:47:36 +03:00
Alexey Tsvetkov 2a3bb2968e Revert "Call configureJvmProject once per project in afterEvaluate"
This reverts commit 33de71f7
2019-07-03 12:47:23 +03:00
Alexey Tsvetkov ab6174defd Revert "Check JDK env vars once during configuration when not syncing"
This reverts commit 48b86bba
2019-07-03 12:47:10 +03:00
Alexey Tsvetkov aa7aff84fc Revert "Do not fork java compile tasks when current JDK can be used"
This reverts commit f2021b58
2019-07-03 12:46:50 +03:00
Ilya Matveev fd1fc7d28a Gradle: Support K/N restricted distribution
Restricted distribution is a K/N distribution built for MacOS only
alongside with a regular distribution and containing no platform
libraries for MacOS. This commit allows switching between
distribution types using a special project property.

Issue #KT-32301 Fixed
2019-07-02 19:46:49 +07:00
Alexey Tsvetkov f2021b580e Do not fork java compile tasks when current JDK can be used
I see the following improvements:
* `clean dist --parallel` is ~10% faster (from 3:40 to 3:20)
* incremental `dist --parallel` is ~50% faster
(adding public method to org.jetbrains.kotlin.utils.SmartList)
2019-07-02 15:18:19 +03:00
Alexey Tsvetkov 48b86bba69 Check JDK env vars once during configuration when not syncing
Previous code (callback in `beforeTask`) was added to allow
opening project without setting up all env. variables.
This change simplifies the code and avoids a callback,
while keeping the ability to open the project without
setting up all variables by checking `kotlinBuildProperties.isInIdeaSync`
2019-07-02 15:18:19 +03:00
Alexey Tsvetkov 33de71f792 Call configureJvmProject once per project in afterEvaluate
Calling it twice does not seem to make sense now
2019-07-02 15:18:19 +03:00
Alexey Tsvetkov 290aded94f Set sourceCompatibility and targetCompatibility for JavaCompile tasks
Currently running build with JAVA_HOME pointing to
any JDK != 1.8 results in errors like

    #KT-30382 Fixed
2019-07-02 15:18:19 +03:00
Vyacheslav Gerasimov db3b01d2d4 Build: Centralize compiler dist build logic in :kotlin-compiler project 2019-06-27 17:56:48 +03:00
Pavel Punegov 85210d5db0 Update zipTestData: use zip64, add coroutineTestUtil and remove stdlib tests 2019-06-19 14:43:36 +03:00
Kirill Shmakov 0df8b7f610 Support ultimate transition
KOTLIN-CR-3025
2019-06-15 11:25:43 +03:00
Nicolay Mitropolsky 2a5be78db3 Kotlinx-coroutines version set to 1.2.1 for IDEA 192 2019-06-14 20:05:23 +03:00
Leonid Startsev b78d84c120 Add some tests for kotlinx.serialization plugin:
- declaration checker
- bytecode listings
- JVM IR

Improve @Transient redundant reporting
2019-06-11 19:32:40 +03:00
Vyacheslav Gerasimov 16b9c15133 Build: Don't run checkBuild tasks on check, add checkBuild to buildSrc 2019-06-07 17:38:16 +03:00
Svyatoslav Kuzmich cd651be461 [JS IR BE] Migrate JS BE to common klib utils 2019-06-05 11:15:45 +03:00
Dmitriy Dolovov bbdb5e5f0f Reworked joint build (kotlin + kotlin-ultimate)
- Root buildscript classpath no more depends on buildSrc.jar from kotlin-ultimate. This allows to have stable joint builds - w/o occasional "Unresolved reference" errors in buildscripts.
- kotlin-ultimate modules are now included into Kotlin project when two conditions are met: 1) Gradle parameter 'cidrPluginsEnabled' is turned on; 2) kotlin-ultimate Git repo is checked out right to the Kotlin project root (assuming there is 'kotlin-ultimate' directory inside the project root).
2019-06-04 08:42:22 +03:00
Yan Zhulanow ae7550c5af Move out JVM debugger functionality 2019-05-30 15:27:07 +09:00
Vyacheslav Gerasimov 6a38cb050f Build: Add property for internal kotlin repo 2019-05-29 15:08:05 +03:00
Vyacheslav Gerasimov 2ce961a662 Build: Add kotlin-dependencies repo & update dx coordinates 2019-05-29 15:08:05 +03:00
Ilya Matveev cfb8e75829 Revert "Use kotlin-native-shared in the Gradle plugin"
This reverts commit c9ed648303.
2019-05-28 20:26:29 +03:00
Alexander Udalov d05e72dda8 Update bootstrap to 1.3.50-dev-526 2019-05-28 11:33:34 +02:00
Alexey Tsvetkov ad7de948f6 Update bootstrap
The new version fixes NSME from CoreJarFileSystem (KT-31574)
Also see 6addb24e4b
2019-05-27 13:08:34 +03:00
Ilya Chernikov e7c99cd494 Fix scripting-compiler tests, add them to the global scriptingTest task 2019-05-25 10:10:34 +02:00
Ilya Chernikov b97813f2b0 Implement test run on embeddable jars for jsr223 and scripting host tests...
also:
- add missing tests to the global scriptingTests task
- extract jsr223 tests into separate project
- fix dependency in jsr223 embeddable jar
2019-05-25 10:10:33 +02:00
Ilya Chernikov 1dd197f201 Add missing scripting tests to the global task, make them parallel 2019-05-25 10:10:30 +02:00
Sergey Bogolepov cc26fd143e Shiny new shared version. 2019-05-24 12:39:55 +03:00
Vyacheslav Gerasimov b88d9d62b8 Build: Extract cache redirector to script & add verification task 2019-05-23 18:11:29 +03:00
Vyacheslav Gerasimov 2bbf92a6c3 Build: Remove unused ktor repo from buildscript block 2019-05-23 18:11:28 +03:00
Vyacheslav Gerasimov 7e61183ee1 Build: Move kotlinNativeRepo to :kotlin-gradle-plugin
the only one project using it
2019-05-23 18:11:28 +03:00
Mikhail Glukhikh f4fdc66a34 Introduce experimental FIR compiler #KT-31265 Fixed
This commit also includes several FIR2IR fixes which helps FIR compiler
to produce normal results
2019-05-23 14:02:06 +03:00
Ilmir Usmanov e7c78d8d7e Update bootstrap
Update reference public API. Before 266976ac1e
suspend inline functions with crossinline parameters were effectively
inline-only. Fixing it exposed suspendCoroutine as public API.
Update jps artifacts after bootstrap.
2019-05-23 09:28:31 +03:00
Ilya Kirillov ff774f6249 New J2K: Run nj2k tests by default 2019-05-22 22:20:18 +03:00
Elena Lepilkina 8c3cef97bd New shared version 2019-05-21 16:56:39 +03:00
Vyacheslav Gerasimov c2a2d80d4c Build: Minor cleanup & format root build.gradle.kts 2019-05-20 15:16:22 +03:00
Vyacheslav Gerasimov 40e9f48bd0 Build: Fix cache redirector configuration for all projects
Since we forcing project evaluation in root build script cache redirector
should be configured before we do so, otherwise `afterEvaluate` is not called
2019-05-20 15:16:22 +03:00
Ilya Gorbunov a83d301b50 Pack stdlib tests into a separate archive
So that kotlin-native could download stdlib tests and compiler test data
from different builds.
2019-05-18 04:41:29 +03:00
Vadim Brilyantov 01a05a5495 Move daemon jar from compiler 2019-05-17 15:51:52 +03:00