Yan Zhulanow
34d1611ed4
Add Pill support to compiler and IDE modules
2018-03-02 03:15:17 +03:00
Ilya Chernikov
e38d5395df
Pass previous dependencies to the legacy script dependency resolvers
...
fixes #KT-22753
2018-02-09 11:03:43 +01:00
Ilya Chernikov
0a95e7b20f
Fix dependencies and artifacts contents after review
2018-01-30 17:06:16 +03:00
Ilya Chernikov
7e21573cf4
Convert the rest of the project to intellij repo prepared in buildSrc
2018-01-30 17:06:13 +03:00
Ilya Chernikov
4eb557724c
Convert compiler projects to the new intellij deps
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a4f28cd94f
Make all dependencies to idea sdk intransitive
2018-01-30 17:06:11 +03:00
Ilya Chernikov
8f96157d7f
Switch kotlinx-coroutines usages to regular dependency
2018-01-30 17:06:09 +03:00
Alexander Udalov
907f53e539
Refactor ConstantValue implementations
...
Remove KotlinBuiltIns and take a ModuleDescriptor instance in getType
instead. This will allow to create constant values in contexts where
there's no module or built-ins accessible (such as, deserialization of
module annotations during indexing of .kotlin_module files in IDE).
Note that some values (KClassValue, EnumValue, AnnotationValue) still
take module-dependent objects (KotlinType, ClassDescriptor and
AnnotationDescriptor respectively). This is to be refactored later
2018-01-18 12:49:38 +01:00
Denis Zharkov
886d3ef3a6
Optimize KotlinScriptDefinitionFromAnnotatedTemplate::isScript
...
Avoid multiple pattern compilation for script file regex
2018-01-15 18:20:27 +03:00
Alexander Udalov
aca74cef0e
Replace dependencies on kotlin-reflect with kotlin-reflect-api
...
See the previous commit for information on the kotlin-reflect vs
kotlin-reflect-api distinction.
Add kotlin-reflect as an explicit runtime dependency of most of the test
configurations because even though they all depend on tests-common, the
runtime dependency on kotlin-reflect is not exported from tests-common
to other modules because the projectTests dependency is not transitive.
2017-11-28 12:35:49 +01:00
Pavel V. Talanov
cdfdc1d19b
Refactor script definitions loading
...
Make ScriptDefinitionProvider an interface
and provide different implementation for cli and IDEA
Rework ide extension point to a simpler interface (ScriptDefinitionContributor)
Move template loading logic into a top level function
Allow script definitions to be reloaded in IDE
2017-11-14 16:30:33 +03:00
Alexander Udalov
d782c8a644
Use ServiceLoader instead of IntelliJ extensions for ScriptHelper
2017-11-13 13:04:54 +01:00
Pavel V. Talanov
df4b90fcb6
Scripts: Accept objects as DependenciesResolver implementations
...
Fixes DependenciesResolver.NoDependencies causing "missing constructor without parameters" warning
2017-10-12 19:22:59 +03:00
Ilya Chernikov
fd1b677904
Switch reflect to compiled core classes
2017-09-19 23:58:32 +02:00
Ilya Chernikov
d039d191f2
Fix tests in the new build infrastructure
2017-09-19 23:58:30 +02:00
Alexander Podkhalyuzin
3f8170d369
Clean idea files generated on the gradle import, add them to .gitignore
2017-09-19 23:58:27 +02:00
Ilya Chernikov
27968c8e13
Set proper jvmTarget for projects
2017-09-19 21:37:27 +02:00
Ilya Chernikov
deda50dbbb
Continue switching projects to improved dsl: sourceSets and test running
2017-09-19 21:37:26 +02:00
Ilya Chernikov
aa4fdaa713
Implement publishing in the build
2017-09-19 21:37:13 +02:00
Ilya Chernikov
61dfb75e0e
Implement Gradle Kotlin DSL build
2017-09-19 21:37:06 +02:00
Pavel V. Talanov
c132f3b0d1
KT-19276: Drop exception logging on loading script definitions failure
...
See YT discussion
Have to come up with more meaningful diagnostics on definition loading
#KT-19276 Fixed
2017-08-18 19:11:35 +03:00
Mikhail Glukhikh
c5a81691fb
Partial code cleanup: can be private and some others applied
2017-08-01 17:08:56 +03:00
Pavel V. Talanov
b0b2c046b2
script.runtime 1.1.4: IDE and compiler use 'kotlin.script.experimental'
2017-07-30 18:15:41 +03:00
Pavel V. Talanov
f1811e7f0e
Minor, more precise error message
2017-07-24 18:56:14 +03:00
Pavel V. Talanov
5faad493b4
Catch and report exceptions from DependenciesResolver
2017-07-19 12:29:25 +03:00
Pavel V. Talanov
b1ac451959
Make sure template classpath is always among script dependencies
2017-07-19 12:29:15 +03:00
Pavel V. Talanov
f84cc7fb5b
Offload legacy dependency resolver work to a separate thread pool
...
This is mainly to improve experience for kdsl users before gradle migrates to new API
2017-07-19 12:29:12 +03:00
Pavel V. Talanov
bc399444ab
Fix creating DependenciesResolver with default arguments
2017-07-19 12:29:09 +03:00
Pavel V. Talanov
c0e08c61ee
Minor: extract ScriptContentLoader::getEnvironment
2017-07-19 12:29:04 +03:00
Pavel V. Talanov
aacb9a437a
Rename: dependenciesClasspath -> templateClasspath
...
Clearer distinction from additionalResolverClasspath
2017-07-19 12:28:54 +03:00
Pavel V. Talanov
96d8f685e9
Refactor KotlinScriptConfigurationManager: extract parts
...
Introduce ScriptDependenciesUpdater, DependenciesCache and ScriptContentLoader
2017-07-19 12:28:51 +03:00
Pavel V. Talanov
1b42095dc1
Support @AcceptedAnnotations for different kinds of resolvers
2017-07-19 12:28:49 +03:00
Pavel V. Talanov
1c412b4068
AsyncDependenciesResolver: provide implementation for sync resolve
2017-07-19 12:28:46 +03:00
Pavel V. Talanov
ee70a64e1c
Minor, template providers: don't create classloader for empty classpath
2017-07-19 12:28:41 +03:00
Pavel V. Talanov
5c18ab750b
GradleScriptTemplateProvider: avoid duplicating template loading code
2017-07-19 12:28:36 +03:00
Pavel V. Talanov
6c3ce7adc1
ScriptTemplatesProvider: refactor dependency loading
...
Change dependenciesClasspath is of type List<File>
Add additionalResolverClasspath
2017-07-19 12:28:33 +03:00
Pavel V. Talanov
a77cd0ab09
Catch errors when instantiating script templates
...
If we throw from this code IDE becomes unusable
#KT-18945 Fixed
2017-07-19 12:28:31 +03:00
Pavel V. Talanov
75220e145b
Minor: suppress deprecation warning
2017-07-19 12:28:26 +03:00
Pavel V. Talanov
cf57e5a7a1
Script templates: search for parameterless constructor of resolver
2017-07-19 12:28:23 +03:00
Pavel V. Talanov
10e14103b6
Propagate reports from script dependency resolver
...
Compiler: show as compiler messages
IDE: annotate code in a separate highlighting pass
2017-07-19 12:28:20 +03:00
Pavel V. Talanov
96c2a589c0
Support legacy resolver interface
2017-07-19 12:28:18 +03:00
Pavel V. Talanov
65dba3615c
Update project code to use new script.runtime APIs
2017-07-19 12:28:15 +03:00
Pavel V. Talanov
1012a24afc
Refactor: move KotlinScriptExternalImportsProviderImpl to 'cli' module
2017-07-19 12:28:10 +03:00
Pavel V. Talanov
b6a7d831bf
Script IDE API: remove <TF: Any>
2017-07-19 12:28:08 +03:00
Pavel V. Talanov
788eaf8a18
Refactor getting dependencies for script files API
...
Deprecate KotlinScriptDefinition#getDependenciesFor
Expose dependencyResolver as a property
KotlinScriptExternalImportsProvider is the component clients should be asking for dependencies
2017-07-19 12:28:02 +03:00
Pavel V. Talanov
a2aeda7b2c
Support async script dependency updates for annotation based templates
...
Do not try to cache dependencies for every script on startup
Schedule cache updates upon request as opposed to updating them synchronously
2017-07-19 12:27:45 +03:00
Pavel V. Talanov
b7fc909821
Split compiler and ide specific parts of script dependency caching
...
Move all caching logic to ide specific KotlinScriptConfigurationManager
Clean up apis
Remove logging when updating caches
2017-07-19 12:27:43 +03:00
Ilya Chernikov
2ec2a08753
Implement advanced gradle script template selection in the provider, improve diagnostics
2017-07-08 18:16:24 +02:00
Alexander Udalov
7febd846e8
Export 'intellij-core' in module 'frontend'
...
Remove intellij-core from dependencies of modules which already depend
on frontend or any module that exports frontend (such as frontend.java)
2017-06-06 14:29:26 +03:00
Alexander Udalov
cbaa676c3d
Move some declarations between 'descriptors' and 'deserialization'
...
- Move the following from 'deserialization' to 'descriptors':
NotFoundClasses.kt
AdditionalClassPartsProvider.kt
ClassDescriptorFactory.kt
PlatformDependentDeclarationFilter.kt
findClassInModule.kt
- Move the following form 'descriptors' to 'deserialization':
BuiltInSerializerProtocol.kt
builtInsPackageFragmentProvider.kt
- Extract a marker interface from BuiltInsPackageFragment and move its
implementation to 'deserialization'
- Change the type of parameters in PlatformDependentDeclarationFilter
and AdditionalClassPartsProvider to ClassDescriptor
This will help in getting rid of the circular dependency of
'descriptors' <-> 'deserialization'
2017-06-06 14:29:18 +03:00