glowroot-central
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.glowroot</groupId> <artifactId>glowroot-central</artifactId> <version>0.14.0-beta.3</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.glowroot</groupId> <artifactId>glowroot-parent</artifactId> <version>0.14.0-beta.3</version> </parent> <artifactId>glowroot-central</artifactId> <!-- need to use default jar packaging, otherwise jar gets installed with war extension and webdriver tests cannot find it --> <name>Glowroot Central Collector</name> <description>Glowroot Central Collector</description> <dependencies> <dependency> <groupId>org.glowroot</groupId> <artifactId>glowroot-wire-api</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.glowroot</groupId> <artifactId>glowroot-common</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.glowroot</groupId> <artifactId>glowroot-common2</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.glowroot</groupId> <artifactId>glowroot-ui</artifactId> <version>${project.version}</version> </dependency> <dependency> <!-- this is used to instrument central itself --> <groupId>org.glowroot</groupId> <artifactId>glowroot-agent-api</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>31.0.1-jre</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty</artifactId> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-tcnative-boringssl-static</artifactId> <!-- need to stick to version known to work with gRPC 1.44.1, see table at https://github.com/grpc/grpc-java/blob/master/SECURITY.md#netty --> <version>2.0.46.Final</version> </dependency> <dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-core</artifactId> <version>3.7.2</version> </dependency> <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-core</artifactId> <version>13.0.8.Final</version> </dependency> <!-- jgroups-kubernetes specifies that it requires 4.2.x --> <dependency> <groupId>org.jgroups</groupId> <artifactId>jgroups</artifactId> <version>4.2.18.Final</version> </dependency> <dependency> <groupId>org.jgroups.kubernetes</groupId> <artifactId>jgroups-kubernetes</artifactId> <version>1.0.16.Final</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <!-- not using AsyncHttpClient because it introduces another dependency on netty which already needs to be kept in sync with grpc version --> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpasyncclient</artifactId> <version>4.1.4</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-api</artifactId> <version>3.141.59</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-support</artifactId> <version>3.141.59</version> </dependency> <dependency> <groupId>com.machinepublishers</groupId> <artifactId>jbrowserdriver</artifactId> <version>1.0.1</version> <exclusions> <exclusion> <!-- a later version of jna with a different groupId is already included by selenium --> <groupId>com.sun.jna</groupId> <artifactId>jna</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.immutables</groupId> <artifactId>value</artifactId> <!-- immutables is only needed at compile time --> <scope>provided</scope> </dependency> <dependency> <groupId>org.immutables</groupId> <artifactId>serial</artifactId> <version>${immutables.version}</version> <!-- immutables is only needed at compile time --> <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-guava</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> <dependency> <groupId>org.codehaus.janino</groupId> <artifactId>janino</artifactId> <version>3.1.0</version> </dependency> <dependency> <!-- this is to resolve maven enforcer RequireUpperBoundDeps error --> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>1.10.7</version> </dependency> <dependency> <!-- this is to resolve maven enforcer RequireUpperBoundDeps error --> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.11</version> </dependency> <dependency> <!-- this is to resolve maven enforcer RequireUpperBoundDeps error --> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.13</version> </dependency> <dependency> <groupId>org.checkerframework</groupId> <artifactId>checker-qual</artifactId> <!-- don't need this dependency at runtime since only annotations --> <optional>true</optional> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.rauschig</groupId> <artifactId>jarchivelib</artifactId> <version>1.0.0</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>com.github.os72</groupId> <artifactId>protoc-jar-maven-plugin</artifactId> <configuration> <protocVersion>${protoc.version}</protocVersion> <outputTargets> <outputTarget> <type>java</type> <outputDirectory>target/generated-sources/protobuf-java</outputDirectory> </outputTarget> </outputTargets> </configuration> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- checking against jdk 1.6 signatures is inherited from glowroot-parent --> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <properties> <property> <!-- this is just a test performance optimization --> <name>listener</name> <value>org.glowroot.central.repo.SharedSetupRunListener</value> </property> </properties> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- maven-war-plugin needs to execute before maven-jar-plugin, otherwise it messes up the jar's manifest --> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> <executions> <execution> <goals> <goal>war</goal> </goals> <configuration> <classifier>dist</classifier> <archive> <manifestEntries> <Implementation-Title>${project.name}</Implementation-Title> <Implementation-Version>${project.version}</Implementation-Version> <Build-Commit>${glowroot.build.commit}</Build-Commit> </manifestEntries> </archive> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <configuration> <forceCreation>true</forceCreation> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib</classpathPrefix> </manifest> <manifestEntries> <Build-Time>${maven.build.timestamp}</Build-Time> <Main-Class>org.glowroot.central.Main</Main-Class> </manifestEntries> </archive> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <configuration> <descriptors> <descriptor>dist.xml</descriptor> </descriptors> </configuration> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>de.dentrassi.maven</groupId> <artifactId>rpm</artifactId> <version>1.8.0</version> <configuration> <skipSigning>true</skipSigning> </configuration> <executions> <execution> <id>rpm</id> <goals> <goal>rpm</goal> </goals> <configuration> <attach>false</attach> <!-- don't attach RPM --> <group>Applications/System</group> <license>/usr/share/doc/glowroot-central/LICENSE</license> <url>https://github.com/glowroot/glowroot</url> <description>Glowroot Central Collector</description> <prerequisites> <prerequisite>systemd</prerequisite> <prerequisite>/usr/sbin/useradd</prerequisite> <prerequisite>/usr/sbin/groupadd</prerequisite> <prerequisite>/usr/sbin/userdel</prerequisite> <prerequisite>/usr/sbin/groupdel</prerequisite> <prerequisite>/usr/bin/getent</prerequisite> </prerequisites> <requires> <require>jre >= 1.8</require> </requires> <provides> <provide>user(glowroot)</provide> <provide>group(glowroot)</provide> </provides> <!-- create glowroot user and group --> <beforeInstallation> getent group glowroot > /dev/null || groupadd -r glowroot getent passwd glowroot > /dev/null || useradd -g glowroot -M -r glowroot -d /var/run/glowroot-central if [ $1 -eq 2 ] ; then systemctl stop glowroot-central.service; fi </beforeInstallation> <!-- (re)start the collector upon upgrade assuming that it's already correctly configured --> <afterInstallation> systemctl daemon-reload systemd-tmpfiles --create /usr/lib/tmpfiles.d/glowroot-central.conf if [ $1 -eq 2 ] ; then systemctl start glowroot-central.service; fi </afterInstallation> <beforeRemoval> systemctl stop glowroot-central.service </beforeRemoval> <!-- remove glowroot user and group upon un-installation --> <afterRemoval> if [ $1 -eq 0 ] ; then userdel glowroot && groupdel glowroot 2> /dev/null; fi systemctl daemon-reload </afterRemoval> <rulesets> <ruleset> <id>gc-default</id> <rules> <rule> <user>root</user> <group>root</group> </rule> <rule> <when> <type>directory</type> </when> <mode>0755</mode> </rule> <rule> <when> <type>file</type> </when> <mode>0644</mode> </rule> <rule> <when> <type>file</type> <prefix>/etc/</prefix> </when> <configuration>true</configuration> <noreplace>true</noreplace> <mode>0640</mode> <user>root</user> <group>glowroot</group> </rule> <rule> <when> <type>file</type> <prefix>/usr/share/doc/</prefix> </when> <documentation>true</documentation> </rule> </rules> </ruleset> </rulesets> <entries> <entry> <name>/etc/glowroot-central</name> <directory>true</directory> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/share/doc/glowroot-central</name> <directory>true</directory> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/lib/glowroot-central</name> <directory>true</directory> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/lib/glowroot-central/lib</name> <directory>true</directory> <ruleset>gc-default</ruleset> </entry> <entry> <name>/etc/glowroot-central/glowroot-central.properties</name> <file>src/main/conf/glowroot-central.properties</file> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/share/doc/glowroot-central/NOTICE</name> <file>src/main/webapp/META-INF/NOTICE</file> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/share/doc/glowroot-central/LICENSE</name> <file>src/main/webapp/META-INF/LICENSE</file> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/lib/glowroot-central/glowroot-central.properties</name> <file>src/main/rpm/glowroot-central.properties</file> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/lib/glowroot-central/${project.build.finalName}.jar</name> <file>target/${project.build.finalName}.jar</file> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/lib/glowroot-central/glowroot-central.jar</name> <linkTo>${project.build.finalName}.jar</linkTo> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/lib/glowroot-central/lib</name> <collect> <from>target/${project.build.finalName}-dist/glowroot-central/lib</from> </collect> <ruleset>gc-default</ruleset> </entry> <entry> <name>/usr/lib/systemd/system/glowroot-central.service</name> <file>src/main/rpm/glowroot-central.service</file> <ruleset>gc-default</ruleset> <configuration>true</configuration> </entry> <entry> <name>/usr/lib/tmpfiles.d/glowroot-central.conf</name> <file>src/main/rpm/glowroot-central.conf</file> <ruleset>gc-default</ruleset> <configuration>true</configuration> </entry> </entries> </configuration> </execution> <execution> <id>yum-repository</id> <goals> <goal>yum-repository</goal> </goals> <configuration> <directories> <directory>${project.build.directory}</directory> </directories> </configuration> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>release</id> <build> <plugins> <plugin> <groupId>de.dentrassi.maven</groupId> <artifactId>rpm</artifactId> <version>1.8.0</version> <configuration> <signature> <keyringFile>${user.home}/.gnupg/secring.gpg</keyringFile> </signature> </configuration> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-yum-repo-file</id> <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/yum</outputDirectory> <resources> <resource> <directory>src/main/rpm</directory> <includes> <include>glowroot.repo</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.6.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>exec</goal> </goals> <configuration> <executable>gpg</executable> <arguments> <argument>--armor</argument> <argument>--out</argument> <argument>target/yum/RPM-GPG-KEY-${gpg.key.id}</argument> <argument>--yes</argument> <!-- overwrite without asking --> <argument>--export</argument> <argument>${gpg.key.id}</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>