blob: 6dffe25a1c550f02a080c8caa066121c47c8c4c1 [file] [log] [blame]
<?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.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>