diff --git a/build/src/CommunityRunTestsBuildTarget.kt b/build/src/CommunityRunTestsBuildTarget.kt index 16bcf76810f5..0336bfb41331 100644 --- a/build/src/CommunityRunTestsBuildTarget.kt +++ b/build/src/CommunityRunTestsBuildTarget.kt @@ -1,7 +1,7 @@ // Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking -import org.jetbrains.intellij.build.IdeaProjectLoaderUtil +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.TestingTasks import org.jetbrains.intellij.build.impl.createCompilationContext @@ -17,11 +17,10 @@ import org.jetbrains.intellij.build.impl.createCompilationContext object CommunityRunTestsBuildTarget { @JvmStatic fun main(args: Array) { - val communityHome = IdeaProjectLoaderUtil.guessCommunityHome(javaClass) runBlocking(Dispatchers.Default) { val context = createCompilationContext( - projectHome = communityHome.communityRoot, - defaultOutputRoot = communityHome.communityRoot.resolve("out/tests") + projectHome = COMMUNITY_ROOT.communityRoot, + defaultOutputRoot = COMMUNITY_ROOT.communityRoot.resolve("out/tests") ) TestingTasks.create(context).runTests(defaultMainModule = "intellij.idea.community.main") } diff --git a/build/src/FullUpdaterBuildTarget.kt b/build/src/FullUpdaterBuildTarget.kt index 49023f1b5ff6..61de0a2b5792 100644 --- a/build/src/FullUpdaterBuildTarget.kt +++ b/build/src/FullUpdaterBuildTarget.kt @@ -2,7 +2,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking -import org.jetbrains.intellij.build.IdeaProjectLoaderUtil +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.createBuildTasks import org.jetbrains.intellij.build.createCommunityBuildContext @@ -12,7 +12,7 @@ object FullUpdaterBuildTarget { @JvmStatic fun main(args: Array) { runBlocking(Dispatchers.Default) { - val context = createCommunityBuildContext(IdeaProjectLoaderUtil.guessCommunityHome(javaClass)) + val context = createCommunityBuildContext() val tasks = createBuildTasks(context) tasks.compileModules(listOf(UPDATER_MODULE_NAME)) tasks.buildFullUpdaterJar() diff --git a/build/src/KotlinPluginBuildTarget.kt b/build/src/KotlinPluginBuildTarget.kt index 9df8e61c0d8b..3635034ae306 100644 --- a/build/src/KotlinPluginBuildTarget.kt +++ b/build/src/KotlinPluginBuildTarget.kt @@ -2,17 +2,16 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.IdeaCommunityProperties -import org.jetbrains.intellij.build.IdeaProjectLoaderUtil import org.jetbrains.intellij.build.kotlin.KotlinPluginBuilder internal object KotlinPluginBuildTarget { @JvmStatic fun main(args: Array) { - val communityHome = IdeaProjectLoaderUtil.guessCommunityHome(javaClass) runBlocking(Dispatchers.Default) { - KotlinPluginBuilder.build(home = communityHome.communityRoot, - properties = IdeaCommunityProperties(communityHome.communityRoot)) + KotlinPluginBuilder.build(home = COMMUNITY_ROOT.communityRoot, + properties = IdeaCommunityProperties(COMMUNITY_ROOT.communityRoot)) } } } diff --git a/build/src/OpenSourceCommunityInstallersBuildTarget.kt b/build/src/OpenSourceCommunityInstallersBuildTarget.kt index 59baf958baf4..2acd30b0fb43 100644 --- a/build/src/OpenSourceCommunityInstallersBuildTarget.kt +++ b/build/src/OpenSourceCommunityInstallersBuildTarget.kt @@ -20,10 +20,8 @@ object OpenSourceCommunityInstallersBuildTarget { buildStepsToSkip += BuildOptions.MAC_SIGN_STEP } - val communityHome = IdeaProjectLoaderUtil.guessCommunityHome(javaClass) - runBlocking(Dispatchers.Default) { - val context = createCommunityBuildContext(communityHome, options) + val context = createCommunityBuildContext(options) createBuildTasks(context).compileProjectAndTests(listOf("intellij.platform.jps.build.tests")) buildDistributions(context) spanBuilder("build standalone JPS").useWithScope { diff --git a/build/src/OpenSourceCommunityUpdateFromSourcesBuildTarget.kt b/build/src/OpenSourceCommunityUpdateFromSourcesBuildTarget.kt index 396c793ca9f7..c69c8b595294 100644 --- a/build/src/OpenSourceCommunityUpdateFromSourcesBuildTarget.kt +++ b/build/src/OpenSourceCommunityUpdateFromSourcesBuildTarget.kt @@ -4,7 +4,7 @@ import com.intellij.util.SystemProperties import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking import org.jetbrains.intellij.build.BuildOptions -import org.jetbrains.intellij.build.IdeaProjectLoaderUtil +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.createBuildTasks import org.jetbrains.intellij.build.createCommunityBuildContext import java.nio.file.Path @@ -25,13 +25,12 @@ object OpenSourceCommunityUpdateFromSourcesBuildTarget { options.buildStepsToSkip.add(BuildOptions.NON_BUNDLED_PLUGINS_STEP) } - val communityHome = IdeaProjectLoaderUtil.guessCommunityHome(javaClass) val distOutputRelativePath = System.getProperty("distOutputRelativePath")!! // when IDEA CE is updated from IDEA, a UE sources project should be loaded from IDEA UE directory - val projectHome = System.getProperty("devIdeaHome")?.let { Path.of(it) } ?: communityHome.communityRoot + val projectHome = System.getProperty("devIdeaHome")?.let { Path.of(it) } ?: COMMUNITY_ROOT.communityRoot runBlocking(Dispatchers.Default) { - createBuildTasks(context = createCommunityBuildContext(communityHome = communityHome, options = options, projectHome = projectHome)) + createBuildTasks(context = createCommunityBuildContext(options = options, projectHome = projectHome)) .buildUnpackedDistribution(targetDirectory = options.outRootDir!!.resolve(distOutputRelativePath), includeBinAndRuntime = false) } } diff --git a/build/src/org/jetbrains/intellij/build/IdeaCommunityProperties.kt b/build/src/org/jetbrains/intellij/build/IdeaCommunityProperties.kt index ba81da32e7f1..759e7a72569f 100644 --- a/build/src/org/jetbrains/intellij/build/IdeaCommunityProperties.kt +++ b/build/src/org/jetbrains/intellij/build/IdeaCommunityProperties.kt @@ -3,21 +3,19 @@ package org.jetbrains.intellij.build import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.plus -import org.jetbrains.intellij.build.dependencies.BuildDependenciesCommunityRoot +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.impl.BuildContextImpl import org.jetbrains.intellij.build.io.copyDir import org.jetbrains.intellij.build.io.copyFileToDir import org.jetbrains.intellij.build.kotlin.KotlinBinaries - import java.nio.file.Path internal suspend fun createCommunityBuildContext( - communityHome: BuildDependenciesCommunityRoot, options: BuildOptions = BuildOptions(), - projectHome: Path = communityHome.communityRoot, + projectHome: Path = COMMUNITY_ROOT.communityRoot, ): BuildContext { return BuildContextImpl.createContext(projectHome = projectHome, - productProperties = IdeaCommunityProperties(communityHome.communityRoot), + productProperties = IdeaCommunityProperties(COMMUNITY_ROOT.communityRoot), setupTracer = true, options = options) } diff --git a/build/tests/testSrc/org/jetbrains/intellij/build/IdeaCommunityBuildTest.kt b/build/tests/testSrc/org/jetbrains/intellij/build/IdeaCommunityBuildTest.kt index daa19fefd449..2c12e48ada62 100644 --- a/build/tests/testSrc/org/jetbrains/intellij/build/IdeaCommunityBuildTest.kt +++ b/build/tests/testSrc/org/jetbrains/intellij/build/IdeaCommunityBuildTest.kt @@ -7,6 +7,7 @@ import com.intellij.platform.buildScripts.testFramework.runTestBuild import com.intellij.platform.buildScripts.testFramework.spanName import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.impl.BuildContextImpl import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestInfo @@ -15,12 +16,10 @@ class IdeaCommunityBuildTest { @Test fun build(testInfo: TestInfo) { val homePath = PathManager.getHomeDirFor(javaClass)!! - val communityHomePath = IdeaProjectLoaderUtil.guessCommunityHome(javaClass) - val productProperties = IdeaCommunityProperties(communityHomePath.communityRoot) + val productProperties = IdeaCommunityProperties(COMMUNITY_ROOT.communityRoot) runTestBuild( homePath = homePath, traceSpanName = testInfo.spanName, - communityHomePath = communityHomePath, productProperties = productProperties, ) { it.classOutDir = System.getProperty(BuildOptions.PROJECT_CLASSES_OUTPUT_DIRECTORY_PROPERTY) ?: "$homePath/out/classes" @@ -30,9 +29,8 @@ class IdeaCommunityBuildTest { @Test fun jpsStandalone(testInfo: TestInfo) { val homePath = PathManager.getHomeDirFor(javaClass)!! - val communityHome = IdeaProjectLoaderUtil.guessCommunityHome(javaClass) runBlocking(Dispatchers.Default) { - val productProperties = IdeaCommunityProperties(communityHome.communityRoot) + val productProperties = IdeaCommunityProperties(COMMUNITY_ROOT.communityRoot) val options = createBuildOptionsForTest(productProperties = productProperties, skipDependencySetup = true) val context = BuildContextImpl.createContext( projectHome = homePath, diff --git a/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/IdeStructureTestBase.kt b/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/IdeStructureTestBase.kt index 1632a441851a..1afe980c9001 100644 --- a/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/IdeStructureTestBase.kt +++ b/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/IdeStructureTestBase.kt @@ -9,7 +9,6 @@ import kotlinx.coroutines.runBlocking import org.assertj.core.api.SoftAssertions import org.assertj.core.api.junit.jupiter.SoftAssertionsExtension import org.jetbrains.intellij.build.BuildContext -import org.jetbrains.intellij.build.IdeaProjectLoaderUtil import org.jetbrains.intellij.build.ProductProperties import org.jetbrains.intellij.build.ProprietaryBuildTools import org.jetbrains.intellij.build.impl.ModuleStructureValidator @@ -36,8 +35,7 @@ abstract class IdeStructureTestBase { return runBlocking(Dispatchers.Default) { createBuildContext(homePath = projectHome, productProperties = productProperties, - buildTools = createBuildTools(), - communityHomePath = IdeaProjectLoaderUtil.guessCommunityHome(javaClass)) + buildTools = createBuildTools()) } } diff --git a/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/buildScriptTestUtils.kt b/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/buildScriptTestUtils.kt index 1bb54ce1d844..bc9c54c73c19 100644 --- a/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/buildScriptTestUtils.kt +++ b/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/buildScriptTestUtils.kt @@ -19,7 +19,6 @@ import kotlinx.coroutines.runBlocking import org.assertj.core.api.SoftAssertions import org.jetbrains.intellij.build.* import org.jetbrains.intellij.build.TraceManager.spanBuilder -import org.jetbrains.intellij.build.dependencies.BuildDependenciesCommunityRoot import org.jetbrains.intellij.build.impl.BuildContextImpl import org.jetbrains.intellij.build.impl.buildDistributions import org.junit.jupiter.api.TestInfo @@ -71,7 +70,6 @@ suspend inline fun createBuildContext( homePath: Path, productProperties: ProductProperties, buildTools: ProprietaryBuildTools = ProprietaryBuildTools.DUMMY, - communityHomePath: BuildDependenciesCommunityRoot, buildOptionsCustomizer: (BuildOptions) -> Unit = {}, ): BuildContext { val options = createBuildOptionsForTest(productProperties) @@ -106,7 +104,6 @@ fun runTestBuild( homePath: Path, productProperties: ProductProperties, buildTools: ProprietaryBuildTools = ProprietaryBuildTools.DUMMY, - communityHomePath: BuildDependenciesCommunityRoot = BuildDependenciesCommunityRoot(homePath.resolve("community")), traceSpanName: String, isReproducibilityTestAllowed: Boolean = true, build: suspend (context: BuildContext) -> Unit = { buildDistributions(it) }, diff --git a/platform/build-scripts/tests/testSrc/org/jetbrains/intellij/build/PluginDistributionJARsBuilderTest.kt b/platform/build-scripts/tests/testSrc/org/jetbrains/intellij/build/PluginDistributionJARsBuilderTest.kt index 8c0057841add..2789c9aab700 100644 --- a/platform/build-scripts/tests/testSrc/org/jetbrains/intellij/build/PluginDistributionJARsBuilderTest.kt +++ b/platform/build-scripts/tests/testSrc/org/jetbrains/intellij/build/PluginDistributionJARsBuilderTest.kt @@ -4,6 +4,7 @@ package org.jetbrains.intellij.build import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking import org.assertj.core.api.Assertions.assertThat +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.impl.BuildContextImpl import org.jetbrains.intellij.build.impl.createIdeClassPath import org.jetbrains.intellij.build.impl.createPlatformLayout @@ -12,10 +13,9 @@ import org.junit.Test class PluginDistributionJARsBuilderTest { @Test fun verifyStableClasspathOrder() { - val communityHome = IdeaProjectLoaderUtil.guessCommunityHome(javaClass) - val productProperties = IdeaCommunityProperties(communityHome.communityRoot) + val productProperties = IdeaCommunityProperties(COMMUNITY_ROOT.communityRoot) runBlocking(Dispatchers.Default) { - val context = BuildContextImpl.createContext(communityHome.communityRoot, productProperties) + val context = BuildContextImpl.createContext(COMMUNITY_ROOT.communityRoot, productProperties) val ideClasspath1 = createIdeClassPath(createPlatformLayout(pluginsToPublish = emptySet(), context = context), context) val ideClasspath2 = createIdeClassPath(createPlatformLayout(pluginsToPublish = emptySet(), context = context), context) assertThat(ideClasspath1).isEqualTo(ideClasspath2) diff --git a/platform/build-scripts/tests/testSrc/org/jetbrains/intellij/build/impl/BundledRuntimeTest.kt b/platform/build-scripts/tests/testSrc/org/jetbrains/intellij/build/impl/BundledRuntimeTest.kt index c6fddc8c7889..4885b22ab9d5 100644 --- a/platform/build-scripts/tests/testSrc/org/jetbrains/intellij/build/impl/BundledRuntimeTest.kt +++ b/platform/build-scripts/tests/testSrc/org/jetbrains/intellij/build/impl/BundledRuntimeTest.kt @@ -6,6 +6,7 @@ import com.intellij.openapi.util.io.NioFiles import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking import org.jetbrains.intellij.build.* +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.dependencies.JdkDownloader import org.junit.Test import java.nio.file.Files @@ -66,9 +67,8 @@ class BundledRuntimeTest { private inline fun withCompilationContext(block: (CompilationContext) -> Unit) { val tempDir = Files.createTempDirectory("compilation-context-") try { - val communityHome = IdeaProjectLoaderUtil.guessCommunityHome(javaClass) val context = createCompilationContextBlocking( - projectHome = communityHome.communityRoot, + projectHome = COMMUNITY_ROOT.communityRoot, defaultOutputRoot = tempDir, ) block(context) diff --git a/python/build/src/PyCharmCommunityInstallersBuildTarget.kt b/python/build/src/PyCharmCommunityInstallersBuildTarget.kt index d6a6c8999246..62a76e825e49 100644 --- a/python/build/src/PyCharmCommunityInstallersBuildTarget.kt +++ b/python/build/src/PyCharmCommunityInstallersBuildTarget.kt @@ -4,7 +4,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking import org.jetbrains.intellij.build.BuildOptions -import org.jetbrains.intellij.build.IdeaProjectLoaderUtil +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.createBuildTasks import org.jetbrains.intellij.build.impl.BuildContextImpl import org.jetbrains.intellij.build.pycharm.PyCharmBuildUtils @@ -29,10 +29,9 @@ object PyCharmCommunityInstallersBuildTarget { PyCharmBuildUtils.SKELETONS_COPY_STEP, )) } - val communityHome = IdeaProjectLoaderUtil.guessCommunityHome(PyCharmCommunityInstallersBuildTarget::class.java) val context = BuildContextImpl.createContext( - projectHome = communityHome.communityRoot, - productProperties = PyCharmCommunityProperties(communityHome.communityRoot), + projectHome = COMMUNITY_ROOT.communityRoot, + productProperties = PyCharmCommunityProperties(COMMUNITY_ROOT.communityRoot), options = options, ) createBuildTasks(context).buildDistributions() diff --git a/python/build/src/PythonCommunityPluginBuildTarget.kt b/python/build/src/PythonCommunityPluginBuildTarget.kt index 34a8c5142467..db3f698ed5d8 100644 --- a/python/build/src/PythonCommunityPluginBuildTarget.kt +++ b/python/build/src/PythonCommunityPluginBuildTarget.kt @@ -3,13 +3,13 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking -import org.jetbrains.intellij.build.IdeaProjectLoaderUtil +import org.jetbrains.intellij.build.BuildPaths.Companion.COMMUNITY_ROOT import org.jetbrains.intellij.build.pycharm.PythonCommunityPluginBuilder // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. object PythonCommunityPluginBuildTarget { @JvmStatic fun main(args: Array) = runBlocking(Dispatchers.Default) { - PythonCommunityPluginBuilder(IdeaProjectLoaderUtil.guessCommunityHome(javaClass).communityRoot).build() + PythonCommunityPluginBuilder(COMMUNITY_ROOT.communityRoot).build() } } \ No newline at end of file diff --git a/python/build/testSrc/org/jetbrains/intellij/build/pycharm/PyCharmCommunityBuildTest.kt b/python/build/testSrc/org/jetbrains/intellij/build/pycharm/PyCharmCommunityBuildTest.kt index 699038776e5a..59ff5b56f093 100644 --- a/python/build/testSrc/org/jetbrains/intellij/build/pycharm/PyCharmCommunityBuildTest.kt +++ b/python/build/testSrc/org/jetbrains/intellij/build/pycharm/PyCharmCommunityBuildTest.kt @@ -42,7 +42,6 @@ class PyCharmCommunityBuildTest { val communityHomePath = BuildDependenciesCommunityRoot(homePath.resolve("community")) runTestBuild( homePath = communityHomePath.communityRoot, - communityHomePath = communityHomePath, traceSpanName = testInfo.spanName, productProperties = PyCharmCommunityProperties(communityHomePath.communityRoot), ) {