Commit Graph

1657 Commits

Author SHA1 Message Date
Sergey Mashkov 4c2edd54a6 KT-16043 IDL: mark inline helper function as InlineOnly 2017-02-01 14:44:48 +03:00
Alexey Tsvetkov c57dac159b Avoid having -d and -module set at the same time
#KT-14619 fixed
2017-01-31 16:53:34 +03:00
Alexey Tsvetkov 9b5129a0f3 Fix annotation processors outputting to classes dir with kapt 3
#KT-15915 fixed

 Annotation processor can access a classes directory provided by AP environment.
Previously kapt 3 was using kotlin-classes directory as a a classes directory.
However compileKotlin task does not expect this.
Also having multiple tasks with the same output dir is a bad practise in Gradle.

This change introduces a separate directory for classes generated by kapt 3.
Its output is copied to a resulting classes dir (just as a kotlin-classes dir).
2017-01-31 16:53:34 +03:00
Alexey Tsvetkov 34f04f3482 Fix downgrading from 1.1 to 1.0.x in Gradle
If @Input property is added in new plugin version
and this property has a new type (a class/enum which is not presented in previous plugin)
then downgrading leads to an exception,
because Gradle tries to deserialize the property value from its caches,
but the type of value does not exist.

Workaround: add new String property.
2017-01-31 16:53:34 +03:00
Alexey Tsvetkov 49d0f69227 Fix exception when Groovy lazy string (GString) is in freeCompilerArgs
#KT-15500 fixed

GString is an object that represents string literal like `"${project.name}"`
in Groovy. It is not an instance of string.
Groovy automatically converts GString to String when it is passed where String is expected.
However freeCompilerArgs is a List<String>, so type parameter info is lost at runtime.
When iterating freeCompilerArgs in Kotlin as a list of string, an exception
is thrown because GString cannot be casted to String (toString should be called instead).
2017-01-31 16:53:34 +03:00
Alexander Udalov 464820458e JS: rename "-library-files" argument to "-libraries" and change separator
Use the system separator (':' or ';') instead of commas

 #KT-16083 Fixed
2017-01-31 16:26:35 +03:00
Ilya Gorbunov 25c3064554 Add explicit imports of kotlin.js.* to generated files. 2017-01-30 19:44:51 +03:00
Alexander Udalov 7ac96163ac Introduce CompilerMessageSeverity.STRONG_WARNING
This is a severity for mandatory warnings, i.e. those which should be reported
in any case, even if there are compilation errors
2017-01-30 16:01:27 +03:00
Alexander Udalov eb61a1c5a8 Make KTypeProjection's constructor public
To make it easier to create a KTypeProjection instance given a KVariance
instance (otherwise you currently need to do a "when" on it). Also it's exposed
via automatically generated "copy" anyway
2017-01-30 11:31:20 +03:00
Alexander Udalov e5680565b3 JS: drop "-kjsm" flag, merge logic with "-meta-info"
#KT-16049 Fixed
2017-01-30 11:31:03 +03:00
Vyacheslav Gerasimov 7bd6314ee1 Implemented building Kotlin Android projects with Jack toolchain enabled
#KT-13275 Fixed
Implemented KotlinJillTask for converting kotlin classes to jace format which could be consumed by Jack transform task
2017-01-29 23:39:53 +03:00
Zalim Bashorov 29ac01f2e2 KJS: allow to use packages with names starting with "kotlin" only if the -Xallow-kotlin-package command line option is specified
#KT-14668 Fixed
2017-01-29 17:21:01 +03:00
Ilya Chernikov bd47337be2 Using stdlib instead of runtime in the JSR 223 engines 2017-01-27 22:20:45 +01:00
Ilya Chernikov b8b044c6b0 Reuse script args substitution for replacing bindings in JSR 223 sample engines, fixes KT-15450 2017-01-27 22:20:44 +01:00
apatrida 5ad06e1e92 PR-1021: Merge Keplin project scripting code into Kotlin core.
Overhauls the scripting layers (GenericRepl and related, and JSR223 and related)
Adds repeating modes (none, only latest eval'd line, or random order)
Also adds better thread-safe IO capturing, default imports, SimpleRepl wrapper, more unit tests

NOTE: the script-util part of the pull request was rejected due to various problems and incompatibilities.
It may be incorporated into the code later.

(originally cherry picked from commit 6f7d517)
2017-01-27 22:20:44 +01:00
Denis Zharkov c362a9154b Rename SUSPENDED_MARKER to COROUTINE_SUSPENDED 2017-01-27 23:24:13 +03:00
Denis Zharkov 246946bc18 Move buildSequence/buildIterator to kotlin.coroutines.experimental 2017-01-27 23:24:13 +03:00
Denis Zharkov 8fa8ba7055 Move coroutine-related runtime parts to kotlin.coroutines.experimental package
#KT-15975 Fixed
2017-01-27 23:24:13 +03:00
Denis Zharkov cb4914ab56 Make 'suspendCoroutineOrReturn' inline-only 2017-01-27 23:24:13 +03:00
Denis Zharkov 0e132b9857 Move all coroutine-related declarations from built-ins to stdlib
Also move internal declarations from runtime.jvm module into new package
kotlin.coroutines.jvm.internal in stdlib

The necessity of these declarations being in built-ins is controversial,
but also it will complicate the migration of current coroutine runtime
to a separate jar if we ever need this
2017-01-27 23:24:13 +03:00
Ilya Gorbunov 0df31f1223 Build kotlin-stdlib-js.jar in ant
#KT-15940
2017-01-27 22:19:40 +03:00
Ilya Gorbunov 078f606cdc List artifacts required for maven plugin IT in extraArtifacts rather than in dependencies.
#KT-15940
2017-01-27 22:19:31 +03:00
Ilya Gorbunov ea9be01034 Fix maven references to stdlib-js
#KT-15940
2017-01-27 22:19:26 +03:00
Ilya Gorbunov ba1d7104a3 Rename JS standard library artifact #KT-15940 2017-01-27 22:09:46 +03:00
Alexey Andreev 72bcdf8869 JS: add enum emulation to IDL2K 2017-01-27 20:54:43 +03:00
Alexey Andreev 68d14de000 JS: add support of Promise<T> in IDL2K 2017-01-27 20:54:42 +03:00
Alexey Tsvetkov 1420bd1b33 Add Kotlin Gradle DSL to configure coroutines from build.gradle 2017-01-27 19:04:49 +03:00
Ilya Gorbunov 01f53d0173 Return NaN as an average of an empty collection.
#KT-15399 Fixed
2017-01-27 14:53:33 +03:00
Ilya Gorbunov 661ff81e67 Specify names for parameters of functional types with two or more parameters to ease lambda completion.
#KT-13826
2017-01-27 14:46:29 +03:00
Yan Zhulanow bb0b70d27b Kapt: Fix extending configurations in Gradle, create "main" configuration if it does not exist yet. Also fix checking kapt configuration dependencies, use allDependencies instead (KT-15814) 2017-01-27 02:01:04 +09:00
Alexey Sedunov dafb6f8b3c Kotlin Gradle Plugin: Provide serialized list of compiler arguments in compilation tasks 2017-01-26 18:06:13 +03:00
Alexey Tsvetkov 09a8a999c8 Correct construction of UnicastRemoteObject
#KT-15837 fixed
2017-01-26 16:07:44 +03:00
Ilya Gorbunov 2e0209395a Restore Map.minus(key/keys) and Map.minusAssign(key/keys) operators.
#KT-13353
2017-01-25 22:08:46 +03:00
Ilya Gorbunov a2bd3bfc7b List artifacts explicitly for test. 2017-01-24 22:04:46 +03:00
Ilya Gorbunov 43003cffbb Make kotlin-runtime dependency optional for kotlin script executor for maven, but still add if it's found. 2017-01-24 22:04:46 +03:00
Ilya Gorbunov 070f9d9d17 Binary compatibility validation: dump public API of merged stdlib to another file 2017-01-24 22:04:46 +03:00
Ilya Gorbunov 4da4de1104 Replace kotlin-runtime with kotlin-stdlib, where it was used as a dependency. 2017-01-24 22:04:46 +03:00
Ilya Gorbunov e025050dd9 Replace kotlin-runtime with kotlin-stdlib in kotlin-script-util and its tests 2017-01-24 22:04:46 +03:00
Alexey Andreev a9069d8973 JS: replace noImpl with definedExternally in stdlib generator 2017-01-24 20:15:21 +03:00
Alexey Andreev e3da9066c4 JS: replace noImpl with definedExternally in IDL2K 2017-01-24 20:14:32 +03:00
Sergey Mashkov 66de78e82a kotlin-test: migrate multiplatform integration test to use common test module 2017-01-24 19:39:05 +03:00
Sergey Mashkov e500eba59f Maven: test js compiler test scope dependencies 2017-01-24 19:39:05 +03:00
Ilya Gorbunov 5a28e8cc20 Install kotlin-test artifacts to local repo when testing maven plugin 2017-01-24 19:39:05 +03:00
Ilya Gorbunov 609405b8d4 Add kotlin-test-js dependency where required. 2017-01-24 19:39:05 +03:00
Alexey Andreev 36d2a91057 JS: prevent IDL2K from generating @nativeGetter/@nativeSetter annotations, generate inline extension function with asDynamic() instead 2017-01-24 12:27:01 +03:00
Alexander Udalov 70d2296e61 Update public API dump after adding KPropertyN.getDelegate 2017-01-24 10:59:44 +03:00
Sergey Mashkov 98075c17c9 kotlin-test: extract from JS library, convert to multiplatform 2017-01-23 15:43:02 +03:00
Alexander Udalov 78f2515e95 Introduce KProperty{0,1,2}.getDelegate
#KT-8384 In Progress
2017-01-23 12:25:35 +03:00
Alexander Udalov fc637eb420 Change runtime component from "Core" to "Main"
This is needed to allow the old compiler have the new runtime libraries in the
classpath. See the previous commit for a more elaborate explanation
2017-01-21 12:57:15 +03:00
Ilya Gorbunov a429992e81 Do not generate headers for JS-only functions. 2017-01-18 22:16:49 +03:00