User: joe Date: 26 Feb 23 11:24 Revision: 4f804b45edc56dcfc9b55d7724bb1d7cef0c20ff Summary: Fixup new project wizard for 2022.2 TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8317&personal=false Index: src/main/kotlin/creator/ProjectSetupFinalizerWizardStep.kt =================================================================== --- src/main/kotlin/creator/ProjectSetupFinalizerWizardStep.kt (revision cb1581870557688156f9100619636decee521237) +++ src/main/kotlin/creator/ProjectSetupFinalizerWizardStep.kt (revision 4f804b45edc56dcfc9b55d7724bb1d7cef0c20ff) @@ -21,8 +21,9 @@ import com.intellij.openapi.projectRoots.JavaSdk import com.intellij.openapi.projectRoots.JavaSdkVersion import com.intellij.openapi.projectRoots.Sdk +import com.intellij.openapi.ui.ValidationInfo import com.intellij.openapi.ui.validation.AFTER_GRAPH_PROPAGATION -import com.intellij.openapi.ui.validation.validationErrorFor +import com.intellij.openapi.ui.validation.DialogValidation import com.intellij.ui.JBColor import com.intellij.ui.dsl.builder.Panel import com.intellij.ui.dsl.builder.Placeholder @@ -58,8 +59,8 @@ cell(JPanel()) .validationRequestor(AFTER_GRAPH_PROPAGATION(propertyGraph)) .validation( - validationErrorFor { - finalizers.mapFirstNotNull(ProjectSetupFinalizer::validate) + DialogValidation { + finalizers.mapFirstNotNull(ProjectSetupFinalizer::validate)?.let(::ValidationInfo) } ) } Index: src/main/kotlin/creator/buildsystem/AbstractBuildSystemStep.kt =================================================================== --- src/main/kotlin/creator/buildsystem/AbstractBuildSystemStep.kt (revision cb1581870557688156f9100619636decee521237) +++ src/main/kotlin/creator/buildsystem/AbstractBuildSystemStep.kt (revision 4f804b45edc56dcfc9b55d7724bb1d7cef0c20ff) @@ -20,9 +20,7 @@ import com.intellij.openapi.extensions.ExtensionPointName import com.intellij.openapi.project.Project import com.intellij.openapi.util.Key -import com.intellij.ui.dsl.builder.EMPTY_LABEL import com.intellij.ui.dsl.builder.Panel -import com.intellij.ui.dsl.builder.Row abstract class AbstractBuildSystemStep( parent: NewProjectWizardStep @@ -39,14 +37,14 @@ abstract val platformName: String override val self get() = this - override val label get() = if (steps.size > 1) "Build System:" else EMPTY_LABEL + override val label = "Build System:" override fun initSteps(): LinkedHashMap { context.putUserData(PLATFORM_NAME_KEY, platformName) return super.initSteps() } - override fun setupSwitcherUi(builder: Row) { + override fun setupSwitcherUi(builder: Panel) { if (steps.size > 1) { super.setupSwitcherUi(builder) } Index: src/main/kotlin/creator/buildsystem/BuildSystemPropertiesStep.kt =================================================================== --- src/main/kotlin/creator/buildsystem/BuildSystemPropertiesStep.kt (revision cb1581870557688156f9100619636decee521237) +++ src/main/kotlin/creator/buildsystem/BuildSystemPropertiesStep.kt (revision 4f804b45edc56dcfc9b55d7724bb1d7cef0c20ff) @@ -17,21 +17,21 @@ import com.intellij.ide.wizard.NewProjectWizardStep import com.intellij.openapi.observable.util.bindStorage import com.intellij.openapi.ui.validation.AFTER_GRAPH_PROPAGATION -import com.intellij.openapi.ui.validation.CHECK_ARTIFACT_ID_FORMAT -import com.intellij.openapi.ui.validation.CHECK_GROUP_ID_FORMAT +import com.intellij.openapi.ui.validation.CHECK_ARTIFACT_ID +import com.intellij.openapi.ui.validation.CHECK_GROUP_ID import com.intellij.openapi.ui.validation.CHECK_NON_EMPTY -import com.intellij.openapi.ui.validation.validationTextErrorIf +import com.intellij.openapi.ui.validation.validationErrorIf import com.intellij.ui.dsl.builder.COLUMNS_MEDIUM import com.intellij.ui.dsl.builder.Panel import com.intellij.ui.dsl.builder.bindText import com.intellij.ui.dsl.builder.columns import com.intellij.ui.dsl.builder.textValidation -private val nonExampleValidation = validationTextErrorIf("Group ID must be changed from \"org.example\"") { +private val nonExampleValidation = validationErrorIf("Group ID must be changed from \"org.example\"") { it == "org.example" } -private val versionValidation = validationTextErrorIf("Version must be a valid semantic version") { +private val versionValidation = validationErrorIf("Version must be a valid semantic version") { SemanticVersion.tryParse(it) == null } @@ -62,14 +62,14 @@ .bindText(groupIdProperty) .columns(COLUMNS_MEDIUM) .validationRequestor(AFTER_GRAPH_PROPAGATION(propertyGraph)) - .textValidation(CHECK_NON_EMPTY, CHECK_GROUP_ID_FORMAT, nonExampleValidation) + .textValidation(CHECK_NON_EMPTY, CHECK_GROUP_ID, nonExampleValidation) } row("Artifact ID:") { textField() .bindText(artifactIdProperty) .columns(COLUMNS_MEDIUM) .validationRequestor(AFTER_GRAPH_PROPAGATION(propertyGraph)) - .textValidation(CHECK_NON_EMPTY, CHECK_ARTIFACT_ID_FORMAT) + .textValidation(CHECK_NON_EMPTY, CHECK_ARTIFACT_ID) } row("Version:") { textField() Index: src/main/kotlin/creator/buildsystem/maven-steps.kt =================================================================== --- src/main/kotlin/creator/buildsystem/maven-steps.kt (revision cb1581870557688156f9100619636decee521237) +++ src/main/kotlin/creator/buildsystem/maven-steps.kt (revision 4f804b45edc56dcfc9b55d7724bb1d7cef0c20ff) @@ -164,6 +164,6 @@ MavenImportingManager.getInstance(project).linkAndImportFile(pomFile) } ?: return - promise.blockingGet(Int.MAX_VALUE, TimeUnit.SECONDS) + promise.finishPromise.blockingGet(Int.MAX_VALUE, TimeUnit.SECONDS) } } Index: src/main/kotlin/creator/creator-utils.kt =================================================================== --- src/main/kotlin/creator/creator-utils.kt (revision cb1581870557688156f9100619636decee521237) +++ src/main/kotlin/creator/creator-utils.kt (revision 4f804b45edc56dcfc9b55d7724bb1d7cef0c20ff) @@ -27,11 +27,8 @@ import com.intellij.openapi.util.RecursionManager import java.time.ZonedDateTime -var NewProjectWizardStep.gitEnabled +val NewProjectWizardStep.gitEnabled get() = data.getUserData(GitNewProjectWizardData.KEY)!!.git - set(value) { - data.getUserData(GitNewProjectWizardData.KEY)!!.git = value - } fun FixedAssetsNewProjectWizardStep.addGradleGitignore(project: Project) { addTemplates(project, ".gitignore" to MinecraftTemplates.GRADLE_GITIGNORE_TEMPLATE) Index: src/main/kotlin/creator/step/AbstractLatentStep.kt =================================================================== --- src/main/kotlin/creator/step/AbstractLatentStep.kt (revision cb1581870557688156f9100619636decee521237) +++ src/main/kotlin/creator/step/AbstractLatentStep.kt (revision 4f804b45edc56dcfc9b55d7724bb1d7cef0c20ff) @@ -20,15 +20,15 @@ import com.intellij.openapi.Disposable import com.intellij.openapi.diagnostic.logger import com.intellij.openapi.project.Project +import com.intellij.openapi.ui.ValidationInfo import com.intellij.openapi.ui.validation.AFTER_GRAPH_PROPAGATION -import com.intellij.openapi.ui.validation.validationErrorFor +import com.intellij.openapi.ui.validation.DialogValidation import com.intellij.openapi.util.Disposer import com.intellij.ui.JBColor import com.intellij.ui.dsl.builder.Panel import com.intellij.ui.dsl.builder.Placeholder import com.intellij.ui.dsl.builder.panel import com.intellij.util.ui.AsyncProcessIcon -import javax.swing.JLabel import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -96,7 +96,7 @@ row { val label = label("Unable to $description") .validationRequestor(AFTER_GRAPH_PROPAGATION(propertyGraph)) - .validation(validationErrorFor { "Unable to $description" }) + .validation(DialogValidation { ValidationInfo("Unable to $description") }) label.component.foreground = JBColor.RED } } @@ -142,14 +142,10 @@ } ) .validationRequestor(AFTER_GRAPH_PROPAGATION(propertyGraph)) - .validation( - validationErrorFor { - "Haven't finished $description" + .validation(DialogValidation { ValidationInfo("Haven't finished $description") }) - } + } - ) - } - } + } + } - } override fun setupProject(project: Project) { step?.setupProject(project)