mad-experimental
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.arpnetworking.metrics</groupId> <artifactId>mad-experimental</artifactId> <version>1.2.6</version> </dependency>
<?xml version="1.0"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <parent> <groupId>com.arpnetworking.build</groupId> <artifactId>arpnetworking-parent-pom</artifactId> <version>3.3.9</version> <relativePath /> </parent> <modelVersion>4.0.0</modelVersion> <groupId>com.arpnetworking.metrics</groupId> <artifactId>mad-experimental</artifactId> <packaging>jar</packaging> <name>MAD Experimental Modules</name> <description>Experimental modules for MAD</description> <version>1.2.6</version> <licenses> <license> <name>Apache License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> <comments>A business-friendly OSS license</comments> </license> </licenses> <developers> <developer> <id>barp</id> <name>Brandon Arp</name> <email>brandon@insopemetrics.io</email> <organization>InscopeMetrics</organization> <organizationUrl>http://www.inscopemetrics.io</organizationUrl> <roles> <role>developer</role> </roles> </developer> </developers> <scm> <connection>scm:git:git@github.com:ArpNetworking/mad-experimental.git</connection> <developerConnection>scm:git:git@github.com:ArpNetworking/mad-experimental.git</developerConnection> <url>https://github.com/ArpNetworking/mad-experimental</url> <tag>mad-experimental-1.2.6</tag> </scm> <properties> <!--Dependency versions--> <metrics.aggregator.version>1.22.9</metrics.aggregator.version> <open.telemetry.protocol.version>1.4.0</open.telemetry.protocol.version> <junit.version>4.13.2</junit.version> <mockito.version>5.18.0</mockito.version> <hamcrest.version>2.0.0.0</hamcrest.version> <otel.metrics.version>1.50.0</otel.metrics.version> <pekko.http.version>1.2.0</pekko.http.version> <pekko.version>1.1.3</pekko.version> <jmh.version>1.37</jmh.version> <!-- Additional Plugins --> <docker.maven.plugin.version>0.46.0</docker.maven.plugin.version> <maven.assembly.plugin.version>3.7.1</maven.assembly.plugin.version> <maven.properties.plugin.version>1.2.1</maven.properties.plugin.version> <rpm.maven.plugin.version>2.3.0</rpm.maven.plugin.version> <!-- JVM Debug --> <debugJavaOptions /> <debugJavaPort>9900</debugJavaPort> <!-- Assembly Overrides --> <tgz.finalName>${project.build.finalName}</tgz.finalName> <!-- Project Overrides --> <buildDirectory>${project.basedir}/target</buildDirectory> <skipDockerBuild>false</skipDockerBuild> <spotbugs.exclude>${project.basedir}/spotbugs.exclude.xml</spotbugs.exclude> </properties> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <!-- Enable Inherited Plugins --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <systemPropertyVariables> <dockerHostAddress>${docker.host.address}</dockerHostAddress> </systemPropertyVariables> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> </plugin> <plugin> <groupId>com.rimerosolutions.maven.plugins</groupId> <artifactId>wrapper-maven-plugin</artifactId> <inherited>false</inherited> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>${maven.clean.plugin.version}</version> <executions> <execution> <id>clean-assemblies</id> <phase>initialize</phase> <goals> <goal>clean</goal> </goals> <configuration> <excludeDefaultDirectories>true</excludeDefaultDirectories> <verbose>true</verbose> <filesets> <fileset> <directory>${project.build.directory}/docker-assembly</directory> </fileset> </filesets> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <configuration> <programs> <program> <id>mad</id> <mainClass>com.arpnetworking.metrics.mad.Main</mainClass> </program> </programs> <unixScriptTemplate>${project.build.directory}/appAssemblerUnixBinTemplate</unixScriptTemplate> <endorsedDir>lib/ext</endorsedDir> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${maven.assembly.plugin.version}</version> <executions> <execution> <id>docker-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <appendAssemblyId>false</appendAssemblyId> <finalName>docker-assembly</finalName> <attach>false</attach> <tarLongFileMode>posix</tarLongFileMode> <descriptors> <descripto>src/main/assembly/docker.xml</descripto> </descriptors> </configuration> </execution> <execution> <id>app-tgz</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <finalName>${tgz.finalName}</finalName> <appendAssemblyId>true</appendAssemblyId> <attach>false</attach> <tarLongFileMode>posix</tarLongFileMode> <descriptors> <descriptor>src/main/assembly/bin.xml</descriptor> </descriptors> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>analyze</id> <phase>verify</phase> <goals> <goal>analyze-only</goal> </goals> <configuration> <failOnWarning>false</failOnWarning> <ignoreNonCompile>true</ignoreNonCompile> <ignoredDependencies> <ignoredDependency>com.arpnetworking.build:build-resources:jar:*</ignoredDependency> </ignoredDependencies> </configuration> </execution> </executions> </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker.maven.plugin.version}</version> <extensions>true</extensions> <executions> <execution> <id>default-build</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>default-start</id> <phase>pre-integration-test</phase> <goals> <goal>start</goal> </goals> <configuration> <skip>${skipIntegrationTests}</skip> </configuration> </execution> <execution> <id>default-stop</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> <configuration> <skip>${skipIntegrationTests}</skip> </configuration> </execution> <execution> <id>default-push</id> <phase>deploy</phase> <goals> <goal>push</goal> </goals> <configuration> <filter>arpnetworking/mad-experimental:${project.version}</filter> </configuration> </execution> </executions> <configuration> <autoCreateCustomNetworks>true</autoCreateCustomNetworks> <showLogs>true</showLogs> <images> <image> <name>arpnetworking/mad-experimental:${project.version}</name> <alias>mad-exp</alias> <build> <dockerFile>${project.build.directory}/docker-assembly/Dockerfile</dockerFile> <tags> <tag>${buildNumber}</tag> </tags> </build> <run> <network> <mode>custom</mode> <name>mad-net</name> <alias>mad</alias> </network> <ports> <port>+mad.ip:${debugJavaPort}:${debugJavaPort}</port> <port>+mad.ip:7090:7090</port> <port>+mad.ip:7091:7091</port> <port>+mad.ip:8125:8125/udp</port> </ports> <env> <JAVA_OPTS>${debugJavaOptions}</JAVA_OPTS> <KAFKA_SOURCE_BOOTSTRAP_HOST>kafka</KAFKA_SOURCE_BOOTSTRAP_HOST> <!-- TODO(ville): Obtain these from the current user! --> <!-- Ref: https://github.com/rynr/user-id-maven-plugin --> <MAD_UID>1001</MAD_UID> <MAD_GID>1001</MAD_GID> </env> <volumes> <bind> <volume>${project.basedir}/logs/docker:/opt/mad/logs</volume> </bind> </volumes> <wait> <http> <url>http://${mad.ip}:7090/ping</url> <method>GET</method> <status>200</status> </http> <!-- NOTE: The service is _really_ slow to start-up under native docker --> <time>150000</time> <kill>1000</kill> </wait> </run> </image> </images> <skip>${skipDockerBuild}</skip> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>${maven.properties.plugin.version}</version> <executions> <execution> <phase>pre-integration-test</phase> <goals> <goal>write-project-properties</goal> </goals> <configuration> <outputFile> ${project.build.directory}/pre-integration-test.properties </outputFile> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencyManagement> <dependencies> <dependency> <groupId>com.arpnetworking.metrics</groupId> <artifactId>metrics-aggregator-daemon</artifactId> <version>${metrics.aggregator.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-http_2.13</artifactId> <version>${pekko.http.version}</version> </dependency> <dependency> <groupId>org.apache.pekko</groupId> <artifactId>pekko-discovery_2.13</artifactId> <version>${pekko.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Metrics --> <dependency> <groupId>com.arpnetworking.metrics</groupId> <artifactId>metrics-aggregator-daemon</artifactId> <version>${metrics.aggregator.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.arpnetworking.metrics</groupId> <artifactId>open-telemetry-protocol</artifactId> <version>${open.telemetry.protocol.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.17</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>2.0.17</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>java-hamcrest</artifactId> <version>${hamcrest.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-api</artifactId> <version>${otel.metrics.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk</artifactId> <version>${otel.metrics.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk-testing</artifactId> <version>${otel.metrics.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-exporter-otlp</artifactId> <version>${otel.metrics.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk-common</artifactId> <version>${otel.metrics.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk-metrics</artifactId> <version>${otel.metrics.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>${jmh.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-generator-annprocess</artifactId> <version>${jmh.version}</version> <scope>test</scope> </dependency> </dependencies> <profiles> <profile> <id>performanceTest</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <executions> <execution> <id>default-test</id> <phase>test</phase> <goals> <goal>test</goal> </goals> <configuration> <includes> <include>**/*PT.java</include> </includes> <systemPropertyVariables> <logback.configurationFile>${basedir}/src/test/resources/logback-perf.xml</logback.configurationFile> </systemPropertyVariables> <parallel combine.self="override" /> <forkCount>1</forkCount> <reuseForks>false</reuseForks> <argLine>-XX:StartFlightRecording:dumponexit=true,filename=${basedir}/target/perf.profile.jfr,disk=true,name=perf -Xlog:jfr+startup=off</argLine> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>rpm</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rpm-maven-plugin</artifactId> <version>${rpm.maven.plugin.version}</version> <executions> <execution> <id>generate-rpm</id> <goals> <goal>rpm</goal> </goals> </execution> </executions> <configuration> <license>Apache 2 License</license> <group>System Environment/Daemons</group> <autoRequires>false</autoRequires> <requires> <require>java >= ${jdk.version}</require> </requires> <mappings> <mapping> <directory>/opt/mad/lib/ext</directory> <artifact> <classifiers> <classifier /> </classifiers> </artifact> </mapping> </mappings> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>debug</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>debug</name> <value>true</value> </property> </activation> <properties> <debugJavaOptions>-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=${debugJavaPort},suspend=n</debugJavaOptions> </properties> </profile> <profile> <id>no-docker</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <skipIntegrationTests>true</skipIntegrationTests> <skipDockerBuild>true</skipDockerBuild> </properties> </profile> </profiles> </project>