[java, compilation-charts] Support for a feature flag in JPS IDEA-359089

GitOrigin-RevId: 85b795a9f36ceb2358fe7d23a110c733d2d58081
This commit is contained in:
Aleksey Dobrynin
2024-09-12 14:03:14 +03:00
committed by intellij-monorepo-bot
parent e80d1ba2da
commit 25cb51da31
3 changed files with 19 additions and 1 deletions

View File

@@ -21,12 +21,19 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
public class ChartsBuilderService extends BuilderService {
private static final Logger LOG = Logger.getInstance(ChartsBuilderService.class);
public static final String COMPILATION_STATISTIC_BUILDER_ID = "jps.compile.statistic";
public static final String COMPILATION_STATUS_BUILDER_ID = "jps.compile.status";
@Override
public @NotNull List<? extends ModuleLevelBuilder> createModuleLevelBuilders() {
return List.of(new ChartsModuleLevelBuilder());
if (Boolean.getBoolean("compilation.charts")) {
LOG.info("Compilation charts enabled.");
return List.of(new ChartsModuleLevelBuilder());
} else {
return List.of();
}
}
private static class ChartsModuleLevelBuilder extends ModuleLevelBuilder {

View File

@@ -3,6 +3,7 @@
<extensions defaultExtensionNs="com.intellij">
<postStartupActivity implementation="com.intellij.java.compiler.charts.CompilationChartsProjectActivity"/>
<compileServer.plugin classpath="jps/java-compiler-charts-jps.jar"/>
<buildProcess.parametersProvider implementation="com.intellij.java.compiler.charts.CompilationChartsBuildParametersProvider"/>
<registryKey key="compilation.charts" defaultValue="false"
description="Show compilation charts" restartRequired="false"/>

View File

@@ -0,0 +1,10 @@
// 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.java.compiler.charts
import com.intellij.compiler.server.BuildProcessParametersProvider
import com.intellij.java.compiler.charts.CompilationChartsProjectActivity.Companion.COMPILATION_CHARTS_KEY
import com.intellij.openapi.util.registry.Registry
class CompilationChartsBuildParametersProvider: BuildProcessParametersProvider() {
override fun getVMArguments() = listOf("-D${COMPILATION_CHARTS_KEY}=${Registry.`is`(COMPILATION_CHARTS_KEY)}")
}