From b70f9fe0de1e747b10dd03e797e813f008f311e4 Mon Sep 17 00:00:00 2001 From: Konstantin Hudyakov Date: Fri, 12 Jul 2024 16:34:11 +0300 Subject: [PATCH] IJPL-43794 Features Trainer: show old onboarding lesson in the essential section if experiment is enabled To not mention 'onboarding' again, because this term now means New Users Onboarding. GitOrigin-RevId: 864b72b6a7f2ee63363071914a3fdc6f50bbf03d --- .../src/com/intellij/java/ift/JavaLearningCourse.kt | 12 +++++++++--- .../ift/lesson/essential/OnboardingTourLessonBase.kt | 3 +++ .../kotlin/training/ift/KotlinLearningCourse.kt | 10 ++++++++-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/java/java-features-trainer/src/com/intellij/java/ift/JavaLearningCourse.kt b/java/java-features-trainer/src/com/intellij/java/ift/JavaLearningCourse.kt index 989590cc57a1..3e92427f45b3 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/JavaLearningCourse.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/JavaLearningCourse.kt @@ -19,6 +19,7 @@ import com.intellij.util.PlatformUtils import training.dsl.LessonUtil import training.learn.CourseManager import training.learn.LessonsBundle +import training.learn.NewUsersOnboardingExperimentAccessor import training.learn.course.IftModule import training.learn.course.LearningCourseBase import training.learn.course.LearningModule @@ -36,7 +37,7 @@ class JavaLearningCourse : LearningCourseBase(JavaLanguage.INSTANCE.id) { override fun modules(): List = onboardingTour() + stableModules() + CourseManager.instance.findCommonModules("Git") private val isOnboardingLessonEnabled: Boolean - get() = PlatformUtils.isIntelliJ() && !useShortOnboardingLesson + get() = PlatformUtils.isIntelliJ() && !useShortOnboardingLesson && !NewUsersOnboardingExperimentAccessor.isExperimentEnabled() private fun onboardingTour() = if (isOnboardingLessonEnabled) listOf( LearningModule(id = "Java.Onboarding", @@ -56,8 +57,13 @@ class JavaLearningCourse : LearningCourseBase(JavaLanguage.INSTANCE.id) { primaryLanguage = langSupport, moduleType = LessonType.SCRATCH) { fun ls(sampleName: String) = loadSample("EditorBasics/$sampleName") - val adjust = if (useShortOnboardingLesson) listOf(JavaReworkedOnboardingTourLesson()) else emptyList() - adjust + listOf( + + val onboarding = when { + !NewUsersOnboardingExperimentAccessor.isExperimentEnabled() -> emptyList() + useShortOnboardingLesson -> listOf(JavaReworkedOnboardingTourLesson()) + else -> listOf(JavaOnboardingTourLesson()) + } + onboarding + listOf( JavaContextActionsLesson(), GotoActionLesson(ls("00.Actions.java.sample"), firstLesson = false), JavaSearchEverywhereLesson(), diff --git a/java/java-features-trainer/src/com/intellij/java/ift/lesson/essential/OnboardingTourLessonBase.kt b/java/java-features-trainer/src/com/intellij/java/ift/lesson/essential/OnboardingTourLessonBase.kt index 322b3028d186..c43388eb0ce3 100644 --- a/java/java-features-trainer/src/com/intellij/java/ift/lesson/essential/OnboardingTourLessonBase.kt +++ b/java/java-features-trainer/src/com/intellij/java/ift/lesson/essential/OnboardingTourLessonBase.kt @@ -16,6 +16,7 @@ import com.intellij.util.ui.tree.TreeUtil import training.dsl.* import training.dsl.LessonUtil.restoreIfModified import training.learn.LearnBundle +import training.learn.course.LessonType import training.learn.lesson.general.run.clearBreakpoints import training.project.ProjectUtils import training.ui.LearningUiHighlightingManager @@ -25,6 +26,8 @@ import javax.swing.JTree import javax.swing.tree.TreePath abstract class OnboardingTourLessonBase(id: String) : CommonLogicForOnboardingTours(id, JavaLessonsBundle.message("java.onboarding.lesson.name")) { + override val lessonType: LessonType = LessonType.PROJECT + private lateinit var openLearnTaskId: TaskContext.TaskId private val demoFileDirectory: String = "src" diff --git a/plugins/kotlin/features-trainer/src/org/jetbrains/kotlin/training/ift/KotlinLearningCourse.kt b/plugins/kotlin/features-trainer/src/org/jetbrains/kotlin/training/ift/KotlinLearningCourse.kt index ed642f3e6fb9..a11698b49f91 100644 --- a/plugins/kotlin/features-trainer/src/org/jetbrains/kotlin/training/ift/KotlinLearningCourse.kt +++ b/plugins/kotlin/features-trainer/src/org/jetbrains/kotlin/training/ift/KotlinLearningCourse.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.training.ift.lesson.refactorings.KotlinRefactoringMe import training.dsl.LessonUtil import training.learn.CourseManager import training.learn.LessonsBundle +import training.learn.NewUsersOnboardingExperimentAccessor import training.learn.course.LearningCourseBase import training.learn.course.LearningModule import training.learn.course.LessonType @@ -34,7 +35,7 @@ class KotlinLearningCourse : LearningCourseBase(KotlinLanguage.INSTANCE.id) { override fun modules() = onboardingTour() + stableModules() + CourseManager.instance.findCommonModules("Git") private val isOnboardingLessonEnabled: Boolean - get() = PlatformUtils.isIdeaCommunity() || PlatformUtils.isIdeaUltimate() + get() = (PlatformUtils.isIdeaCommunity() || PlatformUtils.isIdeaUltimate()) && !NewUsersOnboardingExperimentAccessor.isExperimentEnabled() private fun onboardingTour() = if (isOnboardingLessonEnabled) listOf( LearningModule( @@ -60,7 +61,12 @@ class KotlinLearningCourse : LearningCourseBase(KotlinLanguage.INSTANCE.id) { moduleType = LessonType.SINGLE_EDITOR // todo: change to SCRATCH when KTIJ-20742 will be resolved ) { fun ls(sampleName: String) = loadSample("EditorBasics/$sampleName") - listOf( + + val onboarding = if (NewUsersOnboardingExperimentAccessor.isExperimentEnabled()) { + listOf(KotlinOnboardingTourLesson()) + } + else emptyList() + onboarding + listOf( KotlinContextActionsLesson(), GotoActionLesson(ls("Actions.kt.sample"), firstLesson = false), KotlinSearchEverywhereLesson(),