Fix warnings in Kotlin JPS plugin (which are errors, actually, because of -Werror)
This commit is contained in:
+1
-1
@@ -282,7 +282,7 @@ abstract class AbstractIncrementalJpsTest(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!makeOverallResult.makeFailed) {
|
if (!makeOverallResult.makeFailed) {
|
||||||
if (checkDumpsCaseInsensitively && rebuildResult.mappingsDump?.toLowerCase() == makeOverallResult.mappingsDump?.toLowerCase()) {
|
if (checkDumpsCaseInsensitively && rebuildResult.mappingsDump.equals(makeOverallResult.mappingsDump, ignoreCase = true)) {
|
||||||
// do nothing
|
// do nothing
|
||||||
} else {
|
} else {
|
||||||
TestCase.assertEquals(rebuildResult.mappingsDump, makeOverallResult.mappingsDump)
|
TestCase.assertEquals(rebuildResult.mappingsDump, makeOverallResult.mappingsDump)
|
||||||
|
|||||||
+3
-3
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.jps.build
|
|||||||
import com.intellij.testFramework.RunAll
|
import com.intellij.testFramework.RunAll
|
||||||
import com.intellij.testFramework.UsefulTestCase
|
import com.intellij.testFramework.UsefulTestCase
|
||||||
import com.intellij.util.ThrowableRunnable
|
import com.intellij.util.ThrowableRunnable
|
||||||
import com.intellij.util.containers.StringInterner
|
import com.intellij.util.containers.Interner
|
||||||
import org.jetbrains.kotlin.TestWithWorkingDir
|
import org.jetbrains.kotlin.TestWithWorkingDir
|
||||||
import org.jetbrains.kotlin.build.JvmSourceRoot
|
import org.jetbrains.kotlin.build.JvmSourceRoot
|
||||||
import org.jetbrains.kotlin.cli.common.ExitCode
|
import org.jetbrains.kotlin.cli.common.ExitCode
|
||||||
@@ -336,7 +336,7 @@ abstract class AbstractLookupTrackerTest : TestWithWorkingDir() {
|
|||||||
else -> "(" + it.name + ")"
|
else -> "(" + it.name + ")"
|
||||||
}
|
}
|
||||||
|
|
||||||
it.scopeKind.toString()[0].toLowerCase()
|
it.scopeKind.toString()[0].lowercaseChar()
|
||||||
.toString() + ":" + it.scopeFqName.let { if (it.isNotEmpty()) it else "<root>" } + name
|
.toString() + ":" + it.scopeFqName.let { if (it.isNotEmpty()) it else "<root>" } + name
|
||||||
}.joinToString(separator = " ", prefix = "/*", postfix = "*/")
|
}.joinToString(separator = " ", prefix = "/*", postfix = "*/")
|
||||||
|
|
||||||
@@ -355,7 +355,7 @@ abstract class AbstractLookupTrackerTest : TestWithWorkingDir() {
|
|||||||
|
|
||||||
class TestLookupTracker : LookupTracker {
|
class TestLookupTracker : LookupTracker {
|
||||||
val lookups = arrayListOf<LookupInfo>()
|
val lookups = arrayListOf<LookupInfo>()
|
||||||
private val interner = StringInterner()
|
private val interner = Interner.createStringInterner<String>()
|
||||||
|
|
||||||
override val requiresPosition: Boolean
|
override val requiresPosition: Boolean
|
||||||
get() = true
|
get() = true
|
||||||
|
|||||||
+3
-2
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.jps.build.dependeciestxt
|
package org.jetbrains.kotlin.jps.build.dependeciestxt
|
||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility for generating common/platform module stub contents based on it's dependencies.
|
* Utility for generating common/platform module stub contents based on it's dependencies.
|
||||||
@@ -29,7 +30,7 @@ fun actualizeMppJpsIncTestCaseDirs(rootDir: String, dir: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class MppJpsIncTestsGenerator(val txt: ModulesTxt, val testCaseDirProvider: (TestCase) -> File) {
|
class MppJpsIncTestsGenerator(val txt: ModulesTxt, val testCaseDirProvider: (TestCase) -> File) {
|
||||||
val ModulesTxt.Module.capitalName get() = name.capitalize()
|
val ModulesTxt.Module.capitalName get() = name.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() }
|
||||||
|
|
||||||
val testCases: List<TestCase>
|
val testCases: List<TestCase>
|
||||||
|
|
||||||
@@ -308,7 +309,7 @@ class MppJpsIncTestsGenerator(val txt: ModulesTxt, val testCaseDirProvider: (Tes
|
|||||||
protected fun serviceKtFile(module: ModulesTxt.Module, fileNameSuffix: String = ""): File {
|
protected fun serviceKtFile(module: ModulesTxt.Module, fileNameSuffix: String = ""): File {
|
||||||
val suffix =
|
val suffix =
|
||||||
if (module.isCommonModule) "${module.serviceName}Header"
|
if (module.isCommonModule) "${module.serviceName}Header"
|
||||||
else "${module.name.capitalize()}${module.contentsSettings.serviceNameSuffix}Impl"
|
else "${module.name.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() }}${module.contentsSettings.serviceNameSuffix}Impl"
|
||||||
|
|
||||||
return File(dir, "${module.indexedName}_service$suffix.kt$fileNameSuffix")
|
return File(dir, "${module.indexedName}_service$suffix.kt$fileNameSuffix")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ object CompilerRunnerUtil {
|
|||||||
Class.forName("org.jetbrains.kotlin.config.Services", true, classLoader),
|
Class.forName("org.jetbrains.kotlin.config.Services", true, classLoader),
|
||||||
Array<String>::class.java
|
Array<String>::class.java
|
||||||
)
|
)
|
||||||
exec.invoke(compiler.newInstance(), out, environment.services, arguments)
|
exec.invoke(compiler.getDeclaredConstructor().newInstance(), out, environment.services, arguments)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun invokeClassesFqNames(
|
fun invokeClassesFqNames(
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import com.intellij.util.containers.ContainerUtil
|
|||||||
import org.jetbrains.jps.ModuleChunk
|
import org.jetbrains.jps.ModuleChunk
|
||||||
import org.jetbrains.jps.builders.BuildRootDescriptor
|
import org.jetbrains.jps.builders.BuildRootDescriptor
|
||||||
import org.jetbrains.jps.builders.BuildTarget
|
import org.jetbrains.jps.builders.BuildTarget
|
||||||
|
import org.jetbrains.jps.builders.BuildTargetIndex
|
||||||
import org.jetbrains.jps.builders.FileProcessor
|
import org.jetbrains.jps.builders.FileProcessor
|
||||||
import org.jetbrains.jps.builders.impl.DirtyFilesHolderBase
|
import org.jetbrains.jps.builders.impl.DirtyFilesHolderBase
|
||||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor
|
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor
|
||||||
@@ -31,7 +32,6 @@ import org.jetbrains.jps.incremental.FSOperations
|
|||||||
import org.jetbrains.jps.incremental.ModuleBuildTarget
|
import org.jetbrains.jps.incremental.ModuleBuildTarget
|
||||||
import org.jetbrains.jps.incremental.fs.CompilationRound
|
import org.jetbrains.jps.incremental.fs.CompilationRound
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.HashMap
|
|
||||||
import kotlin.collections.*
|
import kotlin.collections.*
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -156,10 +156,30 @@ class FSOperationsHelper(
|
|||||||
val target = rd.target
|
val target = rd.target
|
||||||
if (target in chunkTargets) return true
|
if (target in chunkTargets) return true
|
||||||
|
|
||||||
val targetOfFileWithDependencies = cache.getOrPut(target) { buildTargetIndex.getDependenciesRecursively(target, context) }
|
val targetOfFileWithDependencies = cache.getOrPut(target) { buildTargetIndex.myGetDependenciesRecursively(target, context) }
|
||||||
return ContainerUtil.intersects(targetOfFileWithDependencies, chunkTargets)
|
return ContainerUtil.intersects(targetOfFileWithDependencies, chunkTargets)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Copy-pasted from Intellij's deprecated method org.jetbrains.jps.builders.impl.BuildTargetIndexImpl.getDependenciesRecursively
|
||||||
|
private fun BuildTargetIndex.myGetDependenciesRecursively(target: BuildTarget<*>, context: CompileContext): Set<BuildTarget<*>> {
|
||||||
|
fun BuildTargetIndex.collectDependenciesRecursively(
|
||||||
|
target: BuildTarget<*>,
|
||||||
|
result: java.util.LinkedHashSet<in BuildTarget<*>>
|
||||||
|
) {
|
||||||
|
if (result.add(target)) {
|
||||||
|
for (dep in getDependencies(target, context)) {
|
||||||
|
collectDependenciesRecursively(dep, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val result = LinkedHashSet<BuildTarget<*>>()
|
||||||
|
for (dep in getDependencies(target, context)) {
|
||||||
|
collectDependenciesRecursively(dep, result)
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
override fun belongsToCurrentTargetChunk(file: File): Boolean {
|
override fun belongsToCurrentTargetChunk(file: File): Boolean {
|
||||||
val rd = buildRootIndex.findJavaRootDescriptor(context, file)
|
val rd = buildRootIndex.findJavaRootDescriptor(context, file)
|
||||||
return rd != null && chunkTargets.contains(rd.target)
|
return rd != null && chunkTargets.contains(rd.target)
|
||||||
|
|||||||
@@ -132,7 +132,6 @@ abstract class KotlinModuleBuildTarget<BuildMetaInfoType : BuildMetaInfo> intern
|
|||||||
)
|
)
|
||||||
|
|
||||||
// TODO(1.2.80): try replace allDependencies with KotlinChunk.collectDependentChunksRecursivelyExportedOnly
|
// TODO(1.2.80): try replace allDependencies with KotlinChunk.collectDependentChunksRecursivelyExportedOnly
|
||||||
@Deprecated("Consider using precalculated KotlinChunk.collectDependentChunksRecursivelyExportedOnly")
|
|
||||||
val allDependencies by lazy {
|
val allDependencies by lazy {
|
||||||
JpsJavaExtensionService.dependencies(module).recursively().exportedOnly()
|
JpsJavaExtensionService.dependencies(module).recursively().exportedOnly()
|
||||||
.includedIn(JpsJavaClasspathKind.compile(isTests))
|
.includedIn(JpsJavaClasspathKind.compile(isTests))
|
||||||
@@ -166,7 +165,7 @@ abstract class KotlinModuleBuildTarget<BuildMetaInfoType : BuildMetaInfo> intern
|
|||||||
val moduleExcludes = module.excludeRootsList.urls.mapTo(java.util.HashSet(), JpsPathUtil::urlToFile)
|
val moduleExcludes = module.excludeRootsList.urls.mapTo(java.util.HashSet(), JpsPathUtil::urlToFile)
|
||||||
|
|
||||||
val compilerExcludes = JpsJavaExtensionService.getInstance()
|
val compilerExcludes = JpsJavaExtensionService.getInstance()
|
||||||
.getOrCreateCompilerConfiguration(module.project)
|
.getCompilerConfiguration(module.project)
|
||||||
.compilerExcludes
|
.compilerExcludes
|
||||||
|
|
||||||
val buildRootIndex = localContext.projectDescriptor.buildRootIndex
|
val buildRootIndex = localContext.projectDescriptor.buildRootIndex
|
||||||
|
|||||||
Reference in New Issue
Block a user