Commit Graph

2321 Commits

Author SHA1 Message Date
Alexander Udalov 2d41c7d462 Add module-info.java for standard Kotlin libraries
Using the new multi-release jar feature, store compiled
module-info.class files into META-INF/versions/9 instead of the artifact
root. Hopefully, this will break fewer tools which do not support
module-info.class files because any sane tool should not do anything
with files in META-INF because before Java 9 that directory only
contained resources.

Upgrade some Maven plugins to newer versions which do not fail on
module-info.class files

 #KT-21266 In Progress
2018-04-03 21:22:14 +02:00
Mikhael Bogdanov 08ff1de248 Update test data 2018-04-03 19:38:37 +02:00
Yan Zhulanow 39e9d28c63 Kapt: Support 'kapt.kotlin.generated' option in Maven 2018-04-02 19:26:26 +03:00
Yan Zhulanow b1d7935d4a Kapt: Annotation processors should not be discovered when the processor fqNames are set by user (#KT-22939) 2018-04-02 19:26:24 +03:00
Yan Zhulanow dc8eb7446f Kapt, minor: make Gradle API a bit cleaner 2018-04-02 19:18:45 +03:00
Sergey Mashkov 42de429565 IDL2K: add property to control deployment 2018-03-30 15:13:42 +03:00
Alexey Tsvetkov 8a82c1618c Use Plugins DSL in Kotlin Gradle scripts
When plugins DSL is used, there is no need to
manually generate typesafe accessors for extensions and
conventions (by running `./gradlew kotlinDslAccessorsSnapshot`).
2018-03-26 16:09:29 +03:00
Ilya Gorbunov bb04198f7e kotlin-stdlib-gen: add dsl option for multiple suppressed diagnostics 2018-03-23 04:23:25 +03:00
Alexey Tsvetkov 605bcc66a1 IC: add destination dir to start of classpath instead of end
Otherwise IC fails when a project declares a class with the same name
as in one of its dependencies.
The issue is relevant only for non-JPS IC (Gradle, Maven, etc.),
but I added the test for JPS too.

  #KT-20516 fixed
2018-03-21 18:44:42 +03:00
Alexey Tsvetkov 30d0cc3a34 Ensure all output directories are cleared on IC rebuild
In some cases IC needs to perform a rebuild.
Before this change IC was not clearing output directories
besides destination dir for classes, so for example
kapt stubs were not cleared.

Stalled stubs might lead to compile errors.
For example:
1. foo/XGen.java is generated from annotated class foo/X (XGen also
references X).
2. foo/X is moved to bar/X and some other change forces IC to rebuild.
3. kapt generates bar/X stub, but foo/X stub
was not removed because stubs dir is not cleared.
4. kapt runs annotation processors, foo/XGen.java is generated from
foo/X stub, bar/XGen.java is generated from bar/X stub.
5. kotlinc rebuilds. Since destination dir is cleared properly,
only bar/X.class exists.
6. javac tries to compile foo/XGen and fails, because it
compiles against actual Kotlin classes, not stubs.

This commit fixes the issue by passing all output directories
of a task from Gradle to Kotlin IC.

   #KT-21735 fixed
2018-03-19 17:39:47 +03:00
Alexey Tsvetkov afce075dc8 Fix unresolved references in kotlin-gradle-plugin in Idea 2018-03-19 17:39:47 +03:00
Vyacheslav Gerasimov ef018d2ac1 Make dependencies on Android gradle plugin non-transitive
com.android.tools.build:gradle brings about 50 unused transitive dependencies including idea-core and uast, sometimes it breaks IDE features like navigation to declarations and debugging.

Inline contents of ReflectionUtil.findMethod to remove dependency on idea-core
2018-03-15 15:20:22 +03:00
Alexey Tsvetkov c736f229ce Always depend on runtimeJar of kotlin-daemon-client 2018-03-14 13:29:32 +03:00
Sergey Igushkin 0039be6972 Fix binary incompatibility with Android Gradle plugin 3.2.0-alpha06
Remove a non-reflective usage of the ResourceSet class, which has been
moved to a different package between versions. Access it through
reflection instead. This is a workaround. We can introduce a proper
fix once we have a public API in the Android plugin.

The test case that could detect the compatibility issue is
`testAndroidExtensionsManyVariants` (it uses experimental Android
extensions), but we did not run it with 3.2.0-alpha6. This commit
adds a test class with the same tests for 3.2.0-alpha6.

Issue #KT-23192 Fixed
2018-03-14 04:11:35 +03:00
Sergey Igushkin c0a17f72a7 Fix bad property name introduced in the fix for #KT-23085 2018-03-13 14:17:12 +03:00
Sergey Igushkin 07b811460a Deal with unnamed Gradle inputs/outputs
Fix the only unnamed input added to a Gradle task at runtime.
Add a test that checks for unnamed task inputs.

Issue #KT-23085 Fixed
2018-03-12 21:54:03 +03:00
Yan Zhulanow 6950c256ce Pill: Replace most of the hardcoded library coordinates with info from Gradle 2018-03-02 03:15:33 +03:00
Yan Zhulanow 34d1611ed4 Add Pill support to compiler and IDE modules 2018-03-02 03:15:17 +03:00
Anton Bannykh 4a5e9bbc7f JS: remove -XtypedArraysEnabled flag (always true now) 2018-03-01 14:26:13 +03:00
Ilya Chernikov a5278c2184 Get rid of PathUtil dependency in the script_util
reduces transitive dependencies required for the script_util
2018-02-28 19:29:05 +01:00
Ilya Gorbunov 5c0cc5f799 Move deprecated kotlin-runtime and reduced runtime for tests into stdlib
Rename mock-runtime-for-test project to kotlin-stdlib:jvm-minimal-for-test
2018-02-26 17:11:11 +03:00
Ilya Gorbunov c796e5338b Move runtime.jvm sources to stdlib/jvm/runtime
Update path in kotlin-runtime
Update path in kotlin-mock-runtime-for-tests
2018-02-26 17:11:10 +03:00
Ilya Gorbunov 00b23a0fe9 Rearrange kotlin-stdlib-js library sources
Move kotlin.* api inside kotlin directory.
Update copyright paths.
2018-02-26 17:11:08 +03:00
Zalim Bashorov 4c15642e2c Add missed references to license/README.md 2018-02-26 12:09:28 +03:00
gzoritchak 1c1fe10e12 Add samples for take* and drop* extensions (KT-20357)
- Add samples for take, takeLast, takeWhile, takeLastWhile
- Add samples for drop, dropLast, dropWhile, dropLastWhile
2018-02-20 19:24:27 +03:00
Sergey Igushkin 5901c2163f Add the expectedBy dependency to the compile configuration
Enable its propagation through transitive dependencies (including
POMs generated by Gradle)

Issue #KT-22824 Fixed
2018-02-20 17:24:22 +03:00
Sergey Igushkin 3836dcab85 Fix -Xmulti-platform dropped from args when freeCompilerArgs is assigned
in user build script

Issue #KT-15371 Fixed
2018-02-20 17:23:10 +03:00
Sergey Igushkin 37b34cff25 Allow multiple expectedBy dependencies in Gradle MPP support
Issue #KT-22864 Fixed
2018-02-20 17:23:10 +03:00
Yuta Sakata 4926b5a4c0 Add samples for any, all and none
Rewrite samples to make them working on sample generator

Move location of the class that contains samples of Aggregates.kt
2018-02-19 18:44:28 +03:00
Ilya Gorbunov 6d035f1d28 Fix unresolved references to SortedSet in docs 2018-02-19 15:25:03 +03:00
Ilya Chernikov c9a0d7c624 Add missing reflect dependency to the gradle plugin
fixes #KT-22895
2018-02-19 10:20:17 +01:00
gzoritchak f790635b30 Add samples for joinTo
KT-20357
2018-02-18 20:12:05 +03:00
gzoritchak 40e3159463 Add samples for joinToString
KT-20357
2018-02-18 20:12:05 +03:00
Alexander Udalov 31e762c679 Move 1.3-specific part of stdlib to another source set 2018-02-15 13:14:37 +01:00
Alexey Tsvetkov 1dadf84c40 Check Java interop in Maven IC tests 2018-02-14 16:31:30 +03:00
Alexey Tsvetkov 07c94a5586 Check output in Maven IC tests 2018-02-14 16:31:30 +03:00
Alexey Tsvetkov 42c433f950 Avoid removing target/classes dir during IC in Maven
#KT-21581 fixed
2018-02-14 16:31:30 +03:00
Sergey Igushkin ad30e898c2 Create Readme.md 2018-02-14 16:27:11 +03:00
Sergey Igushkin f9191ff210 Update ReadMe.md 2018-02-14 16:23:08 +03:00
Sergey Igushkin a3aefac111 (minor) Fix testAndroidKaptChangingDependencies 2018-02-14 14:53:14 +03:00
Sergey Igushkin fe3ce1ec7c (minor) Fix testKaptKt15814, slightly modify temp dir path. 2018-02-14 14:43:23 +03:00
Sergey Igushkin 3214fb8611 Fix testAnnotationProcessorAsFqName 2018-02-14 14:28:42 +03:00
Sergey Igushkin 6eaee8b250 Require no specific version for ExecutionStrategyIT 2018-02-13 17:43:11 +03:00
Sergey Igushkin c3946d98f2 Update Gradle test version to 4.5.1, fix kapt1 multiversion and IC tests
that were not correctly tweaked for kapt1
2018-02-13 17:43:11 +03:00
Sergey Igushkin d0416bea03 Use Gradle 3.5 for kapt1 IT because of the separate classes dirs bug in
kapt1.
2018-02-13 17:43:11 +03:00
Sergey Igushkin b5195d36bc Use Gradle 3.4 for testCleanBuildLib because of classpath normalization 2018-02-13 17:43:11 +03:00
Sergey Igushkin 6e51ada36b Override system-wide cache, simplify version checks, 2018-02-13 17:43:11 +03:00
Sergey Igushkin 99e731f6a6 Transform the new tests after rebase; Fix issues from KOTLIN-CR-1546 2018-02-13 17:43:10 +03:00
Sergey Igushkin f9dc892c42 Do not stop Gradle daemons with the same version as that of the build. 2018-02-13 17:43:10 +03:00
Sergey Igushkin a223870e7a Exclude JPS tests from normal run. Log Gradle version when advancing it. 2018-02-13 17:43:10 +03:00