mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-13 09:19:13 +07:00
[jps build devkit] refactoring: move constants from RuntimeModuleRepositoryBuildConstants to 'intellij.devkit.runtimeModuleRepository.generator' (IJPL-201730)
This is needed to reuse it in the build scripts. GitOrigin-RevId: 2ff3d844537787622db4f00af38a17ece44c729b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
a8d4d66be3
commit
d625600d34
+4
@@ -16,6 +16,10 @@ import org.jetbrains.jps.model.module.JpsModule
|
||||
import org.jetbrains.jps.model.module.JpsModuleDependency
|
||||
|
||||
object RuntimeModuleRepositoryGenerator {
|
||||
const val JAR_REPOSITORY_FILE_NAME: String = "module-descriptors.jar"
|
||||
const val COMPACT_REPOSITORY_FILE_NAME: String = "module-descriptors.dat"
|
||||
const val GENERATOR_VERSION: Int = 2
|
||||
|
||||
/**
|
||||
* Generates the runtime module descriptors for all modules and libraries in [project].
|
||||
*/
|
||||
|
||||
-4
@@ -2,10 +2,6 @@
|
||||
package com.intellij.devkit.runtimeModuleRepository.jps.build
|
||||
|
||||
object RuntimeModuleRepositoryBuildConstants {
|
||||
const val JAR_REPOSITORY_FILE_NAME: String = "module-descriptors.jar"
|
||||
const val COMPACT_REPOSITORY_FILE_NAME: String = "module-descriptors.dat"
|
||||
const val GENERATOR_VERSION: Int = 2
|
||||
|
||||
/**
|
||||
* Must be equal to the [org.jetbrains.idea.devkit.build.IntelliJModuleRepositoryBuildScopeProvider.TARGET_TYPE_ID]
|
||||
*/
|
||||
|
||||
+4
-7
@@ -3,9 +3,6 @@ package com.intellij.devkit.runtimeModuleRepository.jps.build
|
||||
|
||||
import com.intellij.devkit.runtimeModuleRepository.generator.RuntimeModuleRepositoryGenerator
|
||||
import com.intellij.devkit.runtimeModuleRepository.generator.RuntimeModuleRepositoryValidator
|
||||
import com.intellij.devkit.runtimeModuleRepository.jps.build.RuntimeModuleRepositoryBuildConstants.COMPACT_REPOSITORY_FILE_NAME
|
||||
import com.intellij.devkit.runtimeModuleRepository.jps.build.RuntimeModuleRepositoryBuildConstants.GENERATOR_VERSION
|
||||
import com.intellij.devkit.runtimeModuleRepository.jps.build.RuntimeModuleRepositoryBuildConstants.JAR_REPOSITORY_FILE_NAME
|
||||
import com.intellij.devkit.runtimeModuleRepository.jps.impl.DevkitRuntimeModuleRepositoryJpsBundle
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.platform.runtime.repository.serialization.RawRuntimeModuleDescriptor
|
||||
@@ -68,16 +65,16 @@ internal class RuntimeModuleRepositoryBuilder
|
||||
val outputDir = Path.of(JpsPathUtil.urlToOsPath(outputUrl))
|
||||
val modulesXml = RuntimeModuleRepositoryTarget.getModulesXmlFile(project) ?: error("Project was not loaded from .idea")
|
||||
try {
|
||||
val jarRepositoryPath = outputDir.resolve(JAR_REPOSITORY_FILE_NAME)
|
||||
val jarRepositoryPath = outputDir.resolve(RuntimeModuleRepositoryGenerator.JAR_REPOSITORY_FILE_NAME)
|
||||
val timeToSaveDescriptorsToJar = measureTimeMillis {
|
||||
RuntimeModuleRepositorySerialization.saveToJar(descriptors, null, jarRepositoryPath, null, GENERATOR_VERSION)
|
||||
RuntimeModuleRepositorySerialization.saveToJar(descriptors, null, jarRepositoryPath, null, RuntimeModuleRepositoryGenerator.GENERATOR_VERSION)
|
||||
}
|
||||
outputConsumer.registerOutputFile(jarRepositoryPath.toFile(), listOf(modulesXml.absolutePath))
|
||||
LOG.info("${descriptors.size} descriptors are saved to JAR in ${timeToSaveDescriptorsToJar}ms")
|
||||
|
||||
val compactRepositoryPath = outputDir.resolve(COMPACT_REPOSITORY_FILE_NAME)
|
||||
val compactRepositoryPath = outputDir.resolve(RuntimeModuleRepositoryGenerator.COMPACT_REPOSITORY_FILE_NAME)
|
||||
val timeToSaveDescriptorsToCompactFile = measureTimeMillis {
|
||||
CompactFileWriter.saveToFile(descriptors, null, null, GENERATOR_VERSION, compactRepositoryPath)
|
||||
CompactFileWriter.saveToFile(descriptors, null, null, RuntimeModuleRepositoryGenerator.GENERATOR_VERSION, compactRepositoryPath)
|
||||
}
|
||||
LOG.info("${descriptors.size} descriptors are saved in compact format in ${timeToSaveDescriptorsToCompactFile}ms")
|
||||
outputConsumer.registerOutputFile(compactRepositoryPath.toFile(), listOf(modulesXml.absolutePath))
|
||||
|
||||
+3
-5
@@ -5,8 +5,6 @@ package com.intellij.devkit.runtimeModuleRepository.jps.build
|
||||
|
||||
import com.dynatrace.hash4j.hashing.HashSink
|
||||
import com.intellij.devkit.runtimeModuleRepository.generator.RuntimeModuleRepositoryGenerator
|
||||
import com.intellij.devkit.runtimeModuleRepository.jps.build.RuntimeModuleRepositoryBuildConstants.COMPACT_REPOSITORY_FILE_NAME
|
||||
import com.intellij.devkit.runtimeModuleRepository.jps.build.RuntimeModuleRepositoryBuildConstants.JAR_REPOSITORY_FILE_NAME
|
||||
import com.intellij.devkit.runtimeModuleRepository.jps.impl.DevkitRuntimeModuleRepositoryJpsBundle
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.platform.runtime.repository.serialization.impl.CompactFileReader
|
||||
@@ -73,14 +71,14 @@ internal class RuntimeModuleRepositoryTarget(
|
||||
val project = context.projectDescriptor.project
|
||||
val outputUrl = JpsJavaExtensionService.getInstance().getProjectExtension(project)?.outputUrl ?: return emptyList()
|
||||
val outputDir = JpsPathUtil.urlToFile(outputUrl)
|
||||
return java.util.List.of(File(outputDir, JAR_REPOSITORY_FILE_NAME),
|
||||
File(outputDir, COMPACT_REPOSITORY_FILE_NAME))
|
||||
return java.util.List.of(File(outputDir, RuntimeModuleRepositoryGenerator.JAR_REPOSITORY_FILE_NAME),
|
||||
File(outputDir, RuntimeModuleRepositoryGenerator.COMPACT_REPOSITORY_FILE_NAME))
|
||||
}
|
||||
|
||||
override fun computeConfigurationDigest(projectDescriptor: ProjectDescriptor, hash: HashSink) {
|
||||
hash.putString(JarFileSerializer.SPECIFICATION_VERSION)
|
||||
hash.putInt(CompactFileReader.FORMAT_VERSION)
|
||||
hash.putInt(RuntimeModuleRepositoryBuildConstants.GENERATOR_VERSION)
|
||||
hash.putInt(RuntimeModuleRepositoryGenerator.GENERATOR_VERSION)
|
||||
|
||||
val time = measureTimeMillis {
|
||||
computeDependenciesDigest(projectDescriptor, hash)
|
||||
|
||||
+2
-2
@@ -11,9 +11,9 @@ import java.nio.file.Path
|
||||
|
||||
fun checkRuntimeModuleRepository(outputDir: Path,
|
||||
expected: RawDescriptorListBuilder.() -> Unit) {
|
||||
val jarPath = outputDir.resolve(RuntimeModuleRepositoryBuildConstants.JAR_REPOSITORY_FILE_NAME)
|
||||
val jarPath = outputDir.resolve(RuntimeModuleRepositoryGenerator.JAR_REPOSITORY_FILE_NAME)
|
||||
checkRuntimeModuleRepository(RuntimeModuleRepositorySerialization.loadFromJar(jarPath), expected)
|
||||
val compactPath = outputDir.resolve(RuntimeModuleRepositoryBuildConstants.COMPACT_REPOSITORY_FILE_NAME)
|
||||
val compactPath = outputDir.resolve(RuntimeModuleRepositoryGenerator.COMPACT_REPOSITORY_FILE_NAME)
|
||||
checkRuntimeModuleRepository(RuntimeModuleRepositorySerialization.loadFromCompactFile(compactPath), expected)
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.devkit.runtimeModuleRepository.jps.build
|
||||
|
||||
import com.intellij.devkit.runtimeModuleRepository.generator.RuntimeModuleRepositoryGenerator
|
||||
import org.jetbrains.jps.builders.BuildResult
|
||||
import org.jetbrains.jps.builders.CompileScopeTestBuilder
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType
|
||||
@@ -83,7 +84,7 @@ class RuntimeModuleRepositoryIncrementalBuildTest : RuntimeModuleRepositoryTestC
|
||||
descriptor("a")
|
||||
}
|
||||
|
||||
deleteFile("out/${RuntimeModuleRepositoryBuildConstants.COMPACT_REPOSITORY_FILE_NAME}")
|
||||
deleteFile("out/${RuntimeModuleRepositoryGenerator.COMPACT_REPOSITORY_FILE_NAME}")
|
||||
buildAndCheck {
|
||||
descriptor("a")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user