// 1. Уточняем путь и настройки
def profilerConfig = [
targetClassesFile: file("${projectDir}/profiler_targets.txt"),
intervalSeconds: 60,
agentJar: file("$buildDir/libs/ProfilerAgent.jar")
]
// 2. Задача "предохранитель" (Fail-safe check)
task validateProfilerConfig {
group = "verification"
description = "Checks if the profiler target file exists before starting the app."
doFirst {
if (!profilerConfig.targetClassesFile.exists()) {
throw new GradleException(
"\n" + ("=" * 60) +
"\n[PROFILER ERROR]: Target file NOT FOUND!" +
"\nPlease create: ${profilerConfig.targetClassesFile.absolutePath}" +
"\nAdd one fully qualified class name per line." +
"\n" + ("=" * 60)
)
}
def lines = profilerConfig.targetClassesFile.readLines().findAll { it.trim() && !it.startsWith("#") }
if (lines.isEmpty()) {
logger.warn("\n" + ("!" * 60) +
"\n[PROFILER WARNING]: Target file is EMPTY!" +
"\nNo classes will be instrumented." +
"\n" + ("!" * 60))
} else {
println "[PROFILER]: Validated. Found ${lines.size()} classes to track."
}
}
}
// 3. Обновляем зависимости основной задачи
spawnBridgeWithProfiler.dependsOn validateProfilerConfig
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)