This is an automated email from the ASF dual-hosted git repository. abesto pushed a commit to branch dont-sign-snapshots in repository https://gitbox.apache.org/repos/asf/incubator-zipkin-brave-karaf.git
commit 4d87ae198b64b9cc7312800b4867881a3679a33f Author: Christian Schneider <[email protected]> AuthorDate: Fri Dec 9 17:54:17 2016 +0100 Add exporter for Brave and Reporter service (#1) --- .gitignore | 1 + brave-exporter/pom.xml | 83 +++ .../zipkin/brave/osgi/exporter/BraveExporter.java | 66 +++ .../urlconnect/SenderUrlConnectExporter.java | 71 +++ brave-features/src/main/resources/features.xml | 5 +- brave-itests/.classpath | 31 - brave-itests/pom.xml | 1 - .../java/io/zipkin/brave/itests/BraveTest.java | 2 +- pom.xml | 636 ++++++++++----------- 9 files changed, 533 insertions(+), 363 deletions(-) diff --git a/.gitignore b/.gitignore index 40b20c3..249346c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* +.classpath .project .settings target diff --git a/brave-exporter/pom.xml b/brave-exporter/pom.xml new file mode 100644 index 0000000..e1b38b5 --- /dev/null +++ b/brave-exporter/pom.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Copyright 2016 The OpenZipkin Authors + + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + in compliance with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed under the License + is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + or implied. See the License for the specific language governing permissions and limitations under + the License. + +--> +<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>io.zipkin.brave.karaf</groupId> + <artifactId>brave-karaf-parent</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + + <artifactId>brave-exporter</artifactId> + + <properties> + <main.basedir>${project.basedir}/..</main.basedir> + </properties> + + <dependencies> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>osgi.core</artifactId> + <version>6.0.0</version> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>osgi.cmpn</artifactId> + <version>6.0.0</version> + </dependency> + <dependency> + <groupId>io.zipkin.brave</groupId> + <artifactId>brave-core</artifactId> + </dependency> + <dependency> + <groupId>io.zipkin.reporter</groupId> + <artifactId>zipkin-reporter</artifactId> + </dependency> + <dependency> + <groupId>io.zipkin.reporter</groupId> + <artifactId>zipkin-sender-urlconnection</artifactId> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-maven-plugin</artifactId> + <version>3.3.0</version> + <executions> + <execution> + <goals> + <goal>bnd-process</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>3.0.2</version> + <configuration> + <archive> + <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> + </archive> + </configuration> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file diff --git a/brave-exporter/src/main/java/io/zipkin/brave/osgi/exporter/BraveExporter.java b/brave-exporter/src/main/java/io/zipkin/brave/osgi/exporter/BraveExporter.java new file mode 100644 index 0000000..04b9536 --- /dev/null +++ b/brave-exporter/src/main/java/io/zipkin/brave/osgi/exporter/BraveExporter.java @@ -0,0 +1,66 @@ +/** + * Copyright 2016 The OpenZipkin Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package io.zipkin.brave.osgi.exporter; + +import java.util.Hashtable; +import java.util.Map; + +import com.github.kristofa.brave.Brave; +import com.github.kristofa.brave.Sampler; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceRegistration; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.metatype.annotations.Designate; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; +import zipkin.Span; +import zipkin.reporter.Reporter; + +@Component // +( // + immediate = true, // + name = "io.zipkin.brave" // +) +@Designate(ocd = BraveExporter.Config.class) +public class BraveExporter { + @Reference + Reporter<Span> reporter; + + private ServiceRegistration<Brave> reg; + + @ObjectClassDefinition(name = "Brave") + @interface Config { + String name() default "default"; + boolean traceId128Bit() default false; + float rate() default 1; + } + + @Activate + public void activate(Config config, BundleContext context, Map<String, String> properties) { + Brave brave = new Brave.Builder(config.name()) + .reporter(reporter) // + .traceId128Bit(config.traceId128Bit()) // + .traceSampler(Sampler.create(config.rate())) + .build(); + reg = context.registerService(Brave.class, brave, new Hashtable<String, String>(properties)); + } + + @Deactivate + public void deactive() { + reg.unregister(); + } + +} diff --git a/brave-exporter/src/main/java/io/zipkin/brave/osgi/exporter/urlconnect/SenderUrlConnectExporter.java b/brave-exporter/src/main/java/io/zipkin/brave/osgi/exporter/urlconnect/SenderUrlConnectExporter.java new file mode 100644 index 0000000..94f85b9 --- /dev/null +++ b/brave-exporter/src/main/java/io/zipkin/brave/osgi/exporter/urlconnect/SenderUrlConnectExporter.java @@ -0,0 +1,71 @@ +/** + * Copyright 2016 The OpenZipkin Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + */ +package io.zipkin.brave.osgi.exporter.urlconnect; + +import java.util.Hashtable; +import java.util.Map; + +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceRegistration; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.ConfigurationPolicy; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.metatype.annotations.Designate; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; +import zipkin.Span; +import zipkin.reporter.AsyncReporter; +import zipkin.reporter.Reporter; +import zipkin.reporter.urlconnection.URLConnectionSender; + +@Component // +( // + immediate = true, // + name = "io.zipkin.reporter.urlconnect", // + configurationPolicy = ConfigurationPolicy.REQUIRE +) +@Designate(ocd = SenderUrlConnectExporter.Config.class) +public class SenderUrlConnectExporter { + + @SuppressWarnings("rawtypes") + private ServiceRegistration<Reporter> reg; + private AsyncReporter<Span> reporter; + + @ObjectClassDefinition(name = "Zipkin Reporter URLConnect") + @interface Config { + String endpoint() default "http://localhost:9411/api/v1/spans"; + boolean compressionEnabled() default true; + int connectTimeout() default 10 * 1000; + int messageMaxBytes() default 5 * 1024 * 1024; + } + + @Activate + public void activate(Config config, BundleContext context, Map<String,String> properties) { + URLConnectionSender sender = URLConnectionSender.builder() + .endpoint(config.endpoint()) // + .compressionEnabled(config.compressionEnabled()) // + .connectTimeout(config.connectTimeout()) + .messageMaxBytes(config.messageMaxBytes()) + .build(); + reporter = AsyncReporter.builder(sender).build(); + reg = context.registerService(Reporter.class, reporter, new Hashtable<String, String>(properties)); + } + + @Deactivate + public void deactive() { + reg.unregister(); + reporter.close(); + } + +} diff --git a/brave-features/src/main/resources/features.xml b/brave-features/src/main/resources/features.xml index 2b70909..d2fe602 100644 --- a/brave-features/src/main/resources/features.xml +++ b/brave-features/src/main/resources/features.xml @@ -18,13 +18,13 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0"> - <repository>mvn:org.apache.cxf.karaf/apache-cxf/3.1.8/xml/features</repository> - <feature name="brave-core"> + <feature>scr</feature> <bundle dependency="true">mvn:io.zipkin.java/zipkin/${zipkin.version}</bundle> <bundle dependency="true">mvn:io.zipkin.reporter/zipkin-reporter/${zipkin.reporter.version}</bundle> <bundle>mvn:io.zipkin.reporter/zipkin-sender-urlconnection/${zipkin.reporter.version}</bundle> <bundle>mvn:io.zipkin.brave/brave-core/${brave.version}</bundle> + <bundle>mvn:io.zipkin.brave.karaf/brave-exporter/${project.version}</bundle> </feature> <feature name="brave-kafka"> @@ -35,6 +35,7 @@ <feature name="brave-jaxrs2"> <feature>brave-core</feature> + <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr339-api-2.0.1/2.6.0</bundle> <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_2</bundle> <bundle dependency="true">mvn:io.zipkin.brave/brave-http/${brave.version}</bundle> <bundle>mvn:io.zipkin.brave/brave-jaxrs2/${brave.version}</bundle> diff --git a/brave-itests/.classpath b/brave-itests/.classpath deleted file mode 100644 index b2acffc..0000000 --- a/brave-itests/.classpath +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" output="target/classes" path="src/main/java"> - <attributes> - <attribute name="optional" value="true"/> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="src" output="target/test-classes" path="src/test/java"> - <attributes> - <attribute name="optional" value="true"/> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"> - <attributes> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"> - <attributes> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> - <attributes> - <attribute name="maven.pomderived" value="true"/> - </attributes> - </classpathentry> - <classpathentry kind="output" path="target/classes"/> -</classpath> diff --git a/brave-itests/pom.xml b/brave-itests/pom.xml index 2836630..46a39e6 100644 --- a/brave-itests/pom.xml +++ b/brave-itests/pom.xml @@ -39,7 +39,6 @@ <dependency> <groupId>io.zipkin.brave</groupId> <artifactId>brave-core</artifactId> - <version>${brave.version}</version> </dependency> <dependency> diff --git a/brave-itests/src/test/java/io/zipkin/brave/itests/BraveTest.java b/brave-itests/src/test/java/io/zipkin/brave/itests/BraveTest.java index 898817b..abdd14f 100644 --- a/brave-itests/src/test/java/io/zipkin/brave/itests/BraveTest.java +++ b/brave-itests/src/test/java/io/zipkin/brave/itests/BraveTest.java @@ -43,7 +43,7 @@ import zipkin.reporter.Reporter; @RunWith(PaxExam.class) @ExamReactorStrategy(PerClass.class) public class BraveTest { - List<Object> spans = new ArrayList<>(); + List<Span> spans = new ArrayList<Span>(); @Configuration public static Option[] configuration() throws Exception { diff --git a/pom.xml b/pom.xml index 89d7f78..e032207 100644 --- a/pom.xml +++ b/pom.xml @@ -14,332 +14,312 @@ the License. --> -<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> - - <groupId>io.zipkin.brave.karaf</groupId> - <artifactId>brave-karaf-parent</artifactId> - <version>1.0.0-SNAPSHOT</version> - <packaging>pom</packaging> - - <modules> - <module>brave-features</module> - <module>brave-itests</module> - </modules> - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding> - - <!-- default bytecode version for src/main --> - <main.java.version>1.6</main.java.version> - <main.signature.artifact>java16</main.signature.artifact> - - <main.basedir>${project.basedir}</main.basedir> - - <license-maven-plugin.version>2.11</license-maven-plugin.version> - - <brave.version>3.16.0</brave.version> - <zipkin.version>1.16.0</zipkin.version> - <zipkin.reporter.version>0.6.7</zipkin.reporter.version> - - <slf4j.version>1.7.21</slf4j.version> - </properties> - - <name>Brave Karaf Parent</name> - <description>Brave Karaf Parent</description> - <url>https://github.com/openzipkin/brave-karaf</url> - <inceptionYear>2016</inceptionYear> - - <organization> - <name>OpenZipkin</name> - <url>http://zipkin.io/</url> - </organization> - - <licenses> - <license> - <name>The Apache Software License, Version 2.0</name> - <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> - <distribution>repo</distribution> - </license> - </licenses> - - <scm> - <url>https://github.com/openzipkin/brave-karaf</url> - <connection>scm:git:https://github.com/openzipkin/brave-karaf</connection> - <developerConnection>scm:git:https://github.com/openzipkin/brave-karaf</developerConnection> - <tag>0.0.1</tag> - </scm> - - <developers> - </developers> - - <distributionManagement> - <repository> - <id>bintray</id> - <url>https://api.bintray.com/maven/openzipkin/maven/brave-karaf/;publish=1</url> - </repository> - <snapshotRepository> - <id>jfrog-snapshots</id> - <url>http://oss.jfrog.org/artifactory/oss-snapshot-local</url> - </snapshotRepository> - </distributionManagement> - - <issueManagement> - <system>Github</system> - <url>https://github.com/openzipkin/brave-karaf/issues</url> - </issueManagement> - - <dependencyManagement> - <dependencies> - <dependency> - <groupId>io.zipkin.java</groupId> - <artifactId>zipkin</artifactId> - <version>${zipkin.version}</version> - </dependency> - <dependency> - <groupId>io.zipkin.reporter</groupId> - <artifactId>zipkin-reporter</artifactId> - <version>${zipkin.reporter.version}</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.12</version> - </dependency> - <dependency> - <groupId>org.awaitility</groupId> - <artifactId>awaitility</artifactId> - <version>2.0.0</version> - </dependency> - </dependencies> - </dependencyManagement> - - <dependencies> - <dependency> - <groupId>io.zipkin.java</groupId> - <artifactId>zipkin</artifactId> - </dependency> - - <!-- don't worry. auto-* are source retention, not runtime --> - <dependency> - <groupId>com.google.auto.value</groupId> - <artifactId>auto-value</artifactId> - <version>1.3</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.assertj</groupId> - <artifactId>assertj-core</artifactId> - <version>3.5.2</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>io.zipkin.java</groupId> - <artifactId>zipkin</artifactId> - <version>${zipkin.version}</version> - <type>test-jar</type> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>1.1.7</version> - <scope>test</scope> - </dependency> - </dependencies> - - - <build> - <pluginManagement> - <plugins> - <!-- mvn -N io.takari:maven:wrapper -Dmaven=3.3.9 --> - <plugin> - <groupId>io.takari</groupId> - <artifactId>maven</artifactId> - <version>0.3.3</version> - </plugin> - </plugins> - </pluginManagement> - - <plugins> - <plugin> - <inherited>true</inherited> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.5.1</version> - <configuration> - <!-- Retrolambda will rewrite lambdas as Java 6 bytecode --> - <source>1.8</source> - <target>1.8</target> - <compilerId>javac-with-errorprone</compilerId> - <forceJavacCompilerUse>true</forceJavacCompilerUse> - <showWarnings>true</showWarnings> - </configuration> - <dependencies> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-compiler-javac-errorprone</artifactId> - <version>2.8</version> - </dependency> - <dependency> - <groupId>com.google.errorprone</groupId> - <artifactId>error_prone_core</artifactId> - <version>2.0.9</version> - </dependency> - </dependencies> - </plugin> - - <plugin> - <groupId>net.orfjackal.retrolambda</groupId> - <artifactId>retrolambda-maven-plugin</artifactId> - <version>2.3.0</version> - <executions> - <execution> - <goals> - <goal>process-main</goal> - </goals> - <configuration> - <target>${main.java.version}</target> - <fork>false</fork> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>animal-sniffer-maven-plugin</artifactId> - <version>1.15</version> - <configuration> - <signature> - <groupId>org.codehaus.mojo.signature</groupId> - <artifactId>${main.signature.artifact}</artifactId> - <version>1.0</version> - </signature> - </configuration> - <executions> - <execution> - <goals> - <goal>check</goal> - </goals> - </execution> - </executions> - </plugin> - - <!-- Ensures checksums are added to published jars --> - <plugin> - <artifactId>maven-install-plugin</artifactId> - <version>2.5.2</version> - <configuration> - <createChecksum>true</createChecksum> - </configuration> - </plugin> - - <plugin> - <groupId>com.mycila</groupId> - <artifactId>license-maven-plugin</artifactId> - <version>${license-maven-plugin.version}</version> - <configuration> - <header>${main.basedir}/src/etc/header.txt</header> - <excludes> - <exclude>.travis.yml</exclude> - <exclude>.gitignore</exclude> - <exclude>.mvn/**</exclude> - <exclude>mvnw*</exclude> - <exclude>etc/header.txt</exclude> - <exclude>**/.idea/**</exclude> - <exclude>LICENSE</exclude> - <exclude>**/*.md</exclude> - <exclude>src/test/resources/**</exclude> - <exclude>src/main/resources/**</exclude> - </excludes> - <strictCheck>true</strictCheck> - </configuration> - <dependencies> - <dependency> - <groupId>com.mycila</groupId> - <artifactId>license-maven-plugin-git</artifactId> - <version>${license-maven-plugin.version}</version> - </dependency> - </dependencies> - <executions> - <execution> - <goals> - <goal>check</goal> - </goals> - <phase>compile</phase> - </execution> - </executions> - </plugin> - - <plugin> - <artifactId>maven-release-plugin</artifactId> - <version>2.5.3</version> - <configuration> - <useReleaseProfile>false</useReleaseProfile> - <releaseProfiles>release</releaseProfiles> - <autoVersionSubmodules>true</autoVersionSubmodules> - <tagNameFormat>@{project.version}</tagNameFormat> - </configuration> - </plugin> - - <plugin> - <groupId>io.zipkin.centralsync-maven-plugin</groupId> - <artifactId>centralsync-maven-plugin</artifactId> - <version>0.1.0</version> - <configuration> - <packageName>zipkin-aws</packageName> - </configuration> - </plugin> - </plugins> - </build> - - <profiles> - <profile> - <id>release</id> - <build> - <plugins> - <!-- Creates source jar --> - <plugin> - <artifactId>maven-source-plugin</artifactId> - <version>3.0.1</version> - <executions> - <execution> - <id>attach-sources</id> - <goals> - <goal>jar</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <artifactId>maven-javadoc-plugin</artifactId> - <version>2.10.4</version> - <configuration> - <failOnError>false</failOnError> - <excludePackageNames>zipkin.aws.internal,zipkin.aws.internal.* - </excludePackageNames> - <!-- hush pedantic warnings: we don't put param and return on everything! --> - <additionalparam>-Xdoclint:none</additionalparam> - </configuration> - <executions> - <execution> - <id>attach-javadocs</id> - <goals> - <goal>jar</goal> - </goals> - <phase>package</phase> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> +<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> + + <groupId>io.zipkin.brave.karaf</groupId> + <artifactId>brave-karaf-parent</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>pom</packaging> + + <modules> + <module>brave-features</module> + <module>brave-itests</module> + <module>brave-exporter</module> + </modules> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding> + + <!-- default bytecode version for src/main --> + <main.java.version>1.6</main.java.version> + <main.signature.artifact>java16</main.signature.artifact> + + <main.basedir>${project.basedir}</main.basedir> + + <license-maven-plugin.version>2.11</license-maven-plugin.version> + + <brave.version>3.16.0</brave.version> + <zipkin.version>1.16.0</zipkin.version> + <zipkin.reporter.version>0.6.9</zipkin.reporter.version> + + <slf4j.version>1.7.21</slf4j.version> + </properties> + + <name>Brave Karaf Parent</name> + <description>Brave Karaf Parent</description> + <url>https://github.com/openzipkin/brave-karaf</url> + <inceptionYear>2016</inceptionYear> + + <organization> + <name>OpenZipkin</name> + <url>http://zipkin.io/</url> + </organization> + + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + <distribution>repo</distribution> + </license> + </licenses> + + <scm> + <url>https://github.com/openzipkin/brave-karaf</url> + <connection>scm:git:https://github.com/openzipkin/brave-karaf</connection> + <developerConnection>scm:git:https://github.com/openzipkin/brave-karaf</developerConnection> + <tag>0.0.1</tag> + </scm> + + <developers> + </developers> + + <distributionManagement> + <repository> + <id>bintray</id> + <url>https://api.bintray.com/maven/openzipkin/maven/brave-karaf/;publish=1</url> + </repository> + <snapshotRepository> + <id>jfrog-snapshots</id> + <url>http://oss.jfrog.org/artifactory/oss-snapshot-local</url> + </snapshotRepository> + </distributionManagement> + + <issueManagement> + <system>Github</system> + <url>https://github.com/openzipkin/brave-karaf/issues</url> + </issueManagement> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>io.zipkin.java</groupId> + <artifactId>zipkin</artifactId> + <version>${zipkin.version}</version> + </dependency> + <dependency> + <groupId>io.zipkin.reporter</groupId> + <artifactId>zipkin-reporter</artifactId> + <version>${zipkin.reporter.version}</version> + </dependency> + <dependency> + <groupId>io.zipkin.reporter</groupId> + <artifactId>zipkin-sender-urlconnection</artifactId> + <version>${zipkin.reporter.version}</version> + </dependency> + + <dependency> + <groupId>io.zipkin.brave</groupId> + <artifactId>brave-core</artifactId> + <version>${brave.version}</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.12</version> + </dependency> + <dependency> + <groupId>org.awaitility</groupId> + <artifactId>awaitility</artifactId> + <version>2.0.0</version> + </dependency> + </dependencies> + </dependencyManagement> + + <dependencies> + <dependency> + <groupId>io.zipkin.java</groupId> + <artifactId>zipkin</artifactId> + </dependency> + + <!-- don't worry. auto-* are source retention, not runtime --> + <dependency> + <groupId>com.google.auto.value</groupId> + <artifactId>auto-value</artifactId> + <version>1.3</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <version>3.5.2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.zipkin.java</groupId> + <artifactId>zipkin</artifactId> + <version>${zipkin.version}</version> + <type>test-jar</type> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>1.1.7</version> + <scope>test</scope> + </dependency> + </dependencies> + + + <build> + <pluginManagement> + <plugins> + <!-- mvn -N io.takari:maven:wrapper -Dmaven=3.3.9 --> + <plugin> + <groupId>io.takari</groupId> + <artifactId>maven</artifactId> + <version>0.3.3</version> + </plugin> + </plugins> + </pluginManagement> + + <plugins> + <plugin> + <inherited>true</inherited> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.5.1</version> + <configuration> + <source>1.6</source> + <target>1.6</target> + </configuration> + </plugin> + + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>animal-sniffer-maven-plugin</artifactId> + <version>1.15</version> + <configuration> + <signature> + <groupId>org.codehaus.mojo.signature</groupId> + <artifactId>${main.signature.artifact}</artifactId> + <version>1.0</version> + </signature> + </configuration> + <executions> + <execution> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + </plugin> + + <!-- Ensures checksums are added to published jars --> + <plugin> + <artifactId>maven-install-plugin</artifactId> + <version>2.5.2</version> + <configuration> + <createChecksum>true</createChecksum> + </configuration> + </plugin> + + <plugin> + <groupId>com.mycila</groupId> + <artifactId>license-maven-plugin</artifactId> + <version>${license-maven-plugin.version}</version> + <configuration> + <header>${main.basedir}/src/etc/header.txt</header> + <excludes> + <exclude>.travis.yml</exclude> + <exclude>.gitignore</exclude> + <exclude>.mvn/**</exclude> + <exclude>mvnw*</exclude> + <exclude>etc/header.txt</exclude> + <exclude>**/.idea/**</exclude> + <exclude>LICENSE</exclude> + <exclude>**/*.md</exclude> + <exclude>src/test/resources/**</exclude> + <exclude>src/main/resources/**</exclude> + </excludes> + <strictCheck>true</strictCheck> + </configuration> + <dependencies> + <dependency> + <groupId>com.mycila</groupId> + <artifactId>license-maven-plugin-git</artifactId> + <version>${license-maven-plugin.version}</version> + </dependency> + </dependencies> + <executions> + <execution> + <goals> + <goal>check</goal> + </goals> + <phase>compile</phase> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-release-plugin</artifactId> + <version>2.5.3</version> + <configuration> + <useReleaseProfile>false</useReleaseProfile> + <releaseProfiles>release</releaseProfiles> + <autoVersionSubmodules>true</autoVersionSubmodules> + <tagNameFormat>@{project.version}</tagNameFormat> + </configuration> + </plugin> + + <plugin> + <groupId>io.zipkin.centralsync-maven-plugin</groupId> + <artifactId>centralsync-maven-plugin</artifactId> + <version>0.1.0</version> + <configuration> + <packageName>zipkin-aws</packageName> + </configuration> + </plugin> + </plugins> + </build> + + <profiles> + <profile> + <id>release</id> + <build> + <plugins> + <!-- Creates source jar --> + <plugin> + <artifactId>maven-source-plugin</artifactId> + <version>3.0.1</version> + <executions> + <execution> + <id>attach-sources</id> + <goals> + <goal>jar</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.10.4</version> + <configuration> + <failOnError>false</failOnError> + <excludePackageNames>zipkin.aws.internal,zipkin.aws.internal.* + </excludePackageNames> + <!-- hush pedantic warnings: we don't put param and return on everything! --> + <additionalparam>-Xdoclint:none</additionalparam> + </configuration> + <executions> + <execution> + <id>attach-javadocs</id> + <goals> + <goal>jar</goal> + </goals> + <phase>package</phase> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project>
