summaryrefslogtreecommitdiff
path: root/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/jpsEntitySources.kt
diff options
context:
space:
mode:
Diffstat (limited to 'platform/projectModel-impl/src/com/intellij/workspaceModel/ide/jpsEntitySources.kt')
-rw-r--r--platform/projectModel-impl/src/com/intellij/workspaceModel/ide/jpsEntitySources.kt12
1 files changed, 12 insertions, 0 deletions
diff --git a/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/jpsEntitySources.kt b/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/jpsEntitySources.kt
index 4b86a75e1731..2496cd6d7086 100644
--- a/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/jpsEntitySources.kt
+++ b/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/jpsEntitySources.kt
@@ -17,6 +17,7 @@ import com.intellij.workspaceModel.storage.url.VirtualFileUrl
import com.intellij.workspaceModel.storage.url.VirtualFileUrlManager
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.annotations.TestOnly
+import org.jetbrains.jps.util.JpsPathUtil
import java.util.concurrent.atomic.AtomicInteger
/**
@@ -26,16 +27,27 @@ sealed class JpsProjectConfigLocation {
val baseDirectoryUrlString: String
get() = baseDirectoryUrl.url
+ /**
+ * Same as [Project.getProjectFilePath]
+ */
+ abstract val projectFilePath: String
+
abstract val baseDirectoryUrl: VirtualFileUrl
data class DirectoryBased(val projectDir: VirtualFileUrl, val ideaFolder: VirtualFileUrl) : JpsProjectConfigLocation() {
override val baseDirectoryUrl: VirtualFileUrl
get() = projectDir
+
+ override val projectFilePath: String
+ get() = JpsPathUtil.urlToPath(ideaFolder.append("misc.xml").url)
}
data class FileBased(val iprFile: VirtualFileUrl, val iprFileParent: VirtualFileUrl) : JpsProjectConfigLocation() {
override val baseDirectoryUrl: VirtualFileUrl
get() = iprFileParent
+
+ override val projectFilePath: String
+ get() = JpsPathUtil.urlToPath(iprFile.url)
}
}