Skip to content

Commit

Permalink
Fix the compatibility for ContentEntry on IntelliJ 2022.2.
Browse files Browse the repository at this point in the history
  • Loading branch information
rhdunn committed Jul 25, 2023
1 parent aff727f commit d95e55d
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 46 deletions.
8 changes: 8 additions & 0 deletions src/intellij-compat/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,14 @@ if (ext.intellij_version >= 232) {
sourceSets.main.java.srcDirs += 'src/232/compat'
}

if (ext.intellij_version >= 232) {
sourceSets.main.java.srcDirs += 'src/223-232/native'
} else if (ext.intellij_version >= 223) {
sourceSets.main.java.srcDirs += 'src/223-232/223'
} else {
sourceSets.main.java.srcDirs += 'src/223-232/222'
}

// Microservices

if (ext.intellij_type == 'IU') {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// Copyright (C) 2023 Reece H. Dunn. SPDX-License-Identifier: Apache-2.0
package com.intellij.compat.openapi.roots

typealias ContentEntry = com.intellij.openapi.roots.ContentEntry
@Suppress("NonExtendableApiUsage")
interface ContentEntry : com.intellij.openapi.roots.ContentEntry
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,29 @@ package com.intellij.compat.openapi.roots
import com.intellij.openapi.roots.ExcludeFolder
import com.intellij.openapi.roots.ProjectModelExternalSource
import com.intellij.openapi.roots.SourceFolder
import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.jps.model.JpsElement
import org.jetbrains.jps.model.module.JpsModuleSourceRootType

@Suppress("UnstableApiUsage", "NonExtendableApiUsage")
@Suppress("NonExtendableApiUsage", "UnstableApiUsage")
interface ContentEntry : com.intellij.openapi.roots.ContentEntry {
abstract override fun addExcludeFolder(file: VirtualFile): ExcludeFolder

abstract override fun addExcludeFolder(url: String): ExcludeFolder

abstract fun addExcludeFolder(url: String, isAutomaticallyImported: Boolean): ExcludeFolder

override fun addExcludeFolder(url: String, source: ProjectModelExternalSource?): ExcludeFolder = TODO()
override fun <P : JpsElement?> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
externalSource: ProjectModelExternalSource
): SourceFolder = TODO()

abstract fun <P : JpsElement> addSourceFolder(
override fun <P : JpsElement?> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
properties: P,
isAutomaticallyImported: Boolean
): SourceFolder
useSourceOfContentRoot: Boolean
): SourceFolder = TODO()

abstract override fun <P : JpsElement> addSourceFolder(
override fun <P : JpsElement> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
properties: P,
externalSource: ProjectModelExternalSource?
): SourceFolder
): SourceFolder = TODO()

override fun addExcludeFolder(url: String, source: ProjectModelExternalSource?): ExcludeFolder = TODO()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// Copyright (C) 2023 Reece H. Dunn. SPDX-License-Identifier: Apache-2.0
package com.intellij.compat.openapi.roots

import com.intellij.openapi.roots.ExcludeFolder
import com.intellij.openapi.roots.ProjectModelExternalSource
import com.intellij.openapi.roots.SourceFolder
import org.jetbrains.jps.model.JpsElement
import org.jetbrains.jps.model.module.JpsModuleSourceRootType

@Suppress("NonExtendableApiUsage", "UnstableApiUsage")
interface ContentEntry : com.intellij.openapi.roots.ContentEntry {
override fun <P : JpsElement?> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
externalSource: ProjectModelExternalSource
): SourceFolder = TODO()

override fun <P : JpsElement?> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
useSourceOfContentRoot: Boolean
): SourceFolder = TODO()

override fun <P : JpsElement> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
properties: P,
externalSource: ProjectModelExternalSource?
): SourceFolder = TODO()

override fun <P : JpsElement> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
properties: P,
isAutomaticallyImported: Boolean
): SourceFolder = TODO()

override fun addExcludeFolder(url: String, isAutomaticallyImported: Boolean): ExcludeFolder = TODO()
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@ package uk.co.reecedunn.intellij.plugin.core.tests.roots
import com.intellij.compat.openapi.roots.ContentEntry
import com.intellij.openapi.roots.ExcludeFolder
import com.intellij.openapi.roots.ModuleRootModel
import com.intellij.openapi.roots.ProjectModelExternalSource
import com.intellij.openapi.roots.SourceFolder
import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.jps.model.JpsElement
import org.jetbrains.jps.model.java.JavaSourceRootType
import org.jetbrains.jps.model.module.JpsModuleSourceRootType

@Suppress("UnstableApiUsage")
class MockContentEntry(private val file: VirtualFile) : ContentEntry {
override fun isSynthetic(): Boolean = TODO()

Expand Down Expand Up @@ -63,38 +61,12 @@ class MockContentEntry(private val file: VirtualFile) : ContentEntry {
type: JpsModuleSourceRootType<P>
): SourceFolder = TODO()

override fun <P : JpsElement?> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
externalSource: ProjectModelExternalSource
): SourceFolder = TODO()

override fun <P : JpsElement?> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
useSourceOfContentRoot: Boolean
): SourceFolder = TODO()

override fun <P : JpsElement> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
properties: P
): SourceFolder = TODO()

override fun <P : JpsElement> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
properties: P,
isAutomaticallyImported: Boolean
): SourceFolder = TODO()

override fun <P : JpsElement> addSourceFolder(
url: String,
type: JpsModuleSourceRootType<P>,
properties: P,
externalSource: ProjectModelExternalSource?
): SourceFolder = TODO()

override fun removeSourceFolder(sourceFolder: SourceFolder): Unit = TODO()

override fun clearSourceFolders(): Unit = TODO()
Expand All @@ -103,8 +75,6 @@ class MockContentEntry(private val file: VirtualFile) : ContentEntry {

override fun addExcludeFolder(url: String): ExcludeFolder = TODO()

override fun addExcludeFolder(url: String, isAutomaticallyImported: Boolean): ExcludeFolder = TODO()

override fun removeExcludeFolder(excludeFolder: ExcludeFolder): Unit = TODO()

override fun removeExcludeFolder(url: String): Boolean = TODO()
Expand Down

0 comments on commit d95e55d

Please sign in to comment.