From 34818b0bbea11302e4ab71d40fc1b9504aca1782 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 27 Dec 2018 19:16:13 +0300 Subject: [PATCH] Remove JPS support for Android Extensions --- generators/build.gradle.kts | 1 - .../kotlin/generators/tests/GenerateTests.kt | 7 -- .../generators/tests/GenerateTests.kt.as31 | 8 -- .../generators/tests/GenerateTests.kt.as32 | 8 -- .../generators/tests/GenerateTests.kt.as33 | 7 -- .../generators/tests/GenerateTests.kt.as34 | 7 -- .../android-extensions-idea/build.gradle.kts | 1 - .../android-extensions-jps/build.gradle.kts | 53 -------- ....serialization.JpsModelSerializerExtension | 1 - ...s.build.KotlinJpsCompilerArgumentsProvider | 1 - .../src/KotlinAndroidJpsPlugin.kt | 118 ------------------ .../AndroidExtensionsDataProvider.kt | 27 ---- ...DataProviderJpsModelSerializerExtension.kt | 17 --- .../impl/AndroidExtensionsDataProviderImpl.kt | 43 ------- .../android/AbstractAndroidJpsTestCase.kt | 51 -------- .../AbstractAndroidJpsTestCase.kt.as31 | 0 .../AbstractAndroidJpsTestCase.kt.as32 | 0 .../android/AndroidJpsTestCaseGenerated.java | 36 ------ .../AndroidJpsTestCaseGenerated.java.as31 | 0 .../AndroidJpsTestCaseGenerated.java.as32 | 0 .../android/simple/AndroidManifest.xml | 16 --- .../simple/res/layout/activity_main.xml | 14 --- .../android/simple/res/layout/fragment.xml | 14 --- .../testData/android/simple/simple.iml | 44 ------- .../testData/android/simple/simple.ipr | 18 --- .../src/com/example/myapp/MyActivity.kt | 31 ----- prepare/jps-plugin/build.gradle.kts | 3 +- prepare/jps-plugin/build.gradle.kts.as33 | 37 ------ prepare/jps-plugin/build.gradle.kts.as34 | 37 ------ settings.gradle | 2 - 30 files changed, 1 insertion(+), 601 deletions(-) delete mode 100644 plugins/android-extensions/android-extensions-jps/build.gradle.kts delete mode 100644 plugins/android-extensions/android-extensions-jps/resources/META-INF/services/org.jetbrains.jps.model.serialization.JpsModelSerializerExtension delete mode 100644 plugins/android-extensions/android-extensions-jps/resources/META-INF/services/org.jetbrains.kotlin.jps.build.KotlinJpsCompilerArgumentsProvider delete mode 100644 plugins/android-extensions/android-extensions-jps/src/KotlinAndroidJpsPlugin.kt delete mode 100644 plugins/android-extensions/android-extensions-jps/src/extensions/AndroidExtensionsDataProvider.kt delete mode 100644 plugins/android-extensions/android-extensions-jps/src/extensions/impl/AndroidExtensionDataProviderJpsModelSerializerExtension.kt delete mode 100644 plugins/android-extensions/android-extensions-jps/src/extensions/impl/AndroidExtensionsDataProviderImpl.kt delete mode 100644 plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt delete mode 100644 plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt.as31 delete mode 100644 plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt.as32 delete mode 100644 plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java delete mode 100644 plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java.as31 delete mode 100644 plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java.as32 delete mode 100644 plugins/android-extensions/android-extensions-jps/testData/android/simple/AndroidManifest.xml delete mode 100644 plugins/android-extensions/android-extensions-jps/testData/android/simple/res/layout/activity_main.xml delete mode 100644 plugins/android-extensions/android-extensions-jps/testData/android/simple/res/layout/fragment.xml delete mode 100644 plugins/android-extensions/android-extensions-jps/testData/android/simple/simple.iml delete mode 100644 plugins/android-extensions/android-extensions-jps/testData/android/simple/simple.ipr delete mode 100644 plugins/android-extensions/android-extensions-jps/testData/android/simple/src/com/example/myapp/MyActivity.kt delete mode 100644 prepare/jps-plugin/build.gradle.kts.as33 delete mode 100644 prepare/jps-plugin/build.gradle.kts.as34 diff --git a/generators/build.gradle.kts b/generators/build.gradle.kts index b5a054c2d1d..dfa86064ed0 100644 --- a/generators/build.gradle.kts +++ b/generators/build.gradle.kts @@ -22,7 +22,6 @@ dependencies { compile(projectTests(":plugins:jvm-abi-gen")) compile(projectTests(":plugins:android-extensions-compiler")) compile(projectTests(":plugins:android-extensions-ide")) - compile(projectTests(":plugins:android-extensions-jps")) compile(projectTests(":kotlin-annotation-processing")) compile(projectTests(":kotlin-annotation-processing-cli")) compile(projectTests(":kotlin-allopen-compiler-plugin")) diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index b76c96bbc01..62a95f0d91f 100755 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -146,7 +146,6 @@ import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterForWebDemoTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterMultiFileTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterSingleFileTest import org.jetbrains.kotlin.jps.build.* -import org.jetbrains.kotlin.jps.build.android.AbstractAndroidJpsTestCase import org.jetbrains.kotlin.jps.build.dependeciestxt.actualizeMppJpsIncTestCaseDirs import org.jetbrains.kotlin.jps.incremental.AbstractJsProtoComparisonTest import org.jetbrains.kotlin.jps.incremental.AbstractJvmProtoComparisonTest @@ -1203,10 +1202,4 @@ fun main(args: Array) { model("android/gutterIcon") } } - - testGroup("plugins/android-extensions/android-extensions-jps/test", "plugins/android-extensions/android-extensions-jps/testData") { - testClass { - model("android", recursive = false, extension = null) - } - } } diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as31 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as31 index fe3ae2f1c24..6f8138ad07e 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as31 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as31 @@ -146,7 +146,6 @@ import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterForWebDemoTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterMultiFileTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterSingleFileTest //import org.jetbrains.kotlin.jps.build.* -//import org.jetbrains.kotlin.jps.build.android.AbstractAndroidJpsTestCase //import org.jetbrains.kotlin.jps.incremental.AbstractJsProtoComparisonTest //import org.jetbrains.kotlin.jps.incremental.AbstractJvmProtoComparisonTest import org.jetbrains.kotlin.kapt.cli.test.AbstractArgumentParsingTest @@ -1102,11 +1101,4 @@ fun main(args: Array) { model("android/gutterIcon") } } -/* - testGroup("plugins/android-extensions/android-extensions-jps/test", "plugins/android-extensions/android-extensions-jps/testData") { - testClass { - model("android", recursive = false, extension = null) - } - } -*/ } diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as32 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as32 index fe3ae2f1c24..6f8138ad07e 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as32 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as32 @@ -146,7 +146,6 @@ import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterForWebDemoTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterMultiFileTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterSingleFileTest //import org.jetbrains.kotlin.jps.build.* -//import org.jetbrains.kotlin.jps.build.android.AbstractAndroidJpsTestCase //import org.jetbrains.kotlin.jps.incremental.AbstractJsProtoComparisonTest //import org.jetbrains.kotlin.jps.incremental.AbstractJvmProtoComparisonTest import org.jetbrains.kotlin.kapt.cli.test.AbstractArgumentParsingTest @@ -1102,11 +1101,4 @@ fun main(args: Array) { model("android/gutterIcon") } } -/* - testGroup("plugins/android-extensions/android-extensions-jps/test", "plugins/android-extensions/android-extensions-jps/testData") { - testClass { - model("android", recursive = false, extension = null) - } - } -*/ } diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as33 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as33 index d230856b65b..9b688f96aa4 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as33 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as33 @@ -138,7 +138,6 @@ import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterForWebDemoTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterMultiFileTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterSingleFileTest //import org.jetbrains.kotlin.jps.build.* -//import org.jetbrains.kotlin.jps.build.android.AbstractAndroidJpsTestCase //import org.jetbrains.kotlin.jps.incremental.AbstractJsProtoComparisonTest //import org.jetbrains.kotlin.jps.incremental.AbstractJvmProtoComparisonTest import org.jetbrains.kotlin.kapt.cli.test.AbstractArgumentParsingTest @@ -1098,11 +1097,5 @@ fun main(args: Array) { model("android/gutterIcon") } } - - testGroup("plugins/android-extensions/android-extensions-jps/test", "plugins/android-extensions/android-extensions-jps/testData") { - testClass { - model("android", recursive = false, extension = null) - } - } */ } diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as34 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as34 index d230856b65b..9b688f96aa4 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as34 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as34 @@ -138,7 +138,6 @@ import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterForWebDemoTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterMultiFileTest import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterSingleFileTest //import org.jetbrains.kotlin.jps.build.* -//import org.jetbrains.kotlin.jps.build.android.AbstractAndroidJpsTestCase //import org.jetbrains.kotlin.jps.incremental.AbstractJsProtoComparisonTest //import org.jetbrains.kotlin.jps.incremental.AbstractJvmProtoComparisonTest import org.jetbrains.kotlin.kapt.cli.test.AbstractArgumentParsingTest @@ -1098,11 +1097,5 @@ fun main(args: Array) { model("android/gutterIcon") } } - - testGroup("plugins/android-extensions/android-extensions-jps/test", "plugins/android-extensions/android-extensions-jps/testData") { - testClass { - model("android", recursive = false, extension = null) - } - } */ } diff --git a/plugins/android-extensions/android-extensions-idea/build.gradle.kts b/plugins/android-extensions/android-extensions-idea/build.gradle.kts index a59fca51589..bd56744f6c2 100644 --- a/plugins/android-extensions/android-extensions-idea/build.gradle.kts +++ b/plugins/android-extensions/android-extensions-idea/build.gradle.kts @@ -42,7 +42,6 @@ dependencies { testCompile(intellijDep()) testRuntime(project(":idea:idea-jvm")) - testRuntime(project(":plugins:android-extensions-jps")) testRuntime(project(":sam-with-receiver-ide-plugin")) testRuntime(project(":noarg-ide-plugin")) testRuntime(project(":allopen-ide-plugin")) diff --git a/plugins/android-extensions/android-extensions-jps/build.gradle.kts b/plugins/android-extensions/android-extensions-jps/build.gradle.kts deleted file mode 100644 index 51e2d6684ee..00000000000 --- a/plugins/android-extensions/android-extensions-jps/build.gradle.kts +++ /dev/null @@ -1,53 +0,0 @@ - -plugins { - kotlin("jvm") - id("jps-compatible") -} - -dependencies { - testRuntime(intellijDep()) - - compile(project(":compiler:util")) - compile(project(":jps-plugin")) - compile(project(":plugins:android-extensions-compiler")) - compileOnly(intellijDep()) { includeJars("openapi", "jps-builders", "jps-model", "jdom") } - Platform[181].orHigher { - compileOnly(intellijDep()) { includeJars("platform-api") } - } - compileOnly(intellijPluginDep("android")) { includeJars("jps/android-jps-plugin") } - compile(intellijPluginDep("android")) { includeJars("jps/android-jps-plugin") } - - testCompile(projectTests(":jps-plugin")) - testCompile(commonDep("junit:junit")) - testCompile(project(":kotlin-test:kotlin-test-jvm")) - testCompile(projectTests(":kotlin-build-common")) - testCompileOnly(intellijDep()) { includeJars("openapi", "jps-builders") } - testCompileOnly(intellijDep("jps-build-test")) { includeJars("jps-build-test") } - testCompileOnly(intellijDep()) { includeJars("jps-model") } - - testRuntime(intellijPluginDep("android")) - (Platform[181].orHigher.or(Ide.AS31)) { - testRuntime(intellijPluginDep("smali")) - } - testRuntime(intellijDep("jps-build-test")) - testRuntime(intellijDep("jps-standalone")) -} - -sourceSets { - Ide.IJ { - "main" { projectDefault() } - "test" { projectDefault() } - } - - Ide.AS { - "main" {} - "test" {} - } -} - -projectTest { - workingDir = rootDir - useAndroidSdk() -} - -testsJar {} \ No newline at end of file diff --git a/plugins/android-extensions/android-extensions-jps/resources/META-INF/services/org.jetbrains.jps.model.serialization.JpsModelSerializerExtension b/plugins/android-extensions/android-extensions-jps/resources/META-INF/services/org.jetbrains.jps.model.serialization.JpsModelSerializerExtension deleted file mode 100644 index 544242116a5..00000000000 --- a/plugins/android-extensions/android-extensions-jps/resources/META-INF/services/org.jetbrains.jps.model.serialization.JpsModelSerializerExtension +++ /dev/null @@ -1 +0,0 @@ -org.jetbrains.jps.android.model.base.impl.AndroidExtensionDataProviderJpsModelSerializerExtension \ No newline at end of file diff --git a/plugins/android-extensions/android-extensions-jps/resources/META-INF/services/org.jetbrains.kotlin.jps.build.KotlinJpsCompilerArgumentsProvider b/plugins/android-extensions/android-extensions-jps/resources/META-INF/services/org.jetbrains.kotlin.jps.build.KotlinJpsCompilerArgumentsProvider deleted file mode 100644 index d2483124e7b..00000000000 --- a/plugins/android-extensions/android-extensions-jps/resources/META-INF/services/org.jetbrains.kotlin.jps.build.KotlinJpsCompilerArgumentsProvider +++ /dev/null @@ -1 +0,0 @@ -org.jetbrains.kotlin.android.jps.KotlinAndroidJpsPlugin \ No newline at end of file diff --git a/plugins/android-extensions/android-extensions-jps/src/KotlinAndroidJpsPlugin.kt b/plugins/android-extensions/android-extensions-jps/src/KotlinAndroidJpsPlugin.kt deleted file mode 100644 index 4a3be042ca6..00000000000 --- a/plugins/android-extensions/android-extensions-jps/src/KotlinAndroidJpsPlugin.kt +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.android.jps - -import com.intellij.util.PathUtil -import org.jetbrains.jps.android.model.base.AndroidExtensionsDataProvider -import org.jetbrains.jps.incremental.CompileContext -import org.jetbrains.jps.incremental.ModuleBuildTarget -import org.jetbrains.jps.model.module.JpsModule -import org.jetbrains.kotlin.jps.build.KotlinJpsCompilerArgumentsProvider -import org.w3c.dom.Document -import java.io.File -import javax.xml.parsers.DocumentBuilderFactory - -class KotlinAndroidJpsPlugin : KotlinJpsCompilerArgumentsProvider { - override fun getExtraArguments(moduleBuildTarget: ModuleBuildTarget, context: CompileContext): List { - val module = moduleBuildTarget.module - if (!hasAndroidJpsPlugin() || !isAndroidModuleWithoutGradle(module)) return emptyList() - - val pluginId = ANDROID_COMPILER_PLUGIN_ID - val resPath = getAndroidResPath(module) - val applicationId = getAndroidManifest(module)?.let { getApplicationPackageFromManifest(it) } - - return if (resPath != null && applicationId != null) { - listOf( - getPluginOptionString(pluginId, VARIANT_OPTION_NAME, "main;$resPath"), - getPluginOptionString(pluginId, PACKAGE_OPTION_NAME, applicationId) - ) - } else emptyList() - } - - private fun isAndroidModuleWithoutGradle(module: JpsModule): Boolean { - val androidFacet = AndroidExtensionsDataProvider.getExtension(module) ?: return false - return !androidFacet.isGradleProject() - } - - private fun hasAndroidJpsPlugin(): Boolean { - try { - Class.forName(ANDROID_JPS_UTIL_CLASS_FQNAME) - return true - } catch (e: ClassNotFoundException) { - return false - } - } - - override fun getClasspath(moduleBuildTarget: ModuleBuildTarget, context: CompileContext): List { - val module = moduleBuildTarget.module - if (!hasAndroidJpsPlugin() || !isAndroidModuleWithoutGradle(module)) return emptyList() - - val manifestFile = getAndroidManifest(moduleBuildTarget.module) - - return if (manifestFile != null) { - val jpsPluginJar = File(PathUtil.getJarPathForClass(this::class.java)) - val compilerPluginJar: File - - if (jpsPluginJar.parentFile?.name == "libs" && jpsPluginJar.parentFile?.parentFile?.name == "build") { - // We're in tests now (inside plugins/android-extensions/android-extensions-jps/build/libs) - compilerPluginJar = File("dist/kotlinc/lib/$JAR_FILE_NAME") - } else { - // Inside Kotlin/jps directory (Kotlin plugin) - val libDirectory = jpsPluginJar.parentFile.parentFile - compilerPluginJar = File(libDirectory, JAR_FILE_NAME) - } - - listOf(compilerPluginJar.absolutePath) - } else emptyList() - } - - private fun getAndroidResPath(module: JpsModule): String? { - return AndroidExtensionsDataProvider.getExtension(module)?.getResourceDirForCompilationPath()?.absolutePath - } - - private fun getAndroidManifest(module: JpsModule): File? { - return AndroidExtensionsDataProvider.getExtension(module)?.getManifestFileForCompilationPath() - } - - companion object { - private const val ANDROID_JPS_UTIL_CLASS_FQNAME = "org.jetbrains.jps.android.AndroidJpsUtil" - - private const val JAR_FILE_NAME = "android-extensions-compiler.jar" - private const val ANDROID_COMPILER_PLUGIN_ID = "org.jetbrains.kotlin.android" - - private const val VARIANT_OPTION_NAME = "variant" - private const val PACKAGE_OPTION_NAME = "package" - - private fun getApplicationPackageFromManifest(manifestFile: File): String? { - return try { - manifestFile.parseXml().documentElement.getAttribute("package") - } catch (e: Exception) { - null - } - } - - private fun File.parseXml(): Document { - val factory = DocumentBuilderFactory.newInstance() - val builder = factory.newDocumentBuilder() - return builder.parse(this) - } - - private fun getPluginOptionString(pluginId: String, key: String, value: String): String { - return "plugin:$pluginId:$key=$value" - } - } -} \ No newline at end of file diff --git a/plugins/android-extensions/android-extensions-jps/src/extensions/AndroidExtensionsDataProvider.kt b/plugins/android-extensions/android-extensions-jps/src/extensions/AndroidExtensionsDataProvider.kt deleted file mode 100644 index 460d0e7aca0..00000000000 --- a/plugins/android-extensions/android-extensions-jps/src/extensions/AndroidExtensionsDataProvider.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. 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.jps.android.model.base - -import org.jetbrains.jps.model.JpsElement -import org.jetbrains.jps.model.ex.JpsElementChildRoleBase -import org.jetbrains.jps.model.module.JpsModule -import java.io.File - -interface AndroidExtensionsDataProvider : JpsElement { - companion object { - val KIND: JpsElementChildRoleBase = - JpsElementChildRoleBase.create("android extensions data provider") - - fun getExtension(module: JpsModule): AndroidExtensionsDataProvider? { - return module.container.getChild(KIND) - } - } - - fun isGradleProject(): Boolean - fun getResourceDirForCompilationPath(): File? - fun getManifestFileForCompilationPath(): File? -} - diff --git a/plugins/android-extensions/android-extensions-jps/src/extensions/impl/AndroidExtensionDataProviderJpsModelSerializerExtension.kt b/plugins/android-extensions/android-extensions-jps/src/extensions/impl/AndroidExtensionDataProviderJpsModelSerializerExtension.kt deleted file mode 100644 index ededa793730..00000000000 --- a/plugins/android-extensions/android-extensions-jps/src/extensions/impl/AndroidExtensionDataProviderJpsModelSerializerExtension.kt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. 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.jps.android.model.base.impl - -import org.jdom.Element -import org.jetbrains.jps.android.model.base.AndroidExtensionsDataProvider -import org.jetbrains.jps.model.module.JpsModule -import org.jetbrains.jps.model.serialization.JpsModelSerializerExtension - -class AndroidExtensionDataProviderJpsModelSerializerExtension : JpsModelSerializerExtension() { - override fun loadModuleOptions(module: JpsModule, rootElement: Element) { - module.container.setChild(AndroidExtensionsDataProvider.KIND, AndroidExtensionsDataProviderImpl()) - } -} \ No newline at end of file diff --git a/plugins/android-extensions/android-extensions-jps/src/extensions/impl/AndroidExtensionsDataProviderImpl.kt b/plugins/android-extensions/android-extensions-jps/src/extensions/impl/AndroidExtensionsDataProviderImpl.kt deleted file mode 100644 index e2b1b2a02ea..00000000000 --- a/plugins/android-extensions/android-extensions-jps/src/extensions/impl/AndroidExtensionsDataProviderImpl.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. 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.jps.android.model.base.impl - -import org.jetbrains.jps.android.AndroidJpsUtil -import org.jetbrains.jps.android.model.base.AndroidExtensionsDataProvider -import org.jetbrains.jps.model.ex.JpsElementBase -import org.jetbrains.jps.model.module.JpsModule -import java.io.File - -class AndroidExtensionsDataProviderImpl : JpsElementBase(), - AndroidExtensionsDataProvider { - private val module - get() = super.getParent() as JpsModule - - override fun applyChanges(modified: AndroidExtensionsDataProviderImpl) { - fireElementChanged() - } - - override fun createCopy(): AndroidExtensionsDataProviderImpl { - return AndroidExtensionsDataProviderImpl() - } - - private val androidExtension - get() = AndroidJpsUtil.getExtension(module) - - override fun isGradleProject(): Boolean { - return androidExtension?.isGradleProject ?: false - } - - override fun getResourceDirForCompilationPath(): File? { - val androidExtension = this.androidExtension ?: return null - return AndroidJpsUtil.getResourceDirForCompilationPath(androidExtension) - } - - override fun getManifestFileForCompilationPath(): File? { - val androidExtension = this.androidExtension ?: return null - return AndroidJpsUtil.getManifestFileForCompilationPath(androidExtension) - } -} \ No newline at end of file diff --git a/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt b/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt deleted file mode 100644 index 5a9b2abcdc2..00000000000 --- a/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.jps.build.android - -import com.intellij.openapi.util.io.FileUtil -import org.jetbrains.jps.android.model.JpsAndroidSdkProperties -import org.jetbrains.jps.model.JpsSimpleElement -import org.jetbrains.jps.model.library.sdk.JpsSdk -import org.jetbrains.jps.android.model.JpsAndroidSdkType -import org.jetbrains.jps.model.impl.JpsSimpleElementImpl -import org.jetbrains.jps.model.library.JpsOrderRootType -import org.jetbrains.kotlin.jps.build.BaseKotlinJpsBuildTestCase -import org.jetbrains.kotlin.test.KotlinTestUtils -import java.io.File - -abstract class AbstractAndroidJpsTestCase : BaseKotlinJpsBuildTestCase() { - - private val SDK_NAME = "Android API 26 Platform" - - fun doTest(path: String) { - addJdkAndAndroidSdk() - loadProject(path + getTestName(true) + ".ipr") - rebuildAllModules() - buildAllModules().assertSuccessful() - FileUtil.delete(File(path + "/out")) - } - - private fun addJdkAndAndroidSdk(): JpsSdk> { - val jdkName = "java_sdk" - addJdk(jdkName) - val properties = JpsAndroidSdkProperties("android-26", jdkName) - val sdkPath = KotlinTestUtils.findAndroidSdk().canonicalPath - val library = myModel.global.addSdk(SDK_NAME, sdkPath, "", JpsAndroidSdkType.INSTANCE, JpsSimpleElementImpl(properties)) - library.addRoot(File(sdkPath + "/platforms/android-26/android.jar"), JpsOrderRootType.COMPILED) - return library.properties - } -} diff --git a/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt.as31 b/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt.as31 deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt.as32 b/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt.as32 deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java b/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java deleted file mode 100644 index e16f0710207..00000000000 --- a/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. 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.jps.build.android; - -import com.intellij.testFramework.TestDataPath; -import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; -import org.jetbrains.kotlin.test.KotlinTestUtils; -import org.jetbrains.kotlin.test.TargetBackend; -import org.jetbrains.kotlin.test.TestMetadata; -import org.junit.runner.RunWith; - -import java.io.File; -import java.util.regex.Pattern; - -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ -@SuppressWarnings("all") -@TestMetadata("plugins/android-extensions/android-extensions-jps/testData/android") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class AndroidJpsTestCaseGenerated extends AbstractAndroidJpsTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath); - } - - public void testAllFilesPresentInAndroid() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("plugins/android-extensions/android-extensions-jps/testData/android"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, false); - } - - @TestMetadata("simple") - public void testSimple() throws Exception { - runTest("plugins/android-extensions/android-extensions-jps/testData/android/simple/"); - } -} diff --git a/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java.as31 b/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java.as31 deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java.as32 b/plugins/android-extensions/android-extensions-jps/test/org/jetbrains/kotlin/jps/build/android/AndroidJpsTestCaseGenerated.java.as32 deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/plugins/android-extensions/android-extensions-jps/testData/android/simple/AndroidManifest.xml b/plugins/android-extensions/android-extensions-jps/testData/android/simple/AndroidManifest.xml deleted file mode 100644 index 85352f74f1b..00000000000 --- a/plugins/android-extensions/android-extensions-jps/testData/android/simple/AndroidManifest.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/plugins/android-extensions/android-extensions-jps/testData/android/simple/res/layout/activity_main.xml b/plugins/android-extensions/android-extensions-jps/testData/android/simple/res/layout/activity_main.xml deleted file mode 100644 index a783ff98d49..00000000000 --- a/plugins/android-extensions/android-extensions-jps/testData/android/simple/res/layout/activity_main.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - diff --git a/plugins/android-extensions/android-extensions-jps/testData/android/simple/res/layout/fragment.xml b/plugins/android-extensions/android-extensions-jps/testData/android/simple/res/layout/fragment.xml deleted file mode 100644 index 86b67a2a2e2..00000000000 --- a/plugins/android-extensions/android-extensions-jps/testData/android/simple/res/layout/fragment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - diff --git a/plugins/android-extensions/android-extensions-jps/testData/android/simple/simple.iml b/plugins/android-extensions/android-extensions-jps/testData/android/simple/simple.iml deleted file mode 100644 index 2be1d3ce5bc..00000000000 --- a/plugins/android-extensions/android-extensions-jps/testData/android/simple/simple.iml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/android-extensions/android-extensions-jps/testData/android/simple/simple.ipr b/plugins/android-extensions/android-extensions-jps/testData/android/simple/simple.ipr deleted file mode 100644 index a3d32e38202..00000000000 --- a/plugins/android-extensions/android-extensions-jps/testData/android/simple/simple.ipr +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/plugins/android-extensions/android-extensions-jps/testData/android/simple/src/com/example/myapp/MyActivity.kt b/plugins/android-extensions/android-extensions-jps/testData/android/simple/src/com/example/myapp/MyActivity.kt deleted file mode 100644 index d090010f127..00000000000 --- a/plugins/android-extensions/android-extensions-jps/testData/android/simple/src/com/example/myapp/MyActivity.kt +++ /dev/null @@ -1,31 +0,0 @@ -package com.example.myapp - -import android.app.Activity -import android.app.Fragment -import android.os.Bundle -import android.view.LayoutInflater -import android.view.ViewGroup -import android.view.View - -import kotlinx.android.synthetic.main.activity_main.* -import kotlinx.android.synthetic.main.fragment.* -import kotlinx.android.synthetic.main.fragment.view.* - -public class MyActivity : Activity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) - textField.setText("test") - } -} - -public class MyFragment : Fragment() { - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { - return inflater.inflate(R.layout.fragment, container, false) - } - - override fun onResume() { - super.onResume() - fragmentContainer.textField2.setText("test fragment") - } -} \ No newline at end of file diff --git a/prepare/jps-plugin/build.gradle.kts b/prepare/jps-plugin/build.gradle.kts index f70f556918f..73c2fee4a65 100644 --- a/prepare/jps-plugin/build.gradle.kts +++ b/prepare/jps-plugin/build.gradle.kts @@ -18,8 +18,7 @@ val projectsToShadow = listOf( ":jps-plugin", ":kotlin-preloader", ":compiler:util", - ":core:util.runtime", - ":plugins:android-extensions-jps") + ":core:util.runtime") dependencies { projectsToShadow.forEach { diff --git a/prepare/jps-plugin/build.gradle.kts.as33 b/prepare/jps-plugin/build.gradle.kts.as33 deleted file mode 100644 index 73c2fee4a65..00000000000 --- a/prepare/jps-plugin/build.gradle.kts.as33 +++ /dev/null @@ -1,37 +0,0 @@ -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar - -description = "Kotlin JPS plugin" - -plugins { - `java-base` - id("pill-configurable") -} - -val projectsToShadow = listOf( - ":kotlin-build-common", - ":compiler:cli-common", - ":kotlin-compiler-runner", - ":compiler:daemon-common", - ":core:descriptors", - ":core:descriptors.jvm", - ":idea:idea-jps-common", - ":jps-plugin", - ":kotlin-preloader", - ":compiler:util", - ":core:util.runtime") - -dependencies { - projectsToShadow.forEach { - embeddedComponents(project(it)) { isTransitive = false } - } - embeddedComponents(projectRuntimeJar(":kotlin-daemon-client")) -} - -runtimeJar(task("jar")) { - manifest.attributes.put("Main-Class", "org.jetbrains.kotlin.runner.Main") - manifest.attributes.put("Class-Path", "kotlin-stdlib.jar") - from(files("$rootDir/resources/kotlinManifest.properties")) - fromEmbeddedComponents() -} - -ideaPlugin("lib/jps") diff --git a/prepare/jps-plugin/build.gradle.kts.as34 b/prepare/jps-plugin/build.gradle.kts.as34 deleted file mode 100644 index 73c2fee4a65..00000000000 --- a/prepare/jps-plugin/build.gradle.kts.as34 +++ /dev/null @@ -1,37 +0,0 @@ -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar - -description = "Kotlin JPS plugin" - -plugins { - `java-base` - id("pill-configurable") -} - -val projectsToShadow = listOf( - ":kotlin-build-common", - ":compiler:cli-common", - ":kotlin-compiler-runner", - ":compiler:daemon-common", - ":core:descriptors", - ":core:descriptors.jvm", - ":idea:idea-jps-common", - ":jps-plugin", - ":kotlin-preloader", - ":compiler:util", - ":core:util.runtime") - -dependencies { - projectsToShadow.forEach { - embeddedComponents(project(it)) { isTransitive = false } - } - embeddedComponents(projectRuntimeJar(":kotlin-daemon-client")) -} - -runtimeJar(task("jar")) { - manifest.attributes.put("Main-Class", "org.jetbrains.kotlin.runner.Main") - manifest.attributes.put("Class-Path", "kotlin-stdlib.jar") - from(files("$rootDir/resources/kotlinManifest.properties")) - fromEmbeddedComponents() -} - -ideaPlugin("lib/jps") diff --git a/settings.gradle b/settings.gradle index 740d366265e..0ce7ebec63a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -101,7 +101,6 @@ include ":kotlin-build-common", ":kotlin-android-extensions", ":kotlin-android-extensions-runtime", ":plugins:android-extensions-ide", - ":plugins:android-extensions-jps", ":kotlin-allopen-compiler-plugin", ":allopen-ide-plugin", ":kotlin-noarg-compiler-plugin", @@ -284,7 +283,6 @@ project(':plugins:android-extensions-compiler').projectDir = "$rootDir/plugins/a project(':kotlin-android-extensions').projectDir = "$rootDir/prepare/android-extensions-compiler-gradle" as File project(':kotlin-android-extensions-runtime').projectDir = "$rootDir/plugins/android-extensions/android-extensions-runtime" as File project(':plugins:android-extensions-ide').projectDir = "$rootDir/plugins/android-extensions/android-extensions-idea" as File -project(':plugins:android-extensions-jps').projectDir = "$rootDir/plugins/android-extensions/android-extensions-jps" as File project(':android-lint').projectDir = "$rootDir/prepare/android-lint" as File project(':kotlin-allopen-compiler-plugin').projectDir = "$rootDir/plugins/allopen/allopen-cli" as File project(':allopen-ide-plugin').projectDir = "$rootDir/plugins/allopen/allopen-ide" as File