198 Commits

Author SHA1 Message Date
Alexander Udalov 8a7d86c4e5 Build: remove obsolete argument -Xskip-runtime-version-check
It was removed in KT-41664.
2021-11-30 17:13:10 +01:00
dependabot[bot] f578d37947 Bump aws-sdk in /kotlin-native/tools/performance-server (#4662)
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.670.0 to 2.814.0.
- [Release notes](https://github.com/aws/aws-sdk-js/releases)
- [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js/compare/v2.670.0...v2.814.0)

---
updated-dependencies:
- dependency-name: aws-sdk
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-29 09:43:20 +03:00
Igor Chevdar fed76a87af Revert "[K/N][build] Refactored K/N tool runner"
This reverts commit fa587a61fd.
2021-11-26 14:04:06 +05:00
Igor Chevdar 4b53a8e3c7 Revert "[K/N][gradle][interop] Refactored ToolConfig"
This reverts commit d9c1b1f6f7.
2021-11-26 14:01:40 +05:00
Igor Chevdar 031d92e21f Revert "[K/N][gradle] Automatic cleaning of the class loaders map"
This reverts commit 874b442a13.
2021-11-26 14:00:30 +05:00
Igor Chevdar 874b442a13 [K/N][gradle] Automatic cleaning of the class loaders map 2021-11-25 23:42:10 +05:00
Igor Chevdar d9c1b1f6f7 [K/N][gradle][interop] Refactored ToolConfig
Added possibility to create different strategies for loading libclang
2021-11-25 23:42:10 +05:00
Igor Chevdar fa587a61fd [K/N][build] Refactored K/N tool runner 2021-11-25 23:42:09 +05:00
Nikolay Krasko af8faadca5 Update internal project junit dependency 4.12 -> 4.13.2 2021-11-24 19:35:31 +03:00
Pavel Punegov c5a02902a7 [K/N][build] Add artifacts depending on input in library task
Depending on noPack option compiler produces file or directory.
Artifact field that contains .klib file can't use @OutputDirectory
annotation. The same applies for @OutputFile with directory.
To workaround make an artifact field internal and use two optional
fields that return either file or directory depending on noPack option.
2021-11-19 11:29:53 +00:00
Pavel Punegov e3ac2b661a [K/N][build] Remove artifact overriding in library task
Depending on noPack option compiler produces file or directory.
Artifact field that contains .klib file can't use @OutputDirectory
annotation. The same applies for @OutputFile with directory.
2021-11-19 11:29:53 +00:00
Pavel Punegov cc7768e38f [K/N] Konan: override artifact property to use with OutputDirectory 2021-11-19 11:29:52 +00:00
Pavel Punegov f7e2572ccc [K/N][build] Add noPack option to Konan plugin
Make plugin aware of -nopack compiler option to correctly set outputs
without .klib suffix.
2021-11-19 11:29:52 +00:00
Pavel Punegov 83d31526cc [K/N][build] Fix args in klib runner task 2021-11-11 12:16:27 +00:00
Pavel Punegov 197d55e045 [K/N][build] Add common sources setting to Konan plugin
Used for stdlib build
2021-11-11 12:16:26 +00:00
Pavel Punegov e07fa31784 [K/N][build] Move KLibInstall to Konan gradle plugin 2021-11-11 12:16:26 +00:00
Pavel Punegov e9b1f7cca1 [K/N][build] Move stdlib build to runtime project
Build stdlib with konan plugin in runtime project
2021-11-11 12:16:21 +00:00
Ilya Matveev 8ff1d66ec9 [K/N][build] Fix up-do-date checks for cache tasks
A name of a cache directory produced by the compiler for a library is
based on the unique name of this library. The cache task, when
declaring its outputs, assumes that this unique name is equal to the
name of the library file/directory. If this is not the case, the
up-to-date check works inconsistently and Gradle doesn't rerun
the task.

This patch fixes this issue by obtaining the real unique name of
the library.
2021-11-08 11:51:42 +07:00
David Saff c67a1ee2e5 Add a dry-run arg to show what _would_ be run, without actually running (#4630) 2021-10-29 11:38:56 +07:00
Pavel Punegov 56d34bfd53 [K/N][build] KonanCacheTask: get rid of lateinit in input directory 2021-10-22 09:29:22 +00:00
Pavel Punegov a003d804d2 [K/N][build] Use Map for cached libraries 2021-10-22 09:29:21 +00:00
Pavel Punegov 567dac0719 [K/N][build] Small fixes to KonanCacheTask 2021-10-22 09:29:21 +00:00
Pavel Punegov ac5e818c26 [K/N][build] Put get to input annotations 2021-10-22 09:29:20 +00:00
Pavel Punegov 42aa8b1337 [K/N][build] the field was protected but why 2021-10-22 09:29:19 +00:00
Pavel Punegov bc89921fdd [K/N][build] Fix cache location 2021-10-22 09:29:19 +00:00
Pavel Punegov 634812f96f [K/N][build] Split stdlib and endorsed libraries build and caching
Due to the usage of dist as an input and output at the same time by
different tasks Gradle issued warning about Execution optimizations
turning off. The fix is to split inputs and outputs in the build and
cache tasks of stdlib and endorsed libs.
2021-10-22 09:29:19 +00:00
Elena Lepilkina 9ad62eb1fd [K/N][perf] Added more buildSrc files in excluding list in performance infrastructure 2021-10-12 11:35:00 +00:00
Ilya Matveev b07f78cc8b [K/N][perf] Workaround broken buildSrc compilation
benchmarksAnalyzer/buildSrc includes sources from K/N's 'build-tools'
subproject. But now these sources depend on the old Kotlin/Native
Gradle plugin (aka tools/kotlin-native-gradle-plugin) causing
compilation errors when building benchmarksAnalyzer/buildSrc.

This patch works around this problem by ignoring the file that
brings this dependency.
2021-10-07 10:19:33 +00:00
Svyatoslav Scherbina 7493914a52 kotlin-native/tools/degrade: fix support for cocoapods plugin
Don't trigger early task configuration.
Also make the code cleaner and more thread-safe.
2021-10-07 06:35:59 +00:00
Svyatoslav Scherbina bc01676489 Add kotlin-native/tools/degrade -- a helper for K/N Gradle builds
Intended to be helpful in minimizing reproducers or investigating
Kotlin/Native-related problems.

It analyses kotlin-multiplatform Gradle plugin events,
and creates shell scripts that run executed Kotlin/Native tools
(compiler, cinterop) without Gradle.
2021-10-06 09:48:16 +00:00
Sergey Bogolepov b692705092 [K/N] Add LLVM utils into developer LLVM distribution.
Including FileCheck utility.
2021-10-01 14:18:01 +00:00
Sergey Bogolepov 5c1a4f79c4 [K/N] Minor LLVM builder fixes 2021-10-01 14:18:00 +00:00
Vyacheslav Gerasimov af541dc6d3 Build: Fix usages of deprecated ConfigureUtil in kotlin-native
Required for Gradle 7+ #KTI-559
2021-09-26 23:36:40 +03:00
Abduqodiri Qurbonzoda 9a5a3bfdfb Advance kotlin.browser and kotlin.dom packages deprecation level to ERROR #KT-39330 2021-09-20 12:28:07 +00:00
Mikhail Glukhikh 3febabe977 Use OPT_IN instead of EXPERIMENTAL in diagnostic names 2021-09-10 16:29:13 +03:00
Elena Lepilkina 8924730320 [K/N][perf] Added option to analyze benchmarks without DB connection 2021-09-08 18:53:18 +00:00
Mikhail Glukhikh ed035d99ab Migrate -Xopt-in to -opt-in in Gradle Kotlin scripts 2021-09-03 15:40:47 +03:00
Pavel Punegov 39b07d23f4 [Native][Tools] Add input directory in the bundles repack script 2021-09-03 10:25:36 +00:00
Dmitriy Novozhilov d46e2dd749 Fix OVERRIDE_DEPRECATION warnings in project code 2021-09-02 15:04:07 +03:00
Sergey Bogolepov 75215fcb97 [K/N] Option to build smaller LLVM distribution.
Also add a few adjustments to `package.py`:
* Enable threading in LLVM
* Replace `--archive-path` with `--pack` to avoid naming divergence.
2021-08-23 10:13:34 +00:00
Dmitriy Novozhilov d7368c341e [Build] Update kotlin-build-gradle-plugin version to 0.0.32 2021-08-05 15:22:41 +03:00
Elena Lepilkina dcd61c292d [K/N][perf] Fix kotlin language version in kotlin-dsl plugin for performance subproject 2021-08-04 10:39:53 +00:00
Pavel Punegov 73bb6d5d34 [Native] Move JavaLauncher property from global scope to the KonanPlugin 2021-08-03 10:15:08 +00:00
Pavel Punegov 6bbfe0d503 [Native] Add project property that holds JavaLauncher provider
This property is initialized once to make ToolRunner do not query for
the launcher. Also set JDK 11 as a default in case of an unavailable JDK
set as the toolchain, like JDK 17 that is not available in the auto mode
in Gradle and requires environment variable to be set.
2021-08-03 10:15:08 +00:00
Pavel Punegov ba5bd0b069 [Native] Add java plugin dependency to Konan plugin
Change required version of Gradle to 6.7
2021-08-03 10:15:07 +00:00
Pavel Punegov afa8e16c25 [Native] JDK toolchains in KonanToolRunner
Use JDK toolchains in KonanToolRunner to make build able to change JDK
Use JDK 17 for MacOS aarch64 hosts
2021-08-03 10:15:06 +00:00
Sergey Bogolepov 84d06f35e9 [K/N] Update usages of LLVM bin directory on Windows 2021-08-03 05:42:09 +00:00
Sergey Bogolepov 7dda04a1c9 [K/N] Update LLVM distributions to 11.1.0
This commit is important for several reasons:
1. Finally, LLVM update from 8.0.0 to 11.1.0
At the time of writing, LLVM 12.0.0 already came out, but we need to be
compatible with LLVM from Xcode 12.5, so that's why we stick to a bit
older version of LLVM.
2. These LLVM distributions are built with tools/llvm_builder/package.py
We finally managed to introduce an explicit process of building our LLVM
distributions, so we will be able to updated them more frequently and
adapt to our needs.
3. Native Windows LLVM instead of MinGW
Last but not least, we now use native Windows LLVM distribution. While
it might be harder to use (no more posix everywhere), simpler build
process (building msys2 is not that easy) and no need for MinGW-specific
patches makes such distribution way more convenient.
2021-08-03 05:42:00 +00:00
Sergey Bogolepov 44256db824 [K/N] Update minimal Xcode version
The next LLVM version will be 11.1.0, and we need to be sure that
Xcode supports bitcode of this version. So we bump minimal Xcode version
to 12.5, which should be OK, because by the time Kotlin 1.6.0 comes out,
Xcode 12.5 will be around 6 month old.

Also this commit simplifies tarball naming.
2021-08-03 05:42:00 +00:00
Sergey Bogolepov f8528c5cca [K/N] Dockerfile for building LLVM
Provide a stable environment for building LLVM for Linux
by using Docker. Note that the base image is Ubuntu 16.04,
so after LLVM update building Kotlin/Native on Linux will
require glibc 2.23 or higher.
2021-07-22 10:44:03 +00:00