From 892a148bad4f38603d1eba53a308bc7b9d288415 Mon Sep 17 00:00:00 2001 From: Eiichi Sato Date: Sat, 23 Oct 2021 02:02:44 +0900 Subject: [PATCH 1/5] pom: change project layout to build multi-release jar --- .gitignore | 14 +- examples/apache-cassandra/docker-compose.yaml | 2 +- examples/apache-flink/docker-compose.yaml | 2 +- examples/apache-flume/docker-compose.yaml | 2 +- examples/apache-hbase/docker-compose.yaml | 2 +- examples/apache-ignite/docker-compose.yaml | 2 +- examples/apache-solr/docker-compose.yaml | 2 +- examples/apache-tomcat/docker-compose.yaml | 2 +- examples/benchmark-kafka/docker-compose.yaml | 2 +- .../custom-jvm-metrics/docker-compose.yaml | 2 +- pom.xml | 203 ++++-------------- scriptable-jmx-exporter-base/pom.xml | 57 +++++ .../net/thisptr/jmx/exporter/agent/Agent.java | 0 .../thisptr/jmx/exporter/agent/BuildInfo.java | 0 .../exporter/agent/ExporterHttpHandler.java | 0 .../jmx/exporter/agent/config/Config.java | 0 .../jmx/exporter/agent/config/ScriptText.java | 0 .../AttributeNamePatternDeserializer.java | 0 .../HostAndPortDeserializer.java | 0 .../deserializers/ScriptTextDeserializer.java | 0 .../config/validations/ValidScrapeRule.java | 0 .../validations/ValidScrapeRuleList.java | 0 .../validators/ScrapeRuleListValidator.java | 0 .../validators/ScrapeRuleValidator.java | 0 .../agent/config/watcher/ConfigWatcher.java | 0 .../config/watcher/PollingConfigWatcher.java | 0 .../loaders/ClassPathConfigLoader.java | 0 .../watcher/loaders/FileConfigLoader.java | 0 .../watcher/loaders/StaticConfigLoader.java | 0 .../exporter/agent/metrics/Instrumented.java | 0 .../agent/metrics/MetricRegistry.java | 0 .../agent/misc/AttributeNamePattern.java | 0 .../exporter/agent/misc/FastObjectName.java | 0 .../exporter/agent/misc/MutableInteger.java | 0 .../thisptr/jmx/exporter/agent/misc/Pair.java | 0 .../agent/misc/PatternAndCaptures.java | 0 .../jmx/exporter/agent/misc/StringWriter.java | 0 .../agent/misc/ToStringSerializer.java | 0 .../jmx/exporter/agent/scraper/Sample.java | 0 .../exporter/agent/scraper/ScrapeOutput.java | 0 .../jmx/exporter/agent/scraper/Scraper.java | 0 .../agent/scripting/ConditionScript.java | 0 .../agent/scripting/Declarations.java | 0 .../agent/scripting/PrometheusMetric.java | 0 .../scripting/PrometheusMetricOutput.java | 0 .../agent/scripting/ScriptEngine.java | 0 .../agent/scripting/ScriptEngineRegistry.java | 0 .../agent/scripting/TransformScript.java | 0 .../scripting/janino/JaninoScriptEngine.java | 0 .../scripting/janino/api/AttributeValue.java | 0 .../scripting/janino/api/MetricValue.java | 0 .../janino/api/MetricValueOutput.java | 0 .../_InternalUseDoNotImportProxyAccessor.java | 0 .../scripting/janino/api/fn/LogFunction.java | 0 .../agent/scripting/janino/api/v1/V1.java | 0 .../scripting/janino/internal/Labels.java | 0 .../janino/internal/LowerCaseWriter.java | 0 .../janino/internal/MetricNamer.java | 0 .../janino/internal/SnakeCaseWriter.java | 0 .../janino/internal/ValueTransformations.java | 0 .../jmx/exporter/agent/utils/MoreArrays.java | 0 .../jmx/exporter/agent/utils/MoreClasses.java | 0 .../exporter/agent/utils/MoreCollections.java | 0 .../jmx/exporter/agent/utils/MoreLongs.java | 0 .../exporter/agent/utils/MoreValidators.java | 0 .../agent/writer/PrometheusMetricWriter.java | 0 .../agent/writer/SanitizingStringWriter.java | 0 .../src}/main/javacc/parser.jj | 0 .../resources/scriptable-jmx-exporter.yaml | 0 .../thisptr/jmx/exporter/agent/AgentTest.java | 0 .../OutputStreamWritableByteChannel.java | 0 .../jmx/exporter/agent/config/ConfigTest.java | 0 .../watcher/PollingConfigWatcherTest.java | 0 .../agent/misc/AttributeNamePatternTest.java | 0 .../agent/misc/PatternAndCapturesTest.java | 0 .../exporter/agent/scraper/ScraperTest.java | 0 .../janino/JaninoScriptEngineTest.java | 0 .../agent/scripting/janino/api/v1/V1Test.java | 0 .../scripting/janino/internal/LabelsTest.java | 0 .../janino/internal/LowerCaseWriterTest.java | 0 .../janino/internal/SnakeCaseWriterTest.java | 0 .../internal/ValueTransformationsTest.java | 0 .../exporter/agent/utils/MoreClassesTest.java | 0 .../exporter/agent/utils/MoreLongsTest.java | 0 .../writer/PrometheusMetricWriterTest.java | 0 ...f_tabular_data.default_transform_v1.1.json | 0 .../mbeans/nested_array_of_tabular_data.json | 0 ...d_tabular_data.default_transform_v1.1.json | 0 ...d_tabular_data.default_transform_v1.2.json | 0 ...d_tabular_data.default_transform_v1.3.json | 0 .../resources/mbeans/nested_tabular_data.json | 0 scriptable-jmx-exporter/pom.xml | 196 +++++++++++++++++ .../net/thisptr/jmx/exporter/tools/Pause.java | 0 .../src}/main/resources/META-INF/MANIFEST.MF | 1 + 94 files changed, 316 insertions(+), 173 deletions(-) create mode 100644 scriptable-jmx-exporter-base/pom.xml rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/Agent.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/BuildInfo.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/ExporterHttpHandler.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/Config.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/ScriptText.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/AttributeNamePatternDeserializer.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/HostAndPortDeserializer.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/ScriptTextDeserializer.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRule.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRuleList.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleListValidator.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleValidator.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/watcher/ConfigWatcher.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcher.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/ClassPathConfigLoader.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/FileConfigLoader.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/StaticConfigLoader.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/metrics/Instrumented.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/metrics/MetricRegistry.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePattern.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/misc/FastObjectName.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/misc/MutableInteger.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/misc/Pair.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCaptures.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/misc/StringWriter.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/misc/ToStringSerializer.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scraper/Sample.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scraper/ScrapeOutput.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scraper/Scraper.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/ConditionScript.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/Declarations.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetric.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetricOutput.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngine.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngineRegistry.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/TransformScript.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngine.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/AttributeValue.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValue.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValueOutput.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/_InternalUseDoNotImportProxyAccessor.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/fn/LogFunction.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/Labels.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriter.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/MetricNamer.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriter.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformations.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/utils/MoreArrays.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/utils/MoreClasses.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/utils/MoreCollections.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/utils/MoreLongs.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/utils/MoreValidators.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriter.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/java/net/thisptr/jmx/exporter/agent/writer/SanitizingStringWriter.java (100%) rename {src => scriptable-jmx-exporter-base/src}/main/javacc/parser.jj (100%) rename {src => scriptable-jmx-exporter-base/src}/main/resources/scriptable-jmx-exporter.yaml (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/AgentTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/OutputStreamWritableByteChannel.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/config/ConfigTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcherTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePatternTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCapturesTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/scraper/ScraperTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngineTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1Test.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LabelsTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriterTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriterTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformationsTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/utils/MoreClassesTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/utils/MoreLongsTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriterTest.java (100%) rename {src => scriptable-jmx-exporter-base/src}/test/resources/mbeans/nested_array_of_tabular_data.default_transform_v1.1.json (100%) rename {src => scriptable-jmx-exporter-base/src}/test/resources/mbeans/nested_array_of_tabular_data.json (100%) rename {src => scriptable-jmx-exporter-base/src}/test/resources/mbeans/nested_tabular_data.default_transform_v1.1.json (100%) rename {src => scriptable-jmx-exporter-base/src}/test/resources/mbeans/nested_tabular_data.default_transform_v1.2.json (100%) rename {src => scriptable-jmx-exporter-base/src}/test/resources/mbeans/nested_tabular_data.default_transform_v1.3.json (100%) rename {src => scriptable-jmx-exporter-base/src}/test/resources/mbeans/nested_tabular_data.json (100%) create mode 100644 scriptable-jmx-exporter/pom.xml rename {src => scriptable-jmx-exporter/src}/main/java/net/thisptr/jmx/exporter/tools/Pause.java (100%) rename {src => scriptable-jmx-exporter/src}/main/resources/META-INF/MANIFEST.MF (72%) diff --git a/.gitignore b/.gitignore index 5d37edb..e67dc1e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ -/dependency-reduced-pom.xml -/target/ -/.classpath -/.settings -/.project -/pom.xml.releaseBackup -/release.properties +dependency-reduced-pom.xml +target/ +.classpath +.settings +.project +pom.xml.releaseBackup +release.properties diff --git a/examples/apache-cassandra/docker-compose.yaml b/examples/apache-cassandra/docker-compose.yaml index 233c1ef..73a91aa 100644 --- a/examples/apache-cassandra/docker-compose.yaml +++ b/examples/apache-cassandra/docker-compose.yaml @@ -6,7 +6,7 @@ services: - '9639:9639' volumes: - type: bind - source: ../../target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar + source: ../../scriptable-jmx-exporter/target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar target: /opt/java-agents/scriptable-jmx-exporter.jar - type: bind source: ./scriptable-jmx-exporter-typed.yaml diff --git a/examples/apache-flink/docker-compose.yaml b/examples/apache-flink/docker-compose.yaml index e6f2605..2a5eb3b 100644 --- a/examples/apache-flink/docker-compose.yaml +++ b/examples/apache-flink/docker-compose.yaml @@ -10,7 +10,7 @@ services: - '9249:9249' volumes: - type: bind - source: ../../target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar + source: ../../scriptable-jmx-exporter/target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar target: /opt/java-agents/scriptable-jmx-exporter.jar - type: bind source: ./scriptable-jmx-exporter-typed.yaml diff --git a/examples/apache-flume/docker-compose.yaml b/examples/apache-flume/docker-compose.yaml index 2663864..7a6205d 100644 --- a/examples/apache-flume/docker-compose.yaml +++ b/examples/apache-flume/docker-compose.yaml @@ -11,7 +11,7 @@ services: - '44444:44444' volumes: - type: bind - source: ../../target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar + source: ../../scriptable-jmx-exporter/target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar target: /opt/java-agents/scriptable-jmx-exporter.jar - type: bind source: ./scriptable-jmx-exporter.yaml diff --git a/examples/apache-hbase/docker-compose.yaml b/examples/apache-hbase/docker-compose.yaml index 53abe7b..2a8fe5f 100644 --- a/examples/apache-hbase/docker-compose.yaml +++ b/examples/apache-hbase/docker-compose.yaml @@ -15,7 +15,7 @@ services: - '16030:16030' volumes: - type: bind - source: ../../target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar + source: ../../scriptable-jmx-exporter/target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar target: /opt/java-agents/scriptable-jmx-exporter.jar - type: bind source: ./scriptable-jmx-exporter.yaml diff --git a/examples/apache-ignite/docker-compose.yaml b/examples/apache-ignite/docker-compose.yaml index 1e5fb59..09e3457 100644 --- a/examples/apache-ignite/docker-compose.yaml +++ b/examples/apache-ignite/docker-compose.yaml @@ -9,7 +9,7 @@ services: - '6379:6379' volumes: - type: bind - source: ../../target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar + source: ../../scriptable-jmx-exporter/target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar target: /opt/java-agents/scriptable-jmx-exporter.jar - type: bind source: ./scriptable-jmx-exporter.yaml diff --git a/examples/apache-solr/docker-compose.yaml b/examples/apache-solr/docker-compose.yaml index 7909951..007b43c 100644 --- a/examples/apache-solr/docker-compose.yaml +++ b/examples/apache-solr/docker-compose.yaml @@ -9,7 +9,7 @@ services: - '8983:8983' volumes: - type: bind - source: ../../target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar + source: ../../scriptable-jmx-exporter/target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar target: /opt/java-agents/scriptable-jmx-exporter.jar - type: bind source: ./scriptable-jmx-exporter-untyped.yaml diff --git a/examples/apache-tomcat/docker-compose.yaml b/examples/apache-tomcat/docker-compose.yaml index 1ef9cd8..4fa1157 100644 --- a/examples/apache-tomcat/docker-compose.yaml +++ b/examples/apache-tomcat/docker-compose.yaml @@ -9,7 +9,7 @@ services: - '8080:8080' volumes: - type: bind - source: ../../target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar + source: ../../scriptable-jmx-exporter/target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar target: /opt/java-agents/scriptable-jmx-exporter.jar - type: bind source: ./scriptable-jmx-exporter.yaml diff --git a/examples/benchmark-kafka/docker-compose.yaml b/examples/benchmark-kafka/docker-compose.yaml index d5bc568..63e3451 100644 --- a/examples/benchmark-kafka/docker-compose.yaml +++ b/examples/benchmark-kafka/docker-compose.yaml @@ -20,7 +20,7 @@ services: volumes: - 'kafka_data:/bitnami' - type: bind - source: ../../target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar + source: ../../scriptable-jmx-exporter/target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar target: /opt/java-agents/scriptable-jmx-exporter.jar - type: bind source: ./jmx_prometheus_javaagent-0.13.0.jar diff --git a/examples/custom-jvm-metrics/docker-compose.yaml b/examples/custom-jvm-metrics/docker-compose.yaml index a8b6ee6..5c831e2 100644 --- a/examples/custom-jvm-metrics/docker-compose.yaml +++ b/examples/custom-jvm-metrics/docker-compose.yaml @@ -32,7 +32,7 @@ services: image: openjdk:14.0.1 volumes: - type: bind - source: ../../target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar + source: ../../scriptable-jmx-exporter/target/scriptable-jmx-exporter-1.0.0-SNAPSHOT.jar target: /opt/java-agents/scriptable-jmx-exporter.jar - type: bind source: ./scriptable-jmx-exporter.yaml diff --git a/pom.xml b/pom.xml index 40819a5..ba88f4f 100644 --- a/pom.xml +++ b/pom.xml @@ -6,9 +6,9 @@ net.thisptr - scriptable-jmx-exporter - Scriptable JMX Exporter - jar + scriptable-jmx-exporter-parent + Scriptable JMX Exporter (Parent POM) + pom 1.0.0-SNAPSHOT Java agent for collecting and exposing metrics to Prometheus https://github.com/eiiches/scriptable-jmx-exporter @@ -46,6 +46,11 @@ UTF-8 + + scriptable-jmx-exporter + scriptable-jmx-exporter-base + + com.fasterxml.jackson.core @@ -122,112 +127,14 @@ - - org.apache.maven.plugins - maven-shade-plugin - 3.2.1 - - - package - - shade - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - com.google - net.thisptr.jmx.exporter.agent.shade.com.google - - - org.hibernate - net.thisptr.jmx.exporter.agent.shade.org.hibernate - - - org.jcodings - net.thisptr.jmx.exporter.agent.shade.org.jcodings - - - org.joni - net.thisptr.jmx.exporter.agent.shade.org.joni - - - org.yaml.snakeyaml - net.thisptr.jmx.exporter.agent.shade.org.yaml.snakeyaml - - - com.fasterxml - net.thisptr.jmx.exporter.agent.shade.com.fasterxml - - - io.undertow - net.thisptr.jmx.exporter.agent.shade.io.undertow - - - org.xnio - net.thisptr.jmx.exporter.agent.shade.org.xnio - - - org.codehaus - net.thisptr.jmx.exporter.agent.shade.org.codehaus - - - org.wildfly - net.thisptr.jmx.exporter.agent.shade.org.wildfly - - - org.jboss - net.thisptr.jmx.exporter.agent.shade.org.jboss - - - javax.validation - net.thisptr.jmx.exporter.agent.shade.javax.validation - - - javax.annotation - net.thisptr.jmx.exporter.agent.shade.javax.annotation - - - org.checkerframework - net.thisptr.jmx.exporter.agent.shade.org.checkerframework - - - com.sun.el - net.thisptr.jmx.exporter.agent.shade.com.sun.el - - - javax.el - net.thisptr.jmx.exporter.agent.shade.javax.el - - - org.codehaus.mojo.animal_sniffer - net.thisptr.jmx.exporter.agent.shade.org.codehaus.mojo.animal_sniffer - - - false - - - - - - - org.apache.maven.plugins maven-compiler-plugin 3.8.1 - 1.8 - 1.8 + 8 + 8 + 8 -Xlint:all true true @@ -240,6 +147,7 @@ true false + true @@ -268,20 +176,11 @@ - - net.thisptr.jmx.exporter.agent.javacc - 8 - org.apache.maven.plugins maven-jar-plugin 3.1.2 - - - src/main/resources/META-INF/MANIFEST.MF - - org.sonatype.plugins @@ -294,56 +193,46 @@ false - - org.codehaus.mojo - javacc-maven-plugin - 2.6 - - - net.java.dev.javacc - javacc - 7.0.9 - - - - - javacc - - javacc - - - - org.apache.maven.plugins maven-surefire-plugin 3.0.0-M3 - - pl.project13.maven - git-commit-id-plugin - 4.0.2 - - - get-the-git-infos - - revision - - initialize - - - - true - ${project.build.outputDirectory}/scriptable-jmx-exporter-git.json - - ^git.build.(time|version)$ - ^git.commit.(time|id)$ - - yyyy-MM-dd'T'HH:mm:ss.SSSXXX - json - - + + + + + org.codehaus.mojo + javacc-maven-plugin + 2.6 + + + net.java.dev.javacc + javacc + 7.0.9 + + + + + pl.project13.maven + git-commit-id-plugin + 4.0.2 + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + + org.ow2.asm + asm + 9.2 + + + + + diff --git a/scriptable-jmx-exporter-base/pom.xml b/scriptable-jmx-exporter-base/pom.xml new file mode 100644 index 0000000..1ff3673 --- /dev/null +++ b/scriptable-jmx-exporter-base/pom.xml @@ -0,0 +1,57 @@ + + + 4.0.0 + + 3.0.5 + + + scriptable-jmx-exporter-base + Scriptable JMX Exporter (Base) + + + net.thisptr + scriptable-jmx-exporter-parent + 1.0.0-SNAPSHOT + ../pom.xml + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + 8 + -Xlint:all + true + true + + + + org.apache.maven.plugins + maven-javadoc-plugin + + net.thisptr.jmx.exporter.agent.javacc + 8 + + + + org.codehaus.mojo + javacc-maven-plugin + + + javacc + + javacc + + + + + + + diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/Agent.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/Agent.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/Agent.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/Agent.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/BuildInfo.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/BuildInfo.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/BuildInfo.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/BuildInfo.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/ExporterHttpHandler.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/ExporterHttpHandler.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/ExporterHttpHandler.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/ExporterHttpHandler.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/Config.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/Config.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/Config.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/Config.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/ScriptText.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/ScriptText.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/ScriptText.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/ScriptText.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/AttributeNamePatternDeserializer.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/AttributeNamePatternDeserializer.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/AttributeNamePatternDeserializer.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/AttributeNamePatternDeserializer.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/HostAndPortDeserializer.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/HostAndPortDeserializer.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/HostAndPortDeserializer.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/HostAndPortDeserializer.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/ScriptTextDeserializer.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/ScriptTextDeserializer.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/ScriptTextDeserializer.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/deserializers/ScriptTextDeserializer.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRule.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRule.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRule.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRule.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRuleList.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRuleList.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRuleList.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/validations/ValidScrapeRuleList.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleListValidator.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleListValidator.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleListValidator.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleListValidator.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleValidator.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleValidator.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleValidator.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/validators/ScrapeRuleValidator.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/ConfigWatcher.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/ConfigWatcher.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/ConfigWatcher.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/ConfigWatcher.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcher.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcher.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcher.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcher.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/ClassPathConfigLoader.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/ClassPathConfigLoader.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/ClassPathConfigLoader.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/ClassPathConfigLoader.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/FileConfigLoader.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/FileConfigLoader.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/FileConfigLoader.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/FileConfigLoader.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/StaticConfigLoader.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/StaticConfigLoader.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/StaticConfigLoader.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/config/watcher/loaders/StaticConfigLoader.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/metrics/Instrumented.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/metrics/Instrumented.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/metrics/Instrumented.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/metrics/Instrumented.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/metrics/MetricRegistry.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/metrics/MetricRegistry.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/metrics/MetricRegistry.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/metrics/MetricRegistry.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePattern.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePattern.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePattern.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePattern.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/misc/FastObjectName.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/FastObjectName.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/misc/FastObjectName.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/FastObjectName.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/misc/MutableInteger.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/MutableInteger.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/misc/MutableInteger.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/MutableInteger.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/misc/Pair.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/Pair.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/misc/Pair.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/Pair.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCaptures.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCaptures.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCaptures.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCaptures.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/misc/StringWriter.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/StringWriter.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/misc/StringWriter.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/StringWriter.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/misc/ToStringSerializer.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/ToStringSerializer.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/misc/ToStringSerializer.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/misc/ToStringSerializer.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scraper/Sample.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scraper/Sample.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scraper/Sample.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scraper/Sample.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scraper/ScrapeOutput.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scraper/ScrapeOutput.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scraper/ScrapeOutput.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scraper/ScrapeOutput.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scraper/Scraper.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scraper/Scraper.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scraper/Scraper.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scraper/Scraper.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ConditionScript.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ConditionScript.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/ConditionScript.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ConditionScript.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/Declarations.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/Declarations.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/Declarations.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/Declarations.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetric.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetric.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetric.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetric.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetricOutput.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetricOutput.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetricOutput.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/PrometheusMetricOutput.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngine.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngine.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngine.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngine.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngineRegistry.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngineRegistry.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngineRegistry.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptEngineRegistry.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/TransformScript.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/TransformScript.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/TransformScript.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/TransformScript.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngine.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngine.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngine.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngine.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/AttributeValue.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/AttributeValue.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/AttributeValue.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/AttributeValue.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValue.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValue.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValue.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValue.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValueOutput.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValueOutput.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValueOutput.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/MetricValueOutput.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/_InternalUseDoNotImportProxyAccessor.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/_InternalUseDoNotImportProxyAccessor.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/_InternalUseDoNotImportProxyAccessor.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/_InternalUseDoNotImportProxyAccessor.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/fn/LogFunction.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/fn/LogFunction.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/fn/LogFunction.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/fn/LogFunction.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/Labels.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/Labels.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/Labels.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/Labels.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriter.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriter.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriter.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriter.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/MetricNamer.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/MetricNamer.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/MetricNamer.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/MetricNamer.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriter.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriter.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriter.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriter.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformations.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformations.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformations.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformations.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreArrays.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreArrays.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreArrays.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreArrays.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreClasses.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreClasses.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreClasses.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreClasses.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreCollections.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreCollections.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreCollections.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreCollections.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreLongs.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreLongs.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreLongs.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreLongs.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreValidators.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreValidators.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreValidators.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/utils/MoreValidators.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriter.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriter.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriter.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriter.java diff --git a/src/main/java/net/thisptr/jmx/exporter/agent/writer/SanitizingStringWriter.java b/scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/writer/SanitizingStringWriter.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/agent/writer/SanitizingStringWriter.java rename to scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/writer/SanitizingStringWriter.java diff --git a/src/main/javacc/parser.jj b/scriptable-jmx-exporter-base/src/main/javacc/parser.jj similarity index 100% rename from src/main/javacc/parser.jj rename to scriptable-jmx-exporter-base/src/main/javacc/parser.jj diff --git a/src/main/resources/scriptable-jmx-exporter.yaml b/scriptable-jmx-exporter-base/src/main/resources/scriptable-jmx-exporter.yaml similarity index 100% rename from src/main/resources/scriptable-jmx-exporter.yaml rename to scriptable-jmx-exporter-base/src/main/resources/scriptable-jmx-exporter.yaml diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/AgentTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/AgentTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/AgentTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/AgentTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/OutputStreamWritableByteChannel.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/OutputStreamWritableByteChannel.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/OutputStreamWritableByteChannel.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/OutputStreamWritableByteChannel.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/config/ConfigTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/config/ConfigTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/config/ConfigTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/config/ConfigTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcherTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcherTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcherTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/config/watcher/PollingConfigWatcherTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePatternTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePatternTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePatternTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/misc/AttributeNamePatternTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCapturesTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCapturesTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCapturesTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/misc/PatternAndCapturesTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/scraper/ScraperTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scraper/ScraperTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/scraper/ScraperTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scraper/ScraperTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngineTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngineTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngineTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/JaninoScriptEngineTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1Test.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1Test.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1Test.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/api/v1/V1Test.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LabelsTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LabelsTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LabelsTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LabelsTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriterTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriterTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriterTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/LowerCaseWriterTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriterTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriterTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriterTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/SnakeCaseWriterTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformationsTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformationsTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformationsTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/scripting/janino/internal/ValueTransformationsTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/utils/MoreClassesTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/utils/MoreClassesTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/utils/MoreClassesTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/utils/MoreClassesTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/utils/MoreLongsTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/utils/MoreLongsTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/utils/MoreLongsTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/utils/MoreLongsTest.java diff --git a/src/test/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriterTest.java b/scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriterTest.java similarity index 100% rename from src/test/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriterTest.java rename to scriptable-jmx-exporter-base/src/test/java/net/thisptr/jmx/exporter/agent/writer/PrometheusMetricWriterTest.java diff --git a/src/test/resources/mbeans/nested_array_of_tabular_data.default_transform_v1.1.json b/scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_array_of_tabular_data.default_transform_v1.1.json similarity index 100% rename from src/test/resources/mbeans/nested_array_of_tabular_data.default_transform_v1.1.json rename to scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_array_of_tabular_data.default_transform_v1.1.json diff --git a/src/test/resources/mbeans/nested_array_of_tabular_data.json b/scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_array_of_tabular_data.json similarity index 100% rename from src/test/resources/mbeans/nested_array_of_tabular_data.json rename to scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_array_of_tabular_data.json diff --git a/src/test/resources/mbeans/nested_tabular_data.default_transform_v1.1.json b/scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_tabular_data.default_transform_v1.1.json similarity index 100% rename from src/test/resources/mbeans/nested_tabular_data.default_transform_v1.1.json rename to scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_tabular_data.default_transform_v1.1.json diff --git a/src/test/resources/mbeans/nested_tabular_data.default_transform_v1.2.json b/scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_tabular_data.default_transform_v1.2.json similarity index 100% rename from src/test/resources/mbeans/nested_tabular_data.default_transform_v1.2.json rename to scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_tabular_data.default_transform_v1.2.json diff --git a/src/test/resources/mbeans/nested_tabular_data.default_transform_v1.3.json b/scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_tabular_data.default_transform_v1.3.json similarity index 100% rename from src/test/resources/mbeans/nested_tabular_data.default_transform_v1.3.json rename to scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_tabular_data.default_transform_v1.3.json diff --git a/src/test/resources/mbeans/nested_tabular_data.json b/scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_tabular_data.json similarity index 100% rename from src/test/resources/mbeans/nested_tabular_data.json rename to scriptable-jmx-exporter-base/src/test/resources/mbeans/nested_tabular_data.json diff --git a/scriptable-jmx-exporter/pom.xml b/scriptable-jmx-exporter/pom.xml new file mode 100644 index 0000000..76ab4c7 --- /dev/null +++ b/scriptable-jmx-exporter/pom.xml @@ -0,0 +1,196 @@ + + + 4.0.0 + + 3.0.5 + + + scriptable-jmx-exporter + Scriptable JMX Exporter + + + net.thisptr + scriptable-jmx-exporter-parent + 1.0.0-SNAPSHOT + ../pom.xml + + + + + net.thisptr + scriptable-jmx-exporter-base + 1.0.0-SNAPSHOT + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.2.0 + + + prepare-mrjar + prepare-package + + unpack + + + + + net.thisptr + scriptable-jmx-exporter-base + 1.0.0-SNAPSHOT + jar + false + ${project.build.outputDirectory} + + + + + + + + org.apache.maven.plugins + maven-shade-plugin + + + package + + shade + + + + net.thisptr:scriptable-jmx-exporter-base + + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + + + com.google + net.thisptr.jmx.exporter.agent.shade.com.google + + + org.hibernate + net.thisptr.jmx.exporter.agent.shade.org.hibernate + + + org.jcodings + net.thisptr.jmx.exporter.agent.shade.org.jcodings + + + org.joni + net.thisptr.jmx.exporter.agent.shade.org.joni + + + org.yaml.snakeyaml + net.thisptr.jmx.exporter.agent.shade.org.yaml.snakeyaml + + + com.fasterxml + net.thisptr.jmx.exporter.agent.shade.com.fasterxml + + + io.undertow + net.thisptr.jmx.exporter.agent.shade.io.undertow + + + org.xnio + net.thisptr.jmx.exporter.agent.shade.org.xnio + + + org.codehaus + net.thisptr.jmx.exporter.agent.shade.org.codehaus + + + org.wildfly + net.thisptr.jmx.exporter.agent.shade.org.wildfly + + + org.jboss + net.thisptr.jmx.exporter.agent.shade.org.jboss + + + javax.validation + net.thisptr.jmx.exporter.agent.shade.javax.validation + + + javax.annotation + net.thisptr.jmx.exporter.agent.shade.javax.annotation + + + org.checkerframework + net.thisptr.jmx.exporter.agent.shade.org.checkerframework + + + com.sun.el + net.thisptr.jmx.exporter.agent.shade.com.sun.el + + + javax.el + net.thisptr.jmx.exporter.agent.shade.javax.el + + + org.codehaus.mojo.animal_sniffer + net.thisptr.jmx.exporter.agent.shade.org.codehaus.mojo.animal_sniffer + + + false + + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + src/main/resources/META-INF/MANIFEST.MF + + + + + pl.project13.maven + git-commit-id-plugin + + + get-the-git-infos + + revision + + initialize + + + + true + ${project.build.outputDirectory}/scriptable-jmx-exporter-git.json + + ^git.build.(time|version)$ + ^git.commit.(time|id)$ + + yyyy-MM-dd'T'HH:mm:ss.SSSXXX + json + + + + org.apache.maven.plugins + maven-release-plugin + + false + + + + + diff --git a/src/main/java/net/thisptr/jmx/exporter/tools/Pause.java b/scriptable-jmx-exporter/src/main/java/net/thisptr/jmx/exporter/tools/Pause.java similarity index 100% rename from src/main/java/net/thisptr/jmx/exporter/tools/Pause.java rename to scriptable-jmx-exporter/src/main/java/net/thisptr/jmx/exporter/tools/Pause.java diff --git a/src/main/resources/META-INF/MANIFEST.MF b/scriptable-jmx-exporter/src/main/resources/META-INF/MANIFEST.MF similarity index 72% rename from src/main/resources/META-INF/MANIFEST.MF rename to scriptable-jmx-exporter/src/main/resources/META-INF/MANIFEST.MF index 87df5b1..407507e 100644 --- a/src/main/resources/META-INF/MANIFEST.MF +++ b/scriptable-jmx-exporter/src/main/resources/META-INF/MANIFEST.MF @@ -1 +1,2 @@ Premain-Class: net.thisptr.jmx.exporter.agent.Agent +Multi-Release: true From 626490a9097b83d26af7ec2f06207c9dbdfed628 Mon Sep 17 00:00:00 2001 From: Eiichi Sato Date: Sat, 23 Oct 2021 01:42:38 +0900 Subject: [PATCH 2/5] ci: build using jdk 17 --- .github/workflows/deploy-snapshot.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-snapshot.yaml b/.github/workflows/deploy-snapshot.yaml index d950876..89f3fbe 100644 --- a/.github/workflows/deploy-snapshot.yaml +++ b/.github/workflows/deploy-snapshot.yaml @@ -9,10 +9,11 @@ jobs: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 + - name: Set up JDK 17 + uses: actions/setup-java@v2.3.0 with: - java-version: 1.8 + java-version: '17' + distribution: 'zulu' - name: Configure Maven env: M2_SETTINGS_XML: ${{ secrets.M2_SETTINGS_XML }} From fbe021877a23810ab0e37fbdf9cbfa7766cfd87a Mon Sep 17 00:00:00 2001 From: Eiichi Sato Date: Sat, 23 Oct 2021 01:58:51 +0900 Subject: [PATCH 3/5] core: support custom metrics --- .github/workflows/deploy-snapshot.yaml | 2 + .gitmodules | 3 + deps/install.sh | 24 ++++ deps/janino | 1 + ...1-compile-with-target-1.7-source-1.7.patch | 27 +++++ deps/reset.sh | 9 ++ pom.xml | 12 +- .../net/thisptr/jmx/exporter/agent/Agent.java | 4 +- .../exporter/agent/ExporterHttpHandler.java | 15 ++- .../jmx/exporter/agent/config/Config.java | 23 +++- .../jmx/exporter/agent/registry/Registry.java | 13 +++ .../agent/scripting/ScriptContext.java | 92 +++++++++++++++ .../agent/scripting/ScriptEngine.java | 8 +- .../scripting/janino/JaninoScriptEngine.java | 110 ++++++++---------- .../janino/JaninoScriptEngineTest.java | 28 +++-- scriptable-jmx-exporter/pom.xml | 16 +++ 16 files changed, 303 insertions(+), 84 deletions(-) create mode 100644 .gitmodules create mode 100755 deps/install.sh create mode 160000 deps/janino create mode 100644 deps/janino.patch.d/0001-compile-with-target-1.7-source-1.7.patch create mode 100755 deps/reset.sh create mode 100644 scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/registry/Registry.java create mode 100644 scriptable-jmx-exporter-base/src/main/java/net/thisptr/jmx/exporter/agent/scripting/ScriptContext.java diff --git a/.github/workflows/deploy-snapshot.yaml b/.github/workflows/deploy-snapshot.yaml index 89f3fbe..a0d38d4 100644 --- a/.github/workflows/deploy-snapshot.yaml +++ b/.github/workflows/deploy-snapshot.yaml @@ -14,6 +14,8 @@ jobs: with: java-version: '17' distribution: 'zulu' + - name: install deps + run: deps/install.sh - name: Configure Maven env: M2_SETTINGS_XML: ${{ secrets.M2_SETTINGS_XML }} diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..dc2729d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "deps/janino"] + path = deps/janino + url = https://github.com/janino-compiler/janino diff --git a/deps/install.sh b/deps/install.sh new file mode 100755 index 0000000..aa42b83 --- /dev/null +++ b/deps/install.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -euo pipefail + +scriptpath="$(readlink -f "$0")" +scriptdir="$(dirname "$scriptpath")" +cd "$scriptdir" + +git submodule update --force --recursive --init janino +git -C janino clean -fdx +base_version="$(git -C janino rev-parse HEAD | cut -c 1-7)" +patch_version="$(cat janino.patch.d/*.patch | sha1sum | cut -c 1-5)" +version="0.0.0-$base_version.$patch_version" + +for patch in janino.patch.d/*.patch; do + patch="$(readlink -f "$patch")" + git -C janino am "$patch" +done + +(cd janino/janino-parent \ + && mvn versions:set -DnewVersion="$version" \ + && mvn clean install) + +git submodule update --force --recursive --init janino +git -C janino clean -fdx diff --git a/deps/janino b/deps/janino new file mode 160000 index 0000000..a796a97 --- /dev/null +++ b/deps/janino @@ -0,0 +1 @@ +Subproject commit a796a975c66a7b37a5dcd6f54d428cd6774bc796 diff --git a/deps/janino.patch.d/0001-compile-with-target-1.7-source-1.7.patch b/deps/janino.patch.d/0001-compile-with-target-1.7-source-1.7.patch new file mode 100644 index 0000000..7e01415 --- /dev/null +++ b/deps/janino.patch.d/0001-compile-with-target-1.7-source-1.7.patch @@ -0,0 +1,27 @@ +From 5e8bee8cc526ab149881a036cb950e6d6c3d2de5 Mon Sep 17 00:00:00 2001 +From: Eiichi Sato +Date: Mon, 18 Oct 2021 02:58:26 +0900 +Subject: [PATCH] compile with -target 1.7 -source 1.7 + +--- + janino-parent/pom.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/janino-parent/pom.xml b/janino-parent/pom.xml +index 04b4d50b..5c387b7c 100644 +--- a/janino-parent/pom.xml ++++ b/janino-parent/pom.xml +@@ -13,8 +13,8 @@ + +- 1.6 +- 1.6 ++ 1.7 ++ 1.7 + +