• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0"?>
2<!DOCTYPE import-control PUBLIC
3    "-//Puppy Crawl//DTD Import Control 1.3//EN"
4    "http://checkstyle.sourceforge.net/dtds/import_control_1_3.dtd">
5
6<!--
7
8General guidelines on imports:
9
10- 'stats' depends on 'tags', but 'tags' shouldn't depend on 'stats' or 'trace'.
11  'stats'/'tags' and 'trace' should remain independent, where possible.
12
13- Packages should not be split between artifacts.
14
15- 'internal' packages should only be imported by packages within the same
16  artifact.
17
18- Since we are trying to remove dependencies on Guava (issue #1113), we should
19  avoid adding any new Guava imports here, especially in the API.
20
21-->
22
23<import-control pkg="io.opencensus">
24  <allow pkg="com.google.auto.value"/>
25  <allow pkg="com.google.errorprone.annotations"/>
26  <allow pkg="java"/>
27  <allow pkg="javax"/>
28  <allow class="io.grpc.Context"/>
29  <subpackage name="common">
30    <allow pkg="io.opencensus.common"/>
31  </subpackage>
32  <subpackage name="internal">
33    <allow pkg="io.opencensus.common"/>
34    <allow pkg="io.opencensus.internal"/>
35  </subpackage>
36  <subpackage name="tags">
37    <allow pkg="io.opencensus.common"/>
38    <allow pkg="io.opencensus.internal"/>
39    <allow pkg="io.opencensus.tags"/>
40  </subpackage>
41  <subpackage name="metrics">
42    <allow pkg="io.opencensus.internal"/>
43    <allow pkg="io.opencensus.common"/>
44    <allow pkg="io.opencensus.metrics"/>
45  </subpackage>
46  <subpackage name="stats">
47    <allow pkg="io.opencensus.common"/>
48    <allow pkg="io.opencensus.internal"/>
49    <allow pkg="io.opencensus.stats"/>
50    <allow pkg="io.opencensus.tags"/>
51  </subpackage>
52  <subpackage name="trace">
53    <allow pkg="io.opencensus.common"/>
54    <allow pkg="io.opencensus.internal"/>
55    <allow pkg="io.opencensus.trace"/>
56
57    <!-- These dependencies on impl/implcore are only needed by -->
58    <!-- io.opencensus.trace.TraceComponentImpl and io.opencensus.trace.TraceComponentImplLite, -->
59    <!-- which are deprecated. -->
60    <allow class="io.opencensus.impl.internal.DisruptorEventQueue"/>
61    <allow class="io.opencensus.impl.trace.internal.ThreadLocalRandomHandler"/>
62    <allow class="io.opencensus.implcore.common.MillisClock"/>
63    <allow class="io.opencensus.implcore.internal.SimpleEventQueue"/>
64    <allow class="io.opencensus.implcore.trace.TraceComponentImplBase"/>
65    <allow class="io.opencensus.implcore.trace.internal.RandomHandler.SecureRandomHandler"/>
66  </subpackage>
67  <subpackage name="contrib">
68    <allow pkg="com.google.common"/>
69    <allow pkg="io.opencensus.common"/>
70    <subpackage name="agent">
71      <allow pkg="com.google.auto"/>
72      <allow pkg="com.typesafe.config"/>
73      <allow pkg="edu.umd.cs.findbugs.annotations"/>
74      <allow pkg="io.opencensus.contrib.agent"/>
75      <allow pkg="io.opencensus.trace"/>
76      <allow pkg="net.bytebuddy"/>
77    </subpackage>
78    <subpackage name="appengine.standard.util">
79      <allow pkg="com.google.apphosting"/>
80      <allow pkg="io.opencensus.trace"/>
81    </subpackage>
82    <subpackage name="exemplar.util">
83      <allow pkg="io.opencensus.stats"/>
84      <allow pkg="io.opencensus.trace"/>
85    </subpackage>
86    <subpackage name="grpc.metrics">
87      <allow pkg="io.opencensus.contrib.grpc.metrics"/>
88      <allow pkg="io.opencensus.stats"/>
89      <allow pkg="io.opencensus.tags"/>
90    </subpackage>
91    <subpackage name="http.util">
92      <allow pkg="io.opencensus.contrib.http.util"/>
93      <allow pkg="io.opencensus.stats"/>
94      <allow pkg="io.opencensus.tags"/>
95      <allow pkg="io.opencensus.trace"/>
96    </subpackage>
97    <subpackage name="logcorrelation.stackdriver">
98      <allow pkg="com.google.cloud"/>
99      <allow pkg="io.opencensus.trace"/>
100    </subpackage>
101    <subpackage name="spring">
102      <allow pkg="io.opencensus.trace"/>
103      <allow pkg="org.aspectj.lang"/>
104      <allow pkg="org.aspectj.lang.annotation"/>
105      <allow pkg="org.aspectj.lang.reflect"/>
106      <allow pkg="org.springframework.beans.factory.annotation"/>
107      <subpackage name="sleuth">
108        <allow pkg="io.opencensus.trace"/>
109        <allow pkg="org.apache.commons.logging"/>
110        <allow pkg="org.springframework.beans.factory.annotation"/>
111        <allow pkg="org.springframework.beans.factory.config"/>
112        <allow pkg="org.springframework.boot.autoconfigure"/>
113        <allow pkg="org.springframework.boot.context"/>
114        <allow pkg="org.springframework.context.annotation"/>
115        <allow pkg="org.springframework.boot.context.properties"/>
116        <allow pkg="org.springframework.cloud.sleuth"/>
117        <allow pkg="org.springframework.core"/>
118      </subpackage>
119    </subpackage>
120    <subpackage name="zpages">
121      <allow pkg="com.sun.net.httpserver"/>
122      <allow pkg="io.opencensus.contrib.grpc.metrics"/>
123      <allow pkg="io.opencensus.contrib.zpages"/>
124      <allow pkg="io.opencensus.stats"/>
125      <allow pkg="io.opencensus.tags"/>
126      <allow pkg="io.opencensus.trace"/>
127    </subpackage>
128    <subpackage name="monitoredresource.util">
129      <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
130    </subpackage>
131    <subpackage name="dropwizard">
132      <allow pkg="io.opencensus.contrib.dropwizard"/>
133      <allow pkg="io.opencensus.metrics"/>
134      <allow pkg="io.opencensus.implcore"/>
135      <allow pkg="io.opencensus.internal"/>
136      <allow pkg="com.codahale.metrics"/>
137    </subpackage>
138  </subpackage>
139  <subpackage name="exporter">
140    <allow pkg="com.google.common"/>
141    <allow pkg="io.opencensus.common"/>
142    <subpackage name="stats">
143      <allow pkg="io.opencensus.stats"/>
144      <allow pkg="io.opencensus.tags"/>
145      <subpackage name="prometheus">
146        <allow pkg="io.opencensus.exporter.stats.prometheus"/>
147        <allow pkg="io.opencensus.trace"/>
148        <allow pkg="io.prometheus.client"/>
149      </subpackage>
150      <subpackage name="signalfx">
151        <allow pkg="com.signalfx"/>
152        <allow pkg="io.opencensus.exporter.stats.signalfx"/>
153        <allow pkg="io.opencensus.trace"/>
154      </subpackage>
155      <subpackage name="stackdriver">
156        <allow pkg="com.google"/>
157        <allow pkg="io.opencensus.exporter.stats.stackdriver"/>
158        <allow pkg="io.opencensus.trace"/>
159        <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
160      </subpackage>
161    </subpackage>
162    <subpackage name="trace">
163      <allow pkg="io.opencensus.trace"/>
164      <subpackage name="instana">
165        <allow pkg="io.opencensus.exporter.trace.instana"/>
166      </subpackage>
167      <subpackage name="jaeger">
168        <allow pkg="com.uber.jaeger"/>
169        <allow pkg="io.opencensus.exporter.trace.jaeger"/>
170        <allow pkg="org.apache.thrift"/>
171      </subpackage>
172      <subpackage name="ocagent">
173        <allow pkg="com.google.protobuf"/>
174        <allow pkg="io.grpc"/>
175        <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
176        <allow pkg="io.opencensus.contrib.opencensus.proto.util"/>
177        <allow pkg="io.opencensus.exporter.trace.ocagent"/>
178        <allow pkg="io.opencensus.proto"/>
179        <allow pkg="io.opencensus.trace"/>
180      </subpackage>
181      <subpackage name="stackdriver">
182        <allow pkg="com.google"/>
183        <allow pkg="io.opencensus.exporter.trace.stackdriver"/>
184        <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
185      </subpackage>
186      <subpackage name="zipkin">
187        <allow pkg="io.opencensus.exporter.trace.zipkin"/>
188        <allow pkg="zipkin2"/>
189      </subpackage>
190    </subpackage>
191  </subpackage>
192  <subpackage name="implcore">
193    <allow pkg="com.google.common"/>
194    <allow pkg="io.opencensus.common"/>
195    <allow pkg="io.opencensus.implcore"/>
196    <allow pkg="io.opencensus.metrics"/>
197    <allow pkg="io.opencensus.stats"/>
198    <allow pkg="io.opencensus.tags"/>
199    <allow pkg="io.opencensus.trace"/>
200  </subpackage>
201  <subpackage name="impl">
202    <allow pkg="com.lmax.disruptor"/>
203    <allow pkg="io.opencensus.common"/>
204    <allow pkg="io.opencensus.impl"/>
205    <allow pkg="io.opencensus.implcore"/>
206    <allow pkg="io.opencensus.metrics"/>
207    <allow pkg="io.opencensus.stats"/>
208    <allow pkg="io.opencensus.tags"/>
209    <allow pkg="io.opencensus.trace"/>
210  </subpackage>
211  <subpackage name="impllite">
212    <allow pkg="io.opencensus.common"/>
213    <allow pkg="io.opencensus.implcore"/>
214    <allow pkg="io.opencensus.impllite"/>
215    <allow pkg="io.opencensus.metrics"/>
216    <allow pkg="io.opencensus.stats"/>
217    <allow pkg="io.opencensus.tags"/>
218    <allow pkg="io.opencensus.trace"/>
219  </subpackage>
220  <subpackage name="testing">
221    <allow pkg="com.google.common"/>
222    <allow pkg="io.opencensus.common"/>
223    <subpackage name="common">
224      <allow pkg="io.opencensus.testing.common"/>
225    </subpackage>
226    <subpackage name="export">
227      <allow pkg="io.opencensus.stats"/>
228      <allow pkg="io.opencensus.tags"/>
229      <allow pkg="io.opencensus.testing.export"/>
230      <allow pkg="io.opencensus.trace"/>
231    </subpackage>
232  </subpackage>
233  <subpackage name="examples">
234    <allow pkg="com.google.common"/>
235    <allow pkg="io.grpc"/>
236    <allow pkg="io.opencensus.common"/>
237    <allow pkg="io.opencensus.contrib"/>
238    <allow pkg="io.opencensus.examples"/>
239    <allow pkg="io.opencensus.exporter"/>
240    <allow pkg="io.opencensus.stats"/>
241    <allow pkg="io.opencensus.tags"/>
242    <allow pkg="io.opencensus.testing.export"/>
243    <allow pkg="io.opencensus.trace"/>
244    <allow pkg="io.prometheus"/>
245  </subpackage>
246</import-control>
247