Yahor Berdnikau
af6f17c243
Unify kotlinCompilerClasspath for all projects
...
This will prevent spawning second Kotlin daemon during compilation
except 'buildSrc' compilation. Original change was introduced in
2e515f3945 commit.
2022-05-24 07:58:38 +00:00
Alexander Udalov
2e515f3945
Prohibit JVM target 1.6
...
But still compile stdlib, reflect, kotlin.test and scripting runtimes
with JVM target 1.6 to simplify migration from Kotlin 1.6 to 1.7.
#KT-45165 Fixed
2022-04-19 22:54:40 +02:00
Vyacheslav Gerasimov
bc2f0936bd
Build: Rename commonDep -> commonDependency
2021-12-16 21:48:19 +03:00
Ilya Chernikov
1450f4d890
Implement property for explicit jvmTarget for script definition...
...
Apply the property to the default JSR-223 script taking the value from
java.specification.version property, so effectively implementing
jvmTarget detection from current VM.
Also drop enforcing of target 1.8, using common default.
#KT-49329 fixed
#KT-40497 fixed
2021-12-14 13:39:21 +03:00
Ilya Muradyan
6917ff7d2a
[scripting] Move earlierScripts to the frontend descriptor
...
^KT-20488 fixed
2021-11-30 09:11:59 +03:00
Alexey Subach
7ddf83f32d
Add link to ScriptCompilationConfiguration into ScriptEvaluationConfiguration
...
#KT-48758 fixed
2021-10-11 15:45:57 +02:00
Vyacheslav Gerasimov
ab146bd6d4
Build: Fix deprecated Gradle configurations usages
...
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03:00
Ilya Chernikov
61e5f68b8d
Scripting invalidate compiled cache if a dependency is missing
...
#KT-48303 fixed
2021-08-24 21:39:35 +03:00
Alexander Udalov
0a9498f7e2
Build: suppress deprecated JVM target warning globally
...
There seems to be no point in configuring the compiler argument per
project. This argument will be deleted soon anyway, when we remove
support for JDK 1.6 & 1.7.
Also remove `disableDeprecatedJvmTargetWarning`. It didn't have any
effect in all modules where it was applied because these modules
reassign `freeCompilerArgs` anyway, with
`-Xsuppress-deprecated-jvm-target-warning` in it.
2021-07-27 13:35:39 +02:00
Dmitriy Novozhilov
f3116cb64a
Fix NON_EXHAUSTIVE_WHEN_STATEMENT warnings in project code
2021-07-20 13:33:46 +03:00
Ilya Chernikov
0cd29adcc7
Get rid of kotlinx-coroutines usage in scripting libs and plugins
...
the dependency on the coroutines library caused various problems like
KT-30778, or stdlib/runtime version conflicts.
The only function used was `runBlocking`, so this change replaces it
with the internal implementation based on the similar internal thing
from the stdlib.
#KT-30778 fixed
2021-07-19 16:35:36 +03:00
Yahor Berdnikau
7789054547
Migrate repo to use JVM toolchains Gradle feature.
...
^KT-46972 Fixed
2021-07-05 14:11:12 +00:00
Ilya Muradyan
bab5d16001
[REPL] Stop old classpath calculation on the base classloader
...
The mechanism of the recursive classpath checking is intended
for the "inner" scripting/REPL classloaders and should not touch
anything beyond.
2021-05-12 18:30:43 +03:00
Nikita Katkov
e1b3cd32f3
IDEA-253605 jvmClassPathUtil: preserve old behaviour
2021-02-24 11:48:32 +00:00
Nikita Katkov
738c6d3119
IDEA-253605 jvmClassPathUtil: correct collection of parent classloaders
2021-02-24 11:48:32 +00:00
Alexander Udalov
e0b6d4d917
Add -Xsuppress-deprecated-jvm-target-warning to modules compiled with 1.6
...
Currently this leads to an unknown argument warning, but it'll be
removed automatically on the next bootstrap.
2021-02-03 12:51:39 +01:00
Ilya Muradyan
89bba93615
Introduce GetScriptingClassByClassLoader interface
...
It is needed to override default JVM behaviour
2020-11-28 09:44:06 +01:00
Ilya Gorbunov
090b562db7
Use NIO Files for creating temp files: scripting, daemon, main-kts
2020-11-20 06:09:37 +03:00
Ilya Chernikov
db23460fd5
Implement proper script runtime exception rendering with tests
...
#KT-42335 fixed
2020-10-06 21:43:11 +02:00
Ilya Chernikov
adcfca3f98
Treat classpath extraction problems on script definition loading as warnings
...
#KT-44206 fixed
2020-10-02 12:38:21 +02:00
Alexander Udalov
1d15a5547d
Suppress deprecation warnings related to scripting
2020-08-20 14:58:11 +02:00
Ilya Chernikov
8fb41e4562
Process compiler plugins and options in scripting compiler
...
#KT-37766 fixed
2020-06-16 17:11:33 +02:00
Ilya Chernikov
dec8eb7899
Revert renaming scripting plugin jar:
...
it conflicts with the compilation on daemon, so transistion should
be planned accordingly, and now it is not a good time for it.
The most important part of the renaming remains intact.
Partially reverts commit "Rename scripting libs and plugin - invert embeddable suffix"
2020-05-27 13:15:50 +02:00
Ilya Chernikov
2509dfb287
Rename scripting libs and plugin - invert embeddable suffix
...
now regular, unshaded libs, are named with suffix `-unshaded`, while
former `-embeddable` ones named without any suffix. This will encoursge
use of the shaded libs by default, avoiding conflicts with 3-party
libs packed into the `kotlin-compiler`.
Note, that only the "frontline" libs are renamed to avoid switching
problems, the ones that not normally used directly are left as is,
including the `kotlin-compiler` itself.
2020-05-26 15:58:25 +02:00
Ilya Chernikov
4b032a14af
Refactor host configuration handling and script definition creation
...
so it is possible now to create custom host configuration with template
and all configurations are handled consistenly.
Also introduce and use new ScriptDefinition class wrapping compilation
and evaluation configurations, that could be consistenly created from a
template.
2020-05-21 16:49:55 +02:00
Ilya Chernikov
255ad47406
Use copied key to extract default jdkHome from host configuration
2020-05-21 16:49:55 +02:00
Ilya Muradyan
ea1a6fbee7
Add history consistency check
2020-04-22 11:07:32 +02:00
Ilya Muradyan
e5ca572b91
Forward diagnostics to the evaluation result
2020-04-22 11:07:32 +02:00
Ilya Muradyan
d2fec96f38
Add new REPL API JVM implementation
2020-04-16 21:16:08 +02:00
Ilya Chernikov
f84fd810f0
Simplify and fix classloaders handling on script evaluation
...
#KT-37558 fixed
2020-04-13 13:49:33 +02:00
Ilya Chernikov
138efda19f
Refactor scripting - get rid of unused type parameter in CompiledScript
2020-04-13 13:49:33 +02:00
Ilya Chernikov
c64ba50655
Abstract script compiled module implementation used in saving/caching
...
removes classloading problem when main-kts is loaded from a CL
without scripting compiler.
Also relax dependencies collection on saving to a jar and hide redundant
logging.
Running main.kts script via a run configuration works now.
#KT-37765 fixed
2020-04-13 13:49:32 +02:00
Ilya Chernikov
278f77713d
Fix default base classloader initialization for scripting hosts
...
also refactor runner functions
#KT-37823 fixed
2020-04-13 13:49:32 +02:00
Ilya Chernikov
b96109f23f
Add diagnostic code to the ScriptDiagnostic
...
to allow checking for specific errors, e.g. incomplete statements in
the REPL
2020-02-13 11:33:40 +01:00
Ilya Chernikov
a4752087db
Get rid of kotlinx.coroutines usage in saved script runner
...
to reduce dpendencies for the save dscipt running
2020-01-21 17:42:48 +01:00
Ilya Gorbunov
59482f6827
Do not blank opt in for allowing kotlin package in all subprojects
...
-Xallow-kotlin-package must be specified explicitly to prevent
unintended declarations in kotlin package.
2019-10-24 16:05:48 +03:00
Ilya Chernikov
cf3bf5a9b9
[minor] Fix files and jars pattern matching on windows
2019-10-19 11:22:54 +03:00
Ilya Chernikov
d51291b187
[minor] Fix file pattern matching test and converting paths to universal separator on calling the walking function
2019-10-11 17:43:48 +02:00
Ilya Chernikov
9bf46cf435
Fix filename pattern building under Windows
2019-10-11 08:13:05 +02:00
Ilya Chernikov
2219b950f1
Implement resolve top-level functions and props from classloader
...
#KT-33892 fixed
2019-10-10 17:43:29 +02:00
Vitaliy.Tikhonov
d79279d8a5
[JS SCRIPTING] create CoreCompiler for scripting
2019-10-10 12:52:05 +03:00
Ilya Chernikov
cb5622fc8b
[minor] Fix URL conversion to the file
...
possibly fixes the exception from https://stackoverflow.com/questions/57727150/kotlin-script-engine-with-spring-boot-self-running-war
2019-10-03 12:24:50 +02:00
Ilya Chernikov
256d3a79e4
[minor] refactor and extend script dependencies resolving tests
2019-09-26 07:16:23 +02:00
Ilya Chernikov
bda2e46697
[minor] Fix classpath from class calculation utility for classes dir
2019-09-26 07:16:23 +02:00
Ilya Chernikov
dd953e0f66
Deduplicating classloaders and classpath entries on constructing script classloader
2019-09-17 16:05:37 +02:00
Ilya Chernikov
5426071102
Add dependency classloader to the evaluation classloader:
...
allows to use dependencies from classloader in the scenario with
evaluation in the isolated environment
2019-09-17 12:43:18 +02:00
Ilya Chernikov
61d517fb31
Implement script dependencies resolution directly from classloader
...
#KT-27956 fixed
2019-09-17 12:43:18 +02:00
Ilya Chernikov
92778cc5b5
Set contextClassLoader for the script evaluation
...
#KT-31661
2019-09-13 13:19:26 +02:00
Ilya Chernikov
0fe137d75c
Fix script arguments order for imports with implicit receivers
...
#KT-33572 fixed
2019-09-13 13:19:25 +02:00
Ilya Chernikov
c5f9e0a399
Fix host configuration replacements
2019-09-13 13:19:25 +02:00