Apply Kotlin official code style for projects created from wizards (KT-23400)
- Kotlin templates - New Java projects with Kotlin support - Gradle projects with Kotlin support - Gradle projects with Kotlin DSL
This commit is contained in:
+7
@@ -26,6 +26,9 @@ import com.intellij.openapi.roots.ModifiableModelsProvider
|
|||||||
import com.intellij.openapi.roots.ModifiableRootModel
|
import com.intellij.openapi.roots.ModifiableRootModel
|
||||||
import org.jetbrains.kotlin.idea.KotlinIcons
|
import org.jetbrains.kotlin.idea.KotlinIcons
|
||||||
import org.jetbrains.kotlin.idea.core.platform.impl.CommonIdePlatformKindTooling.MAVEN_COMMON_STDLIB_ID
|
import org.jetbrains.kotlin.idea.core.platform.impl.CommonIdePlatformKindTooling.MAVEN_COMMON_STDLIB_ID
|
||||||
|
import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle
|
||||||
|
import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter
|
||||||
|
import org.jetbrains.kotlin.idea.framework.isInNewProject
|
||||||
import org.jetbrains.kotlin.idea.versions.*
|
import org.jetbrains.kotlin.idea.versions.*
|
||||||
import org.jetbrains.plugins.gradle.frameworkSupport.BuildScriptDataBuilder
|
import org.jetbrains.plugins.gradle.frameworkSupport.BuildScriptDataBuilder
|
||||||
import org.jetbrains.plugins.gradle.frameworkSupport.GradleFrameworkSupportProvider
|
import org.jetbrains.plugins.gradle.frameworkSupport.GradleFrameworkSupportProvider
|
||||||
@@ -125,6 +128,10 @@ abstract class GradleKotlinFrameworkSupportProvider(
|
|||||||
} else {
|
} else {
|
||||||
buildScriptData.addBuildscriptDependencyNotation(KotlinWithGradleConfigurator.CLASSPATH)
|
buildScriptData.addBuildscriptDependencyNotation(KotlinWithGradleConfigurator.CLASSPATH)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isInNewProject(module)) {
|
||||||
|
ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun updateSettingsScript(settingsBuilder: SettingsScriptBuilder, specifyPluginVersionIfNeeded: Boolean) { }
|
protected open fun updateSettingsScript(settingsBuilder: SettingsScriptBuilder, specifyPluginVersionIfNeeded: Boolean) { }
|
||||||
|
|||||||
+7
@@ -27,6 +27,9 @@ import org.jetbrains.kotlin.idea.KotlinIcons
|
|||||||
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.GSK_KOTLIN_VERSION_PROPERTY_NAME
|
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.GSK_KOTLIN_VERSION_PROPERTY_NAME
|
||||||
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.getKotlinGradlePluginClassPathSnippet
|
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.getKotlinGradlePluginClassPathSnippet
|
||||||
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.getKotlinModuleDependencySnippet
|
import org.jetbrains.kotlin.idea.configuration.KotlinBuildScriptManipulator.Companion.getKotlinModuleDependencySnippet
|
||||||
|
import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle
|
||||||
|
import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter
|
||||||
|
import org.jetbrains.kotlin.idea.framework.isInNewProject
|
||||||
import org.jetbrains.kotlin.idea.versions.*
|
import org.jetbrains.kotlin.idea.versions.*
|
||||||
import org.jetbrains.plugins.gradle.frameworkSupport.BuildScriptDataBuilder
|
import org.jetbrains.plugins.gradle.frameworkSupport.BuildScriptDataBuilder
|
||||||
import org.jetbrains.plugins.gradle.frameworkSupport.KotlinDslGradleFrameworkSupportProvider
|
import org.jetbrains.plugins.gradle.frameworkSupport.KotlinDslGradleFrameworkSupportProvider
|
||||||
@@ -95,6 +98,10 @@ abstract class KotlinDslGradleKotlinFrameworkSupportProvider(
|
|||||||
}
|
}
|
||||||
|
|
||||||
buildScriptData.addRepositoriesDefinition("mavenCentral()")
|
buildScriptData.addRepositoriesDefinition("mavenCentral()")
|
||||||
|
|
||||||
|
if (isInNewProject(module)) {
|
||||||
|
ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun RepositoryDescription.toKotlinRepositorySnippet() = "maven { setUrl(\"$url\") }"
|
private fun RepositoryDescription.toKotlinRepositorySnippet() = "maven { setUrl(\"$url\") }"
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ import com.intellij.openapi.roots.ui.configuration.FacetsProvider
|
|||||||
import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription
|
import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription
|
||||||
import org.jetbrains.kotlin.idea.configuration.BuildSystemType
|
import org.jetbrains.kotlin.idea.configuration.BuildSystemType
|
||||||
import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
|
import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
|
||||||
|
import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle
|
||||||
|
import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter
|
||||||
import javax.swing.JComponent
|
import javax.swing.JComponent
|
||||||
|
|
||||||
class JavaFrameworkSupportProvider : FrameworkSupportInModuleProvider() {
|
class JavaFrameworkSupportProvider : FrameworkSupportInModuleProvider() {
|
||||||
@@ -46,6 +48,10 @@ class JavaFrameworkSupportProvider : FrameworkSupportInModuleProvider() {
|
|||||||
"Kotlin/\u200BJS")
|
"Kotlin/\u200BJS")
|
||||||
|
|
||||||
description!!.finishLibConfiguration(module, rootModel, false)
|
description!!.finishLibConfiguration(module, rootModel, false)
|
||||||
|
|
||||||
|
if (isInNewProject(module)) {
|
||||||
|
ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onFrameworkSelectionChanged(selected: Boolean) {
|
override fun onFrameworkSelectionChanged(selected: Boolean) {
|
||||||
|
|||||||
@@ -20,7 +20,10 @@ import com.intellij.CommonBundle;
|
|||||||
import com.intellij.facet.impl.ui.libraries.LibraryCompositionSettings;
|
import com.intellij.facet.impl.ui.libraries.LibraryCompositionSettings;
|
||||||
import com.intellij.facet.impl.ui.libraries.LibraryOptionsPanel;
|
import com.intellij.facet.impl.ui.libraries.LibraryOptionsPanel;
|
||||||
import com.intellij.framework.library.FrameworkLibraryVersionFilter;
|
import com.intellij.framework.library.FrameworkLibraryVersionFilter;
|
||||||
import com.intellij.ide.util.projectWizard.*;
|
import com.intellij.ide.util.projectWizard.ModuleBuilder;
|
||||||
|
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||||
|
import com.intellij.ide.util.projectWizard.SettingsStep;
|
||||||
|
import com.intellij.ide.util.projectWizard.WizardContext;
|
||||||
import com.intellij.openapi.diagnostic.Logger;
|
import com.intellij.openapi.diagnostic.Logger;
|
||||||
import com.intellij.openapi.module.JavaModuleType;
|
import com.intellij.openapi.module.JavaModuleType;
|
||||||
import com.intellij.openapi.module.Module;
|
import com.intellij.openapi.module.Module;
|
||||||
@@ -41,6 +44,8 @@ import kotlin.collections.ArraysKt;
|
|||||||
import kotlin.jvm.functions.Function1;
|
import kotlin.jvm.functions.Function1;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle;
|
||||||
|
import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter;
|
||||||
import org.jetbrains.kotlin.js.resolve.JsPlatform;
|
import org.jetbrains.kotlin.js.resolve.JsPlatform;
|
||||||
import org.jetbrains.kotlin.resolve.TargetPlatform;
|
import org.jetbrains.kotlin.resolve.TargetPlatform;
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform;
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform;
|
||||||
@@ -107,6 +112,10 @@ public class KotlinModuleSettingStep extends ModuleWizardStep {
|
|||||||
((CustomLibraryDescriptorWithDeferredConfig) customLibraryDescription).finishLibConfiguration(module, rootModel, isNewProject);
|
((CustomLibraryDescriptorWithDeferredConfig) customLibraryDescription).finishLibConfiguration(module, rootModel, isNewProject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isNewProject) {
|
||||||
|
ProjectCodeStyleImporter.INSTANCE.apply(module.getProject(), KotlinStyleGuideCodeStyle.Companion.getINSTANCE());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* 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.kotlin.idea.framework
|
||||||
|
|
||||||
|
import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider
|
||||||
|
import com.intellij.openapi.module.Module
|
||||||
|
import org.jetbrains.kotlin.idea.util.projectStructure.allModules
|
||||||
|
|
||||||
|
@Suppress("unused")
|
||||||
|
fun FrameworkSupportInModuleProvider.isInNewProject(module: Module): Boolean {
|
||||||
|
return module.project.allModules().isEmpty()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user