Ilya Chernikov
931b1c66d8
Fix equality and serializability of scripting data, fix relevant caching behaviour
2019-03-19 17:11:52 +01:00
Ilya Chernikov
4571e273a4
Add shared script instances support, fix and refactor evaluation accordingly
...
also fix arguments order in the evaluator
2019-01-10 10:59:32 +01:00
Ilya Chernikov
7bb4233e17
Add mapping function for transformations with ResultsWithDiagnostics
...
also improve chaining helpers
2019-01-10 10:59:32 +01:00
Ilya Chernikov
44ea2bf1d4
Introduce script names and location ids, use them in diagnostics and...
...
for virtual file names. Also fix compiled script serialization.
2018-12-20 17:09:23 +01:00
Ilya Chernikov
1e74ab5a62
Implement import test, fix import support in compiler and evaluator
2018-12-20 17:09:19 +01:00
Ilya Chernikov
fce68102bd
Implement imported scripts evaluation and construction
2018-12-20 17:09:18 +01:00
Ilya Chernikov
729ebcac9b
Implement simple "add to compilation" functionality for scripts
...
(incomplete import - scripts added to the compilation but not yet
imported into scope)
Base functionality needed for #KT-27960
2018-12-20 17:09:16 +01:00
Ilya Chernikov
e0a542234f
Add script config refinement before compilation into API
2018-12-13 18:00:10 +01:00
Ilya Chernikov
ae0b2405bc
Add ide script settings for sources and accepted location
2018-10-25 13:09:34 +02:00
Ilya Chernikov
712e23f8b0
Document scripting common API, drop unused bits
2018-09-11 14:56:53 +02:00
Ilya Chernikov
a02d5b4b21
Rename script annotation params according to configuration keys...
...
rename evaluation params consistently too
2018-09-11 14:56:51 +02:00
Ilya Chernikov
ba2e08c014
Make property collection serializable (with runtime check)
2018-09-06 19:17:45 +02:00
Ilya Chernikov
836ea28fe7
Renaming remaining former "environment"-related identifiers
2018-09-06 19:17:44 +02:00
Ilya Chernikov
67ba8b5361
Rename ScriptSource to SourceCode, extract location to another i-face...
...
other related refactorings. The goal - make interface terminologically
more suitable for usage in REPL.
2018-09-06 19:17:43 +02:00
Ilya Chernikov
1e85a26b62
Fix evaluation part of the scripting API - mostly renaming
2018-09-06 19:17:43 +02:00
Ilya Chernikov
01eca8bac8
Clean up properties collection
2018-08-23 09:51:53 +03:00
Ilya Chernikov
c2e6c0ed49
Rename ScriptingEnvironment to ScriptingHostConfiguration
2018-08-23 09:51:53 +03:00
Ilya Chernikov
2fe5f78921
Rename ScriptEvaluationEnvironment into ScriptEvaluationConfiguration
2018-08-23 09:51:53 +03:00
Ilya Chernikov
bb22dadc1e
Rearrange compilation related API
2018-08-23 09:51:53 +03:00
Ilya Chernikov
bd8f2a81e9
Rename ScriptDefinition to ScriptCompileConfiguration
2018-08-23 09:51:53 +03:00
Ilya Chernikov
d2195fc080
Fix default script definition
2018-08-23 09:51:53 +03:00
Ilya Chernikov
acb0f6c6a9
Remove ScriptCompileConfiguration as separate entity, refactor pieces accordingly
2018-08-23 09:51:53 +03:00
Ilya Chernikov
ab63d59a56
Refactor definition keys
2018-08-23 09:51:53 +03:00
Ilya Chernikov
04ffe7754e
Refactoring properties collection after review
2018-08-23 09:51:53 +03:00
Ilya Chernikov
74f8a541c0
Grand refactoring of the scripting DSL + many minor usability refactorings around it
2018-08-23 09:51:53 +03:00
Ilya Chernikov
45eaca1290
Add diagnostics chaining
2018-08-23 09:51:53 +03:00
Ilya Chernikov
3fb3aa5ad1
Setup props once, fix initialization problem
2018-08-23 09:51:53 +03:00
Ilya Chernikov
70ec004aaa
Sorting default jvm props and basic implementations
2018-08-23 09:51:53 +03:00
Ilya Chernikov
fe2a11142e
Renaming, commenting sample
2018-08-23 09:51:53 +03:00
Ilya Chernikov
3629583942
Add overridable method "setup" for defining properties
2018-08-23 09:51:53 +03:00
Ilya Chernikov
dafbd59707
Add shorter aliases for properties
2018-08-23 09:51:53 +03:00
Ilya Chernikov
100b908a94
Add properties builders to the dsl, implement a builder for refineConfiguration
2018-08-23 09:51:53 +03:00
Ilya Chernikov
e5e1b8d100
Improve generic DSL
2018-08-23 09:51:53 +03:00
Ilya Chernikov
7a621405ae
Add generic properties builder dsl, convert maven example to it
2018-08-23 09:51:53 +03:00
Ilya Chernikov
d0ed86c11c
Add REPL interfaces to scripting API
2018-08-23 09:51:53 +03:00
Ilya Chernikov
5ca4a21edf
Convert evaluator interface to function
2018-08-23 09:51:53 +03:00
Ilya Chernikov
9b7eeebaaa
Convert compiler interface to function
2018-08-23 09:51:53 +03:00
Ilya Chernikov
cf2162c445
Refactor properties
2018-08-23 09:51:53 +03:00
Ilya Chernikov
904917c194
Make script definition a property bag directly
2018-08-23 09:51:53 +03:00
Ilya Chernikov
8953bba47c
Pass scripting (host) environment independently from properties/configuration
2018-08-23 09:51:53 +03:00
Ilya Chernikov
91e6c0b77c
Remove evaluator from script definition, simplify interface
2018-08-23 09:51:53 +03:00
Ilya Chernikov
e61ba1fd70
Replace dedicated configurator with definition properties + refine fun
2018-08-23 09:51:53 +03:00
Ilya Chernikov
a54675abe7
Clean and fix new scripting API
2018-08-23 09:51:53 +03:00
Ilya Chernikov
56e9bfcd62
Fix default configuration refinement in scripts
2018-07-10 08:43:50 +02:00
Ilya Chernikov
6fdb8746de
Fixes after review
2018-05-28 22:10:56 +02:00
Ilya Chernikov
a46dd5b30e
Avoid using reflected types in the scripting API
...
since it causes numerous classloading issues. Using the wrapping types
and reload them in the proper context when needed.
Note: this version supports only classes, but the wrapping type could
be extended to support other types in the future.
+ numerous fixes related to proper loading and handling of the templates.
2018-05-28 22:10:56 +02:00
Ilya Chernikov
57db77a295
Refactor script infrastructure for easier usage and testability:
...
- add script annotation for specifying default configuration for a script
- add support for this annotation in the default configurator
- rename configurator accordingly
- add default implementation of the refineConfiguration method
- make property bag class open
2018-05-03 22:15:09 +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
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