Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explicitly notes version policy and corrects some pom glitches #757

Merged
merged 2 commits into from
Aug 15, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,31 @@ You may want to put trace IDs into your log files, or change thread local
behavior. Look at our [context libraries](context/), for integration with
tools such as SLF4J.

## Version Compatibility policy
All Brave libraries match the minimum Java version of what's being
traced or integrated with, and adds no 3rd party dependencies. The goal
is to neither impact your projects' choices, nor subject your project
to dependency decisions made by others.

For example, even including a basic reporting library,
[zipkin-sender-urlconnection](https://github.com/openzipkin/zipkin-reporter-java), Brave transitively includes no json,
logging, protobuf or thrift dependency. This means zero concern if your
application chooses a specific version of SLF4J, Gson or Guava.
Moreover, the entire dependency tree including basic reporting in json,
thrift or protobuf is less than 512KiB of jars.

There is a floor Java version of 1.6, which allows older JREs and older
Android runtimes, yet may limit some applications. For example, Servlet
2.5 works with Java 1.5, but due to Brave being 1.6, you will not be
able to trace Servlet 2.5 applications until you use at least JRE 1.6.

All integrations set their associated library to "provided" scope. This
ensures Brave doesn't interfere with the versions you choose.

Some libraries update often which leads to api drift. In some cases, we
test versions ranges to reduce the impact of this. For example, we test
[gRPC](instrumentation/grpc) and [Kafka](instrumentation/kafka-clients) against multiple library versions.

## Artifacts
All artifacts publish to the group ID "io.zipkin.brave". We use a common
release version for all components.
Expand Down
9 changes: 5 additions & 4 deletions context/rxjava2/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@

<properties>
<main.basedir>${project.basedir}/../..</main.basedir>
<main.java.version>1.7</main.java.version>
<main.signature.artifact>java17</main.signature.artifact>
<!-- RxJava 2.x continues support for Java 1.6 and Android 2.3+ -->
<main.java.version>1.6</main.java.version>
<main.signature.artifact>java16</main.signature.artifact>
</properties>

<dependencies>
<dependency>
<groupId>io.reactivex.rxjava2</groupId>
<artifactId>rxjava</artifactId>
<version>2.1.17</version>
<version>2.2.0</version>
<scope>provided</scope>
</dependency>

Expand All @@ -33,7 +34,7 @@
<dependency>
<groupId>com.github.akarnokd</groupId>
<artifactId>rxjava2-extensions</artifactId>
<version>0.19.5</version>
<version>0.20.0</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down
4 changes: 4 additions & 0 deletions instrumentation/grpc/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@

<properties>
<main.basedir>${project.basedir}/../..</main.basedir>
<!-- grpc < 1.15 supports java 6 https://github.com/grpc/grpc-java/issues/3961 -->
<main.java.version>1.6</main.java.version>
<main.signature.artifact>java16</main.signature.artifact>

<protobuf.version>3.5.1</protobuf.version>
<opencensus.version>0.15.0</opencensus.version>
<os-maven-plugin.version>1.6.0</os-maven-plugin.version>
Expand Down
2 changes: 2 additions & 0 deletions instrumentation/httpasyncclient/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

<properties>
<main.basedir>${project.basedir}/../..</main.basedir>
<main.java.version>1.6</main.java.version>
<main.signature.artifact>java16</main.signature.artifact>
</properties>

<dependencies>
Expand Down
3 changes: 3 additions & 0 deletions instrumentation/jersey-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@

<properties>
<main.basedir>${project.basedir}/../..</main.basedir>
<!-- Jersey 2.7 -> 2.25 are Java 7. We don't currently compile against Jersey 2.26+
https://jersey.github.io/documentation/latest/modules-and-dependencies.html#d0e560
-->
</properties>

<dependencies>
Expand Down
1 change: 1 addition & 0 deletions instrumentation/mysql/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

<properties>
<main.basedir>${project.basedir}/../..</main.basedir>
<!-- mysql-connector-java < v6 requires Java 6 -->
<main.java.version>1.6</main.java.version>
<main.signature.artifact>java16</main.signature.artifact>
</properties>
Expand Down
3 changes: 3 additions & 0 deletions instrumentation/mysql6/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@

<properties>
<main.basedir>${project.basedir}/../..</main.basedir>
<!-- mysql-connector-java 6+ requires Java 8 -->
<main.java.version>1.8</main.java.version>
<main.signature.artifact>java18</main.signature.artifact>
</properties>

<dependencies>
Expand Down
3 changes: 3 additions & 0 deletions instrumentation/netty-codec-http/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@

<properties>
<main.basedir>${project.basedir}/../..</main.basedir>
<!-- Netty 4.x requires Java 6+ https://netty.io/wiki/requirements-for-4.x.html -->
<main.java.version>1.6</main.java.version>
<main.signature.artifact>java16</main.signature.artifact>
</properties>

<dependencies>
Expand Down
3 changes: 3 additions & 0 deletions instrumentation/p6spy/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@

<properties>
<main.basedir>${project.basedir}/../..</main.basedir>
<main.java.version>1.6</main.java.version>
<main.signature.artifact>java16</main.signature.artifact>

<p6spy.version>3.7.0</p6spy.version>
<derby.version>10.14.2.0</derby.version>
</properties>
Expand Down
2 changes: 2 additions & 0 deletions instrumentation/spring-webmvc/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

<properties>
<main.basedir>${project.basedir}/../..</main.basedir>
<main.java.version>1.6</main.java.version>
<main.signature.artifact>java16</main.signature.artifact>
</properties>

<dependencies>
Expand Down