aboutsummaryrefslogtreecommitdiff
path: root/buildscripts/import-control.xml
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/import-control.xml')
-rw-r--r--buildscripts/import-control.xml252
1 files changed, 252 insertions, 0 deletions
diff --git a/buildscripts/import-control.xml b/buildscripts/import-control.xml
new file mode 100644
index 00000000..d545878a
--- /dev/null
+++ b/buildscripts/import-control.xml
@@ -0,0 +1,252 @@
+<?xml version="1.0"?>
+<!DOCTYPE import-control PUBLIC
+ "-//Puppy Crawl//DTD Import Control 1.3//EN"
+ "http://checkstyle.sourceforge.net/dtds/import_control_1_3.dtd">
+
+<!--
+
+General guidelines on imports:
+
+- 'stats' depends on 'tags', but 'tags' shouldn't depend on 'stats' or 'trace'.
+ 'stats'/'tags' and 'trace' should remain independent, where possible.
+
+- Packages should not be split between artifacts.
+
+- 'internal' packages should only be imported by packages within the same
+ artifact.
+
+- Since we are trying to remove dependencies on Guava (issue #1113), we should
+ avoid adding any new Guava imports here, especially in the API.
+
+-->
+
+<import-control pkg="io.opencensus">
+ <allow pkg="com.google.auto.value"/>
+ <allow pkg="com.google.errorprone.annotations"/>
+ <allow pkg="java"/>
+ <allow pkg="javax"/>
+ <allow class="io.grpc.Context"/>
+ <subpackage name="common">
+ <allow pkg="io.opencensus.common"/>
+ </subpackage>
+ <subpackage name="internal">
+ <allow pkg="io.opencensus.common"/>
+ <allow pkg="io.opencensus.internal"/>
+ </subpackage>
+ <subpackage name="tags">
+ <allow pkg="io.opencensus.common"/>
+ <allow pkg="io.opencensus.internal"/>
+ <allow pkg="io.opencensus.tags"/>
+ </subpackage>
+ <subpackage name="metrics">
+ <allow pkg="io.opencensus.internal"/>
+ <allow pkg="io.opencensus.common"/>
+ <allow pkg="io.opencensus.metrics"/>
+ </subpackage>
+ <subpackage name="stats">
+ <allow pkg="io.opencensus.common"/>
+ <allow pkg="io.opencensus.internal"/>
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ </subpackage>
+ <subpackage name="trace">
+ <allow pkg="io.opencensus.common"/>
+ <allow pkg="io.opencensus.internal"/>
+ <allow pkg="io.opencensus.trace"/>
+
+ <!-- These dependencies on impl/implcore are only needed by -->
+ <!-- io.opencensus.trace.TraceComponentImpl and io.opencensus.trace.TraceComponentImplLite, -->
+ <!-- which are deprecated. -->
+ <allow class="io.opencensus.impl.internal.DisruptorEventQueue"/>
+ <allow class="io.opencensus.impl.trace.internal.ThreadLocalRandomHandler"/>
+ <allow class="io.opencensus.implcore.common.MillisClock"/>
+ <allow class="io.opencensus.implcore.internal.SimpleEventQueue"/>
+ <allow class="io.opencensus.implcore.trace.TraceComponentImplBase"/>
+ <allow class="io.opencensus.implcore.trace.internal.RandomHandler.SecureRandomHandler"/>
+ </subpackage>
+ <subpackage name="contrib">
+ <allow pkg="com.google.common"/>
+ <allow pkg="io.opencensus.common"/>
+ <subpackage name="agent">
+ <allow pkg="com.google.auto"/>
+ <allow pkg="com.typesafe.config"/>
+ <allow pkg="edu.umd.cs.findbugs.annotations"/>
+ <allow pkg="io.opencensus.contrib.agent"/>
+ <allow pkg="io.opencensus.trace"/>
+ <allow pkg="net.bytebuddy"/>
+ </subpackage>
+ <subpackage name="appengine.standard.util">
+ <allow pkg="com.google.apphosting"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="exemplar.util">
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="grpc.metrics">
+ <allow pkg="io.opencensus.contrib.grpc.metrics"/>
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ </subpackage>
+ <subpackage name="http.util">
+ <allow pkg="io.opencensus.contrib.http.util"/>
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="logcorrelation.log4j2">
+ <allow pkg="io.opencensus.contrib.logcorrelation.log4j2"/>
+ <allow pkg="io.opencensus.trace"/>
+ <disallow pkg="org.apache.logging.log4j.core.impl"/>
+ <allow pkg="org.apache.logging.log4j"/>
+ </subpackage>
+ <subpackage name="logcorrelation.stackdriver">
+ <allow pkg="com.google.cloud"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="spring">
+ <allow pkg="io.opencensus.trace"/>
+ <allow pkg="org.aspectj.lang"/>
+ <allow pkg="org.aspectj.lang.annotation"/>
+ <allow pkg="org.aspectj.lang.reflect"/>
+ <allow pkg="org.springframework.beans.factory.annotation"/>
+ <subpackage name="sleuth">
+ <allow pkg="io.opencensus.trace"/>
+ <allow pkg="org.apache.commons.logging"/>
+ <allow pkg="org.springframework.beans.factory.annotation"/>
+ <allow pkg="org.springframework.beans.factory.config"/>
+ <allow pkg="org.springframework.boot.autoconfigure"/>
+ <allow pkg="org.springframework.boot.context"/>
+ <allow pkg="org.springframework.context.annotation"/>
+ <allow pkg="org.springframework.boot.context.properties"/>
+ <allow pkg="org.springframework.cloud.sleuth"/>
+ <allow pkg="org.springframework.core"/>
+ </subpackage>
+ </subpackage>
+ <subpackage name="zpages">
+ <allow pkg="com.sun.net.httpserver"/>
+ <allow pkg="io.opencensus.contrib.grpc.metrics"/>
+ <allow pkg="io.opencensus.contrib.zpages"/>
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="monitoredresource.util">
+ <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
+ </subpackage>
+ <subpackage name="dropwizard">
+ <allow pkg="io.opencensus.contrib.dropwizard"/>
+ <allow pkg="io.opencensus.metrics"/>
+ <allow pkg="io.opencensus.implcore"/>
+ <allow pkg="io.opencensus.internal"/>
+ <allow pkg="com.codahale.metrics"/>
+ </subpackage>
+ </subpackage>
+ <subpackage name="exporter">
+ <allow pkg="com.google.common"/>
+ <allow pkg="io.opencensus.common"/>
+ <subpackage name="stats">
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ <subpackage name="prometheus">
+ <allow pkg="io.opencensus.exporter.stats.prometheus"/>
+ <allow pkg="io.opencensus.trace"/>
+ <allow pkg="io.prometheus.client"/>
+ </subpackage>
+ <subpackage name="signalfx">
+ <allow pkg="com.signalfx"/>
+ <allow pkg="io.opencensus.exporter.stats.signalfx"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="stackdriver">
+ <allow pkg="com.google"/>
+ <allow pkg="io.opencensus.exporter.stats.stackdriver"/>
+ <allow pkg="io.opencensus.trace"/>
+ <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
+ </subpackage>
+ </subpackage>
+ <subpackage name="trace">
+ <allow pkg="io.opencensus.trace"/>
+ <subpackage name="instana">
+ <allow pkg="io.opencensus.exporter.trace.instana"/>
+ </subpackage>
+ <subpackage name="jaeger">
+ <allow pkg="com.uber.jaeger"/>
+ <allow pkg="io.opencensus.exporter.trace.jaeger"/>
+ <allow pkg="org.apache.thrift"/>
+ </subpackage>
+ <subpackage name="ocagent">
+ <allow pkg="com.google.protobuf"/>
+ <allow pkg="io.grpc"/>
+ <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
+ <allow pkg="io.opencensus.contrib.opencensus.proto.util"/>
+ <allow pkg="io.opencensus.exporter.trace.ocagent"/>
+ <allow pkg="io.opencensus.proto"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="stackdriver">
+ <allow pkg="com.google"/>
+ <allow pkg="io.opencensus.exporter.trace.stackdriver"/>
+ <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
+ </subpackage>
+ <subpackage name="zipkin">
+ <allow pkg="io.opencensus.exporter.trace.zipkin"/>
+ <allow pkg="zipkin2"/>
+ </subpackage>
+ </subpackage>
+ </subpackage>
+ <subpackage name="implcore">
+ <allow pkg="com.google.common"/>
+ <allow pkg="io.opencensus.common"/>
+ <allow pkg="io.opencensus.implcore"/>
+ <allow pkg="io.opencensus.metrics"/>
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="impl">
+ <allow pkg="com.lmax.disruptor"/>
+ <allow pkg="io.opencensus.common"/>
+ <allow pkg="io.opencensus.impl"/>
+ <allow pkg="io.opencensus.implcore"/>
+ <allow pkg="io.opencensus.metrics"/>
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="impllite">
+ <allow pkg="io.opencensus.common"/>
+ <allow pkg="io.opencensus.implcore"/>
+ <allow pkg="io.opencensus.impllite"/>
+ <allow pkg="io.opencensus.metrics"/>
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ <subpackage name="testing">
+ <allow pkg="com.google.common"/>
+ <allow pkg="io.opencensus.common"/>
+ <subpackage name="common">
+ <allow pkg="io.opencensus.testing.common"/>
+ </subpackage>
+ <subpackage name="export">
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ <allow pkg="io.opencensus.testing.export"/>
+ <allow pkg="io.opencensus.trace"/>
+ </subpackage>
+ </subpackage>
+ <subpackage name="examples">
+ <allow pkg="com.google.common"/>
+ <allow pkg="io.grpc"/>
+ <allow pkg="io.opencensus.common"/>
+ <allow pkg="io.opencensus.contrib"/>
+ <allow pkg="io.opencensus.examples"/>
+ <allow pkg="io.opencensus.exporter"/>
+ <allow pkg="io.opencensus.stats"/>
+ <allow pkg="io.opencensus.tags"/>
+ <allow pkg="io.opencensus.testing.export"/>
+ <allow pkg="io.opencensus.trace"/>
+ <allow pkg="io.prometheus"/>
+ </subpackage>
+</import-control>