Nikolay Krasko
272ccf64ae
Refactoring: extract resetApplicationToNull to separate file
2020-02-18 14:13:54 +03:00
Roman Artemev
6a37955a36
[KLIB] Implement new linker based on IdSignature
...
- Remove klib dependency on metadata and uniqID
- Refactored proto format to make it more effective and compact
-- Use special encoding for some types of data (coordinates, flags, types)
-- Remove symbols table
-- Use packed proto list if it is possible
- Remove extension from metadata
- Remove special ids for function interfaces
- Fix klib IO
- Fix incremental cache
- General code clean up
2020-02-14 18:22:16 +03: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
49d092cae8
[minor] add incomplete test to the repl tests
2020-02-13 11:33:40 +01:00
Nikolay Krasko
2a71fe97cf
201: picocontainer.jar is removed
2020-02-11 20:27:59 +03:00
Nikolay Krasko
162c2f3dc9
201: openapi.jar is removed
2020-02-11 20:27:59 +03:00
Ilya Chernikov
75441386e3
Use scripting cache earlier in the pipeline:
...
before initializing compiler and processing callbacks
2020-01-21 17:42:48 +01:00
Ilya Chernikov
c7d9eaed40
Speed up REPL package member declaration provider
...
about 10-15% on specific test
also preparing test infrastructure for it
2020-01-21 17:42:48 +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 Chernikov
d15d62a338
Check REPL snippet syntax before calling analysis
...
restores the behaviour of the GenericRepl implementation and fixes
issues then invalid code is being compiled
#KT-34888 fixed
2020-01-21 17:42:48 +01:00
Svyatoslav Kuzmich
31c84e9ac4
[JS IR] Build stdlib using compiler from repo
...
Previously JS IR versions of stdlib and kotlin-test were build
by default using compiler previously built on a buildserver.
It had some issues:
- This required us to advance bootstrap every time we made any
incompatible IR changes. This happens often since IR ABI is
not quite stable yet.
- We never tested the exact combination of compiler and stdlib we publish
We tested:
- new compiler with new stdlib build by new compiler (in box tests)
- old compiler with new stdlib build by old compiler (in stdlib tests)
We published:
- new compiler with new stdlib build by old compiler
After this change JS IR compiler tests, builds and publishes
single configuration:
new compiler with new stdlib build by new compiler
JS IR stdlib and kotlin-test are now built using JavaExec of CLI instead
of Gradle plugin to avoid troubles of loading a freshly built plugin.
This also allows to have a granular dependencies: we don't rebuild klib
if we changed a lowering in a compiler backend, but we do rebuild it if
we changed IR serialization algorithm.
2019-12-25 13:44:57 +03:00
Natalia Selezneva
2f35d6d868
Scripting: save inputs stamp and diagnostics to file attributes
...
Check if they are up to date and initiate configuration update only in case they are out of date
^KT-35205
2019-12-16 14:55:45 +03:00
Ilya Chernikov
b73625ad9e
Switch main-kts to the updated resolvers infrastructure
2019-11-25 14:46:32 +01:00
Anatoly Nikitin
c7e9a6c5d9
Add new script dependency resolvers
...
Changes in new API for dependency resolvers (GenericDependenciesResolver) comparing to an old one (GenericResolver:
- Add ability to fast check whether artifact or repository is suitable for current resolver to distinguish between unsuitable resolvers and resolution failures
- Return all artifact resolution failures in ResultWithDiagnostics
- Use single string for artifact coordinates
- Add compound resolver that combines several resolvers
- Merge Direct and FlatLib resolver into single FileSystemDependencyResolver
- Mark resolve() method as suspend to indicate long operation
- Add credentials support for maven resolver (https://youtrack.jetbrains.com/issue/KT-27701 )
2019-11-14 08:38:50 +01:00
Anatoly Nikitin
81e2e119e2
Fix propagation of dependency resolution failure reports during script compilation
2019-11-14 08:38:50 +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
d97e497da0
Remove embeddable tests - they are causing conflicts...
...
between embeddable compiler contents and intellij sdk modules
To make it work, the dependencies to the intellij sdk should
be eliminated
2019-10-19 11:22:55 +03:00
Ilya Chernikov
08b77bc916
Implement tests to sam-with-receiver support in new scripting API
...
plus minor tests refactoring
2019-10-19 11:22:55 +03:00
Ilya Chernikov
cf3bf5a9b9
[minor] Fix files and jars pattern matching on windows
2019-10-19 11:22:54 +03:00
Nikolay Krasko
db913e519f
Avoid using specific version because they may differ in different platforms
2019-10-17 11:19:13 +03:00
Yan Zhulanow
d31f234311
Pill: Add kotlin-scripting-js module to Pill
2019-10-15 22:06:45 +09: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
8b750bfdc7
Add a property for resolving via classloader in JSR-223
2019-10-10 17:43:31 +02:00
Ilya Chernikov
54caf4bf16
Add resolving from classloader to REPL pipeline
2019-10-10 17:43:30 +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
Roman Artemev
c0f279811e
[JS SCRIPT] refactor js script infrastructure
...
- Implement proper script compiler proxy to correctly handle script and its closed-world dependencies
- Clean up zoo of JsScriptCompilers
2019-10-10 12:52:06 +03:00
Vitaliy.Tikhonov
c6c3d2de9e
[JS SCRIPTING] create tests for repl
2019-10-10 12:52:06 +03:00
Vitaliy.Tikhonov
9b4d92cc07
[JS SCRIPTING] create evaluators for repl and scripting
2019-10-10 12:52:05 +03: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
4d19299e95
[minor] Fix scripting classpath test on windows
2019-09-27 19:44:49 +02:00
Ilya Chernikov
c53a805696
[minor} Refactor scripting host tests:
...
- move definitions into one place
- reduce script/repl compilation classpath - spedd-ups tests (~10%)
2019-09-26 07:16:24 +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
d3b826c71d
Improve class name generation for scripts and REPL snippets
...
- allow to override default name/scheme
- implement host/engine specific names for jsr223 to avoid classloading
clashes (also fix "eval in eval" test)
2019-09-17 16:05:38 +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
f8db150a2b
[minor] Drop some usages of kotlin reflection in scripting compiler plugin
2019-09-17 12:43:16 +02:00
Ilya Chernikov
a12ea37ae8
[minor] Fix non-fatal exception during the embeddable test
2019-09-13 13:19:26 +02:00
Ilya Chernikov
45f5c42a53
Add appropriate script extension to the source name, if not provided
...
#KT-31704 fixed
2019-09-13 13:19:26 +02:00
Ilya Chernikov
92778cc5b5
Set contextClassLoader for the script evaluation
...
#KT-31661
2019-09-13 13:19:26 +02:00
Ilya Chernikov
771f5c13dd
Fix imported script functionality in JSR-223/REPL:
...
- setup compilation properly to take imported scripts into account
- add compiled imported scripts into generated results
= calculate ScriptLightVirtualFile path as relative - simplifies imported scripts location
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
Ilya Chernikov
f350c24846
Implement more general "apply defaults" functionality for host configurations
2019-09-13 13:19:25 +02:00
Sergey Rostov
5b48dcca4f
ResultWithDiagnostics: remove unused equals and hashCode
...
They are overridden by sealed data classes
2019-09-06 09:33:33 +03:00
Ilya Chernikov
947867286c
[minor] Fix potential problems with sequence, add a todo
2019-08-28 17:59:12 +02:00
Ilya Chernikov
0f41dc814f
Switch many common tasks defined in buildSrc to lazy creation
...
also refactor some locally defined tasks to the creation avoidance API
2019-08-21 20:20:08 +02:00