• 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.log4j2">
98      <allow pkg="io.opencensus.contrib.logcorrelation.log4j2"/>
99      <allow pkg="io.opencensus.trace"/>
100      <disallow pkg="org.apache.logging.log4j.core.impl"/>
101      <allow pkg="org.apache.logging.log4j"/>
102    </subpackage>
103    <subpackage name="logcorrelation.stackdriver">
104      <allow pkg="com.google.cloud"/>
105      <allow pkg="io.opencensus.trace"/>
106    </subpackage>
107    <subpackage name="spring">
108      <allow pkg="io.opencensus.trace"/>
109      <allow pkg="org.aspectj.lang"/>
110      <allow pkg="org.aspectj.lang.annotation"/>
111      <allow pkg="org.aspectj.lang.reflect"/>
112      <allow pkg="org.springframework.beans.factory.annotation"/>
113      <subpackage name="sleuth">
114        <allow pkg="io.opencensus.trace"/>
115        <allow pkg="org.apache.commons.logging"/>
116        <allow pkg="org.springframework.beans.factory.annotation"/>
117        <allow pkg="org.springframework.beans.factory.config"/>
118        <allow pkg="org.springframework.boot.autoconfigure"/>
119        <allow pkg="org.springframework.boot.context"/>
120        <allow pkg="org.springframework.context.annotation"/>
121        <allow pkg="org.springframework.boot.context.properties"/>
122        <allow pkg="org.springframework.cloud.sleuth"/>
123        <allow pkg="org.springframework.core"/>
124      </subpackage>
125    </subpackage>
126    <subpackage name="zpages">
127      <allow pkg="com.sun.net.httpserver"/>
128      <allow pkg="io.opencensus.contrib.grpc.metrics"/>
129      <allow pkg="io.opencensus.contrib.zpages"/>
130      <allow pkg="io.opencensus.stats"/>
131      <allow pkg="io.opencensus.tags"/>
132      <allow pkg="io.opencensus.trace"/>
133    </subpackage>
134    <subpackage name="monitoredresource.util">
135      <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
136    </subpackage>
137    <subpackage name="dropwizard">
138      <allow pkg="io.opencensus.contrib.dropwizard"/>
139      <allow pkg="io.opencensus.metrics"/>
140      <allow pkg="io.opencensus.implcore"/>
141      <allow pkg="io.opencensus.internal"/>
142      <allow pkg="com.codahale.metrics"/>
143    </subpackage>
144  </subpackage>
145  <subpackage name="exporter">
146    <allow pkg="com.google.common"/>
147    <allow pkg="io.opencensus.common"/>
148    <subpackage name="stats">
149      <allow pkg="io.opencensus.stats"/>
150      <allow pkg="io.opencensus.tags"/>
151      <subpackage name="prometheus">
152        <allow pkg="io.opencensus.exporter.stats.prometheus"/>
153        <allow pkg="io.opencensus.trace"/>
154        <allow pkg="io.prometheus.client"/>
155      </subpackage>
156      <subpackage name="signalfx">
157        <allow pkg="com.signalfx"/>
158        <allow pkg="io.opencensus.exporter.stats.signalfx"/>
159        <allow pkg="io.opencensus.trace"/>
160      </subpackage>
161      <subpackage name="stackdriver">
162        <allow pkg="com.google"/>
163        <allow pkg="io.opencensus.exporter.stats.stackdriver"/>
164        <allow pkg="io.opencensus.trace"/>
165        <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
166      </subpackage>
167    </subpackage>
168    <subpackage name="trace">
169      <allow pkg="io.opencensus.trace"/>
170      <subpackage name="instana">
171        <allow pkg="io.opencensus.exporter.trace.instana"/>
172      </subpackage>
173      <subpackage name="jaeger">
174        <allow pkg="com.uber.jaeger"/>
175        <allow pkg="io.opencensus.exporter.trace.jaeger"/>
176        <allow pkg="org.apache.thrift"/>
177      </subpackage>
178      <subpackage name="ocagent">
179        <allow pkg="com.google.protobuf"/>
180        <allow pkg="io.grpc"/>
181        <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
182        <allow pkg="io.opencensus.contrib.opencensus.proto.util"/>
183        <allow pkg="io.opencensus.exporter.trace.ocagent"/>
184        <allow pkg="io.opencensus.proto"/>
185        <allow pkg="io.opencensus.trace"/>
186      </subpackage>
187      <subpackage name="stackdriver">
188        <allow pkg="com.google"/>
189        <allow pkg="io.opencensus.exporter.trace.stackdriver"/>
190        <allow pkg="io.opencensus.contrib.monitoredresource.util"/>
191      </subpackage>
192      <subpackage name="zipkin">
193        <allow pkg="io.opencensus.exporter.trace.zipkin"/>
194        <allow pkg="zipkin2"/>
195      </subpackage>
196    </subpackage>
197  </subpackage>
198  <subpackage name="implcore">
199    <allow pkg="com.google.common"/>
200    <allow pkg="io.opencensus.common"/>
201    <allow pkg="io.opencensus.implcore"/>
202    <allow pkg="io.opencensus.metrics"/>
203    <allow pkg="io.opencensus.stats"/>
204    <allow pkg="io.opencensus.tags"/>
205    <allow pkg="io.opencensus.trace"/>
206  </subpackage>
207  <subpackage name="impl">
208    <allow pkg="com.lmax.disruptor"/>
209    <allow pkg="io.opencensus.common"/>
210    <allow pkg="io.opencensus.impl"/>
211    <allow pkg="io.opencensus.implcore"/>
212    <allow pkg="io.opencensus.metrics"/>
213    <allow pkg="io.opencensus.stats"/>
214    <allow pkg="io.opencensus.tags"/>
215    <allow pkg="io.opencensus.trace"/>
216  </subpackage>
217  <subpackage name="impllite">
218    <allow pkg="io.opencensus.common"/>
219    <allow pkg="io.opencensus.implcore"/>
220    <allow pkg="io.opencensus.impllite"/>
221    <allow pkg="io.opencensus.metrics"/>
222    <allow pkg="io.opencensus.stats"/>
223    <allow pkg="io.opencensus.tags"/>
224    <allow pkg="io.opencensus.trace"/>
225  </subpackage>
226  <subpackage name="testing">
227    <allow pkg="com.google.common"/>
228    <allow pkg="io.opencensus.common"/>
229    <subpackage name="common">
230      <allow pkg="io.opencensus.testing.common"/>
231    </subpackage>
232    <subpackage name="export">
233      <allow pkg="io.opencensus.stats"/>
234      <allow pkg="io.opencensus.tags"/>
235      <allow pkg="io.opencensus.testing.export"/>
236      <allow pkg="io.opencensus.trace"/>
237    </subpackage>
238  </subpackage>
239  <subpackage name="examples">
240    <allow pkg="com.google.common"/>
241    <allow pkg="io.grpc"/>
242    <allow pkg="io.opencensus.common"/>
243    <allow pkg="io.opencensus.contrib"/>
244    <allow pkg="io.opencensus.examples"/>
245    <allow pkg="io.opencensus.exporter"/>
246    <allow pkg="io.opencensus.stats"/>
247    <allow pkg="io.opencensus.tags"/>
248    <allow pkg="io.opencensus.testing.export"/>
249    <allow pkg="io.opencensus.trace"/>
250    <allow pkg="io.prometheus"/>
251  </subpackage>
252</import-control>
253