Commit Graph

4199 Commits

Author SHA1 Message Date
Vyacheslav Gerasimov a0e20eefc6 181: Fix dependencies for 181 2018-04-11 16:28:29 +03:00
Anton Bannykh f8c0c54a66 Revert "Clean up test skips after KT-17137"
This reverts commit 715d5e9
2018-04-10 20:45:07 +03:00
Anton Bannykh 703611a15c Revert "JS: remove -XtypedArraysEnabled flag (always true now)"
This reverts commit 4a5e9bb
2018-04-10 20:45:07 +03:00
Mikhael Bogdanov 5f235a8342 Update documentation for @JvmDefault 2018-04-10 16:33:24 +02:00
Yan Zhulanow 715421566b Pill: Add new script modules 2018-04-09 19:45:49 +03:00
Alexander Udalov dd3cf531cf Disable packing module-info to libraries until Android issue is fixed
https://issuetracker.google.com/issues/77587908

 #KT-21266 Open
2018-04-05 19:18:05 +02:00
Alexander Udalov 914cf18051 Fix line separators in scripting-related build.gradle.kts files 2018-04-04 22:26:17 +02:00
Ilya Chernikov cc59716b39 Remove usages of the compiler from dist in script sample modules
prevent constant reindexing of the compiler jar
2018-04-04 21:44:20 +02:00
Ilya Chernikov bdd001d04c [minor] drop explicit stdlib detection logic in script compiler
...as it is mainly redundant and in the current for somewhat incorrect
2018-04-04 16:23:58 +02:00
Ilya Chernikov 73d2580435 Add FATAL diagnostic severity to match changes in the current script infrastructure 2018-04-04 16:23:58 +02:00
Ilya Chernikov 599a9acce8 Rearrange scripting examples to conform the build system requirements 2018-04-04 16:23:58 +02:00
Ilya Chernikov 7fbcfdf09e Add config params for specifying target annotations, import param renaming 2018-04-04 16:23:58 +02:00
Ilya Chernikov 191b1cfefa Refactor configurations handling:
- rearrange compile call parameters for clarity, more defaults
- remove baseConfiguration method - it is now covered by defaultConfiguration
for static part, and refineConfiguration call if a config parameter is
specified
- implement proper configurations chaining, documented in comment to compile function
- minor renamings and refactorings
2018-04-04 16:23:58 +02:00
Ilya Chernikov 4a4edf3458 [minor] Renames and rearrangements for clarity 2018-04-04 16:23:58 +02:00
Ilya Chernikov 5058c66e8c Refactor scripting properties:
- flatten the structure
- add some parameters
- replace iterables with lists
- renaming all scope objects uniformily
also:
- fix passing and usage of script sources
- renamings and other minor improvements
2018-04-04 16:23:58 +02:00
Ilya Chernikov 2ddcc280a9 Implement simplified property bag dsl:
move it to the separate jar,
use property bag chaining
2018-04-04 16:23:57 +02:00
Ilya Chernikov 495c75c48e Rename heterogeneous map to PropertyBag, make it chainable
the commit is needed to implement single chained script configuration bags
2018-04-04 16:23:57 +02:00
Ilya Chernikov 15fcee474c Fix script classpasth from environment extraction...
for classes dirs
2018-04-04 16:23:57 +02:00
Ilya Chernikov 6ea41b425d Pass script source directly instead of via configuration 2018-04-04 16:23:57 +02:00
Ilya Chernikov 29797ec264 Switch to plugins section in scripting build files after rebasing 2018-04-04 16:23:57 +02:00
Ilya Chernikov ae2af238fa Fixes after refactoring the API 2018-04-04 16:23:57 +02:00
Ilya Chernikov 1f0cac50d2 Refactor scriptDefinition in the common part
- get rid of selector (because of confusions), move it's data into
definition itself and make it more generic with heterogeneous map
- make main KotlinScript annotation accept complete definition
- make additional annotation for building definition from parts
- add ScriptingEnvironment and pass it as a constructor parameter to
the script handlers
- rename some classes for clarity
2018-04-04 16:23:57 +02:00
Ilya Chernikov 2c3a50e4b3 Refactor scripting examples:
- split into script def and host part
- remove bad dependencies
- organize it in a way that should be typical for user scenarios
2018-04-04 16:23:56 +02:00
Ilya Chernikov 7cca1a72d3 Fix after review: add stdlib to the script compilation classpath by default 2018-04-04 16:23:56 +02:00
Ilya Chernikov d50798c4cf Refactor script-util context tools to simplify its usage in the new scripting 2018-04-04 16:23:56 +02:00
Ilya Chernikov 4742d0a034 Rename scripting plugins to more established scheme 2018-04-04 16:23:56 +02:00
Ilya Chernikov 00320bad8d Implement support for additional receivers in the backend 2018-04-04 16:23:56 +02:00
Ilya Chernikov 1cb9592fcc Change samples after adding configuration dsl 2018-04-04 16:23:55 +02:00
Ilya Chernikov 0f0934aaa2 Change jvm implementation after adding configuration dsl 2018-04-04 16:23:55 +02:00
Ilya Chernikov 1723ff658d Refactoring heterogeneous map handling, add dsl builders 2018-04-04 16:23:55 +02:00
Ilya Chernikov d05f67127d Move scripting configuration into compiler plugin 2018-04-04 16:23:55 +02:00
Ilya Chernikov 1514a113b8 minor: Add maven deps example template to the discovery resource folder 2018-04-04 16:23:55 +02:00
Ilya Chernikov 0c06ec9088 Implement script templates discovery in the idea plugin 2018-04-04 16:23:54 +02:00
Ilya Chernikov 548bf26c58 Add new scripting support to the gradle plugin 2018-04-04 16:23:54 +02:00
Ilya Chernikov 3732422e6a Add example scripting hosts with tests:
the simple scripting host and the one with maven resolving
2018-04-04 16:23:54 +02:00
Ilya Chernikov c48a74b84a Implement base jvm scripting infrastructure 2018-04-04 16:23:54 +02:00
Ilya Chernikov aac7f97121 Add new experimental scripting API 2018-04-04 16:23:53 +02:00
Mikhael Bogdanov be33a9bf3b Update test data 2018-04-04 14:55:39 +02:00
Mikhael Bogdanov a27d1b7a3b Update @JvmDefault documentation 2018-04-04 14:55:39 +02:00
Ilya Gorbunov 299d6fa772 Use default compileJava9Java task to build java9 source set 2018-04-03 21:24:34 +02:00
Alexander Udalov 828cc6dbf3 Add module-info.java for kotlin-reflect
The standard way of loading resources with built-ins metadata from the
current class loader no longer works in the modular mode on Java 9
because the current class loader is for module 'kotlin.reflect', but the
metadata is located in the module 'kotlin.stdlib'. On Java 9, we now use
the class loader of 'kotlin.stdlib' to load these resources.

 #KT-21266 Fixed
2018-04-03 21:24:03 +02:00
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
Mikhael Bogdanov 89f22e69b4 Relocate @JvmDefault to stdlib module 2018-04-03 19:18:16 +02:00
Mikhael Bogdanov e885195ee1 Add @JvmDefault annotation 2018-04-03 19:18:08 +02:00
Alexander Udalov 964bf503a6 Fix warning about kotlin-reflect-api bundling Kotlin Runtime
This fixes the "Some JAR files in the classpath have the Kotlin Runtime
library bundled into them" warning when compiling all modules that
depend on kotlin-reflect-api. This warning is reported on jars in the
classpath which look like standard library artifacts, but in fact are
not because their manifest does not say so. With this change, we're now
writing the manifest of standard library artifacts to the resulting jar
of kotlin-reflect-api, with the standard library component name
"internal" (in fact, it doesn't affect anything here, any name would be
OK) to make the compiler believe that this is actually a standard
library jar
2018-04-03 13:18:56 +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
Elifarley C 1b3d539a25 toBigDecimal: Avoid creating new BigDecimal instance for some values
Avoid creating new `BigDecimal` instance by calling `BigDecimal.valueOf(this)`, which doesn't create a new instance if the argument falls in the range [0..10].
(there's a `private static final BigDecimal[] zeroThroughTen` cache in BigDecimal.java with 11 BigDecimal instances)
2018-04-02 15:26:49 +03:00