Commit Graph

68 Commits

Author SHA1 Message Date
Ilya Chernikov
d760299dc1 Implement context classpath extraction using particular class,...
Use it in the main-kts.
Also improve diagnoistics related to the definition loading.

#KT-26828 fixed (after this commit - finally, see also another related commit)
2018-09-15 15:44:53 +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
ae107339fd Implement compiled script caching with tests 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
6c60e38260 Add compatibility with templates from script-runtime...
and add script-runtime to the compilation classpath by default
2018-09-06 19:17:44 +02:00
Ilya Chernikov
6716c512d3 [minor] Rename too long named functions 2018-09-06 19:17:43 +02:00
Ilya Chernikov
a52b57eecf Drop currently unused REPL part of the API 2018-09-06 19:17:43 +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
539e0f4961 [minor] switch to project dependencies in scripting projects 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
98c0a3bdaa Optimize script base class loading 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
dbee426647 [minor] use java reflection in some places instead of kotlin one 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
c41717d03b Make definition a part of the basic hosts, simplify usages 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
1de37ca765 Make KotlinScript annotation accepting all params needed to define a script 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
705faa4792 Add lazy discovery test 2018-05-25 09:51:04 +02:00
Ilya Chernikov
b3219cb762 Implement lazy script definition and light discovery in cli plugin, ...
update appropriate parts of the scripting infrastructure
2018-05-14 11:13:44 +02:00
Ilya Chernikov
9eab7a627d Add script API libs sources to the IDEA plugin 2018-05-03 22:15:10 +02:00