[Plugins] Extract parts of cli modules which were used from IDE into common modules

This is needed to avoid IDE dependencies on cli modules, because they
  include FIR classes, which are inaccessible in regular Kotlin IDE plugin
This commit is contained in:
Dmitriy Novozhilov
2022-06-02 14:40:45 +03:00
committed by teamcity
parent 9b56a01d74
commit 66c2679673
16 changed files with 138 additions and 46 deletions
@@ -0,0 +1,20 @@
description = "Kotlin NoArg Compiler Plugin (Common)"
plugins {
kotlin("jvm")
id("jps-compatible")
}
dependencies {
compileOnly(project(":compiler:util"))
compileOnly(project(":core:compiler.common"))
}
sourceSets {
"main" { projectDefault() }
"test" { none() }
}
runtimeJar()
javadocJar()
sourcesJar()
@@ -0,0 +1,32 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.allopen
object AllOpenPluginNames {
val SUPPORTED_PRESETS = mapOf(
"spring" to listOf(
"org.springframework.stereotype.Component",
"org.springframework.transaction.annotation.Transactional",
"org.springframework.scheduling.annotation.Async",
"org.springframework.cache.annotation.Cacheable",
"org.springframework.boot.test.context.SpringBootTest",
"org.springframework.validation.annotation.Validated"
),
"quarkus" to listOf(
"javax.enterprise.context.ApplicationScoped",
"javax.enterprise.context.RequestScoped"
),
"micronaut" to listOf(
"io.micronaut.aop.Around",
"io.micronaut.aop.Introduction",
"io.micronaut.aop.InterceptorBinding",
"io.micronaut.aop.InterceptorBindingDefinitions"
)
)
const val PLUGIN_ID = "org.jetbrains.kotlin.allopen"
const val ANNOTATION_OPTION_NAME = "annotation"
}