Commit Graph

3403 Commits

Author SHA1 Message Date
Sergey Rostov 96fc06c7fb Gradle, js, tests: use compilation runtime classpath as input
#KT-31814 Fixed
2019-06-06 09:15:39 +03:00
Ilya Matveev f32d48c66d Gradle, tests: Fix native interop test for Win x86 2019-06-06 12:53:02 +07:00
Ilya Matveev 2ab0760e35 Gradle, native: Fix creating test binaries for non-host platforms
Issue #KT-31725 fixed
2019-06-06 12:53:01 +07:00
Ivan Gavrilovic 7a2332fe36 KT-31714: Close files after analysis in incremental KAPT
Artifact transform used to analyze classpath was not closing files, which
caused java.nio.file.FileSystemException. This commit fixes that, and all
input streams are closed after use.

Fixes: KT-31714
2019-06-05 18:19:50 +09:00
Ivan Gavrilovic 695f202e46 KT-31127: add only generated Java sources to JavaCompile inputs
This commit changes how generated sources are added to the Gradle JavaCompile
task. Previously, directory was added to sources which caused issues with
annotation processors that only generate Kotlin sources. I.e. JavaCompile task
was executed but no java sources existed.

Now, only generated Java sources are added to the JavaCompile task. This
means that if only Kotlin sources are generated JavaCompile task will be
skipped.

Fixes: KT-31127
Test: Kapt3IT.testKotlinProcessorUsingFiler
2019-06-05 18:19:50 +09:00
Svyatoslav Kuzmich cd651be461 [JS IR BE] Migrate JS BE to common klib utils 2019-06-05 11:15:45 +03:00
Sergey Rostov 1c0519b0a2 Gradle, js, npm: fix resolving transitive npm dependencies using yarn.lock
- already visited transitive npm dependencies should be stored in parent dependencies
- child NpmDependency should search resolved project data in parent NpmDependencies
2019-06-04 19:32:10 +03:00
Sergey Rostov 465a47a194 Gradle, js, npm: fix idea gradle sync for multiproject builds
npm resolver ProjectData stored per project (not in root project)
2019-06-04 19:32:10 +03:00
Sergey Rostov b5080bda75 Gradle, js, npm: fix reading package.json files
#KT-31788 Fixed
2019-06-04 19:32:10 +03:00
Sergey Rostov 32a0bb9f0e Gradle, js, npm: fix npm aggregated configuration attributes
#KT-31788 Fixed
2019-06-04 19:32:10 +03:00
ilgonmic 16200181cc KT-31645 Fix yarn downloading on Windows 2019-06-04 17:38:24 +03:00
Sergey Igushkin 0b59d0b416 Fix testAndroidMppProductionDependenciesInTests Gradle version too low
The required Gradle version for AGP 3.3 is 4.10.1+. Use 5.0.
2019-06-04 15:36:22 +03:00
Sergey Rostov 8dabf24b41 Gradle: provide descriptions for JS tasks
#KT-31560 Fixed
2019-06-04 10:00:59 +03:00
Sergey Rostov fbefa17337 Gradle, NPM, windows: creating symlink without administrator privilege
#KT-31694 Fixed
2019-06-04 10:00:59 +03:00
Sergey Rostov 85adee9804 Gradle, js, npm: resolve and warn about clashes in packages_imported
#KT-31697 Fixed
2019-06-04 10:00:59 +03:00
Sergey Rostov 46a1ec28bf Gradle, npm: implement semver comparision 2019-06-04 10:00:58 +03:00
Sergey Rostov 619ee8717b Gradle, npm: extract semver utils to separate file 2019-06-04 10:00:58 +03:00
Sergey Rostov 42bcb81c08 Gradle, npm, imported packages: import multiple version to different dirs 2019-06-04 10:00:58 +03:00
Sergey Rostov e557a3c3f2 Gradle, ProcessedFilesCache: delete everything on version change 2019-06-04 10:00:57 +03:00
Sergey Rostov 5b6c467e22 Gradle, ProcessedFilesCache: report target values clash 2019-06-04 10:00:57 +03:00
Sergey Rostov 5b21c935a4 Gradle, JS, NpmResolver: save imported packages cache state before calling npm 2019-06-04 10:00:56 +03:00
Sergey Rostov fdbee7a99a Gradle, js, NPM: select one version between tools and all of compile configurations
#KT-31696 Fixed
2019-06-04 10:00:56 +03:00
Sergey Rostov a37b38e891 Gradle, minor: remove unused import 2019-06-04 10:00:56 +03:00
Sergey Igushkin 27aa3a573e Fix MPP source set dependencies missing in Android tests (KT-29343)
Add Kotlin source set dependencies to the Android source sets, and also
add aggregated Kotlin compilation dependencies to the dedicated
Android source sets of the Android variants.

Issue #KT-29343 Fixed
2019-06-03 14:53:38 +03:00
Sergey Igushkin 988df517dd Gradle HMPP support fixes after review
* Add version to project structure metadata
* Use a data class for module dependencies in project structure
* Use task registering API for new tasks
* Simplify code
* Extract compatibility wrappers
* Fix multi-file dependencies that transformations silently ignored
2019-06-03 14:47:09 +03:00
Sergey Igushkin 5d7bd6c01a Add API for IDE import of metadata dependency transformations 2019-06-03 14:47:08 +03:00
Sergey Igushkin 3c3a338770 Setup versions consistently only among published source sets
The common source sets that are not published (like commonTest) should
not affect dependency resolution for other source sets.

Signed-off-by: Sergey Igushkin <hotkeytlt@gmail.com>
2019-06-03 14:47:07 +03:00
Sergey Igushkin 0c9d962f9f MPP granular source set metadata support 2019-06-03 14:47:07 +03:00
Sergey Igushkin fcb006b42a (minor) Rewrite CompilationSourceSetUtil
Add the API to access compilations by source set, which will be widely
needed for further MPP logic.
2019-06-03 14:46:51 +03:00
Sergey Rostov 00f8f09274 Gradle, js, npm: don't setup package manager without npm dependencies
#KT-31729 Fixed
2019-06-03 10:00:27 +03:00
Vyacheslav Gerasimov 6b3f341ab5 Build: Publish jcabi-aether-1.0-SNAPSHOT to kotlin-dependencies as 1.0-dev-3
This allows to remove dependency on snapshot repository
https://oss.sonatype.org/content/repositories/snapshots
2019-05-29 15:08:05 +03:00
George Gastaldi d0d4d00379 build: add kotlin-compiler-embeddable to BOM 2019-05-29 05:21:49 +03:00
Jake Wharton af31794f60 Add Locale-accepting overloads for (de)capitalize in JDK stdlib
#KT-28933 fixed
2019-05-29 03:35:33 +03:00
Sergey Igushkin 25371734e8 Make withJava() safe to call repeatedlt on same target 2019-05-29 01:06:27 +03:00
Ilya Matveev 78ce34f223 Gradle, native: Remove K/N repo from Gradle integration tests 2019-05-28 20:26:29 +03:00
Ilya Matveev 5b64410259 Gradle, native: Remove kotlin native repo in DSL codegen 2019-05-28 20:26:29 +03:00
Ilya Matveev 5e66399284 Move some classes used by Gradle plugin from K/N shared 2019-05-28 20:26:29 +03:00
Ilya Matveev b002d572fb Gradle, native: Correct path to LLVM in K/N tool runner
Currently we have the same directory as llvmHome and targetToolchain
but strictly speaking we need to use llvmHome.
2019-05-28 20:26:29 +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
Ilya Matveev 9a5c9a2180 Revert "Store kotlin-native-shared version in the jar of the Gradle plugin"
This reverts commit 24588263ed.
2019-05-28 20:26:28 +03:00
Ilya Matveev 49bcbf00fe Revert "Fix IDEA import after including kotlin-native-shared in Gradle plugin"
This reverts commit 774dbcd6c0.
2019-05-28 20:26:28 +03:00
Sergey Rostov 1c6ce208a6 Gradle, JS: support exotic versions while converting to semver
#KT-31563
2019-05-28 16:40:41 +03:00
Ilya Matveev 7929a05ee3 Build: Add K/N repo into Gradle integration tests to fix JPS build 2019-05-28 16:08:27 +03:00
Ilya Matveev f47aafc471 Gradle, native: Rename test binary class: Test -> TestExecutable 2019-05-28 10:46:23 +03:00
Ilya Matveev 954fedc6f9 Gradle, native: Don't treat test output as stacktrace
Currently native test runner reports stacktraces using TC
service messages.
2019-05-28 10:46:23 +03:00
Ilya Matveev 48b1f71cef Gradle, native: Introduce separate binary type for tests
Earlier native tests were represented by the same binary type as product
executables. We also used to create test tasks in the same manner as run
tasks for product executables. Such tasks could be obtained used a property
of an executable binary with type Exec.

But now we have a separate class for test tasks. Also we probably will want
to create several tasks for the same test. So we cannot use the same run task
property for both test and product executables. Also representing test and
product executables by the same binary type leads to the fact that assemble
task execution causes building not only product binaries but also the test
ones.

This patch solves the issues described above by introducing a separate binary
type for tests. Such a test binary can be created in the same manner as other
binaries:

    kotlin.macosX64 {
        binaries {
            test("integration") { ... }
        }
    }

One test binary and a task executing it is created by the plugin out of the box.
This test binary replaces a test executable used to be created earlier.

Issue #KT-31609 Fixed
2019-05-28 10:46:23 +03:00
Eduard Wolf c885cadde4 KT-31639: Fix Iterables.drop integer overflow 2019-05-27 23:07:14 +03:00
Leonid Startsev e5565b817b Create marker for Gradle Plugin Portal for kotlinx-serialization compiler plugin
#KT-27612 fixed
2019-05-27 19:59:13 +03:00
Sergey Igushkin a4069c031e Fix Android 3.3 Gradle integration tests running with low Gradle version 2019-05-27 18:12:17 +03:00
Alexander Udalov a3d8fdf30a Fix compilation of kotlin-maven-plugin
Also remove the remaining usage (in a comment) of
JvmAbi.DEFAULT_MODULE_NAME
2019-05-27 13:21:31 +02:00