xref: /aosp_15_r20/external/opencensus-java/buildscripts/import-control.xml (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
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    <allow pkg="io.opencensus.metrics.data"/>
46    <subpackage name="data">
47      <allow pkg="io.opencensus.metrics.data"/>
48    </subpackage>
49  </subpackage>
50  <subpackage name="resource">
51    <allow pkg="io.opencensus.common"/>
52    <allow pkg="io.opencensus.internal"/>
53    <allow pkg="io.opencensus.resource"/>
54  </subpackage>
55  <subpackage name="stats">
56    <allow pkg="io.opencensus.common"/>
57    <allow pkg="io.opencensus.internal"/>
58    <allow pkg="io.opencensus.metrics.data"/>
59    <allow pkg="io.opencensus.stats"/>
60    <allow pkg="io.opencensus.tags"/>
61  </subpackage>
62  <subpackage name="trace">
63    <allow pkg="io.opencensus.common"/>
64    <allow pkg="io.opencensus.internal"/>
65    <allow pkg="io.opencensus.trace"/>
66
67    <!-- These dependencies on impl/implcore are only needed by -->
68    <!-- io.opencensus.trace.TraceComponentImpl and io.opencensus.trace.TraceComponentImplLite, -->
69    <!-- which are deprecated. -->
70    <allow class="io.opencensus.impl.internal.DisruptorEventQueue"/>
71    <allow class="io.opencensus.impl.trace.internal.ThreadLocalRandomHandler"/>
72    <allow class="io.opencensus.implcore.common.MillisClock"/>
73    <allow class="io.opencensus.implcore.internal.SimpleEventQueue"/>
74    <allow class="io.opencensus.implcore.trace.TraceComponentImplBase"/>
75    <allow class="io.opencensus.implcore.trace.internal.RandomHandler.SecureRandomHandler"/>
76  </subpackage>
77  <subpackage name="contrib">
78    <allow pkg="com.google.common"/>
79    <allow pkg="io.opencensus.common"/>
80    <subpackage name="agent">
81      <allow pkg="com.google.auto"/>
82      <allow pkg="com.typesafe.config"/>
83      <allow pkg="edu.umd.cs.findbugs.annotations"/>
84      <allow pkg="io.opencensus.contrib.agent"/>
85      <allow pkg="io.opencensus.trace"/>
86      <allow pkg="net.bytebuddy"/>
87    </subpackage>
88    <subpackage name="appengine.standard.util">
89      <allow pkg="com.google.apphosting"/>
90      <allow pkg="io.opencensus.trace"/>
91    </subpackage>
92    <subpackage name="exemplar.util">
93      <allow pkg="io.opencensus.metrics.data"/>
94      <allow pkg="io.opencensus.stats"/>
95      <allow pkg="io.opencensus.trace"/>
96    </subpackage>
97    <subpackage name="grpc.metrics">
98      <allow pkg="io.opencensus.contrib.grpc.metrics"/>
99      <allow pkg="io.opencensus.stats"/>
100      <allow pkg="io.opencensus.tags"/>
101    </subpackage>
102    <subpackage name="http.jetty.client">
103      <allow pkg="io.opencensus.contrib.http"/>
104      <allow pkg="io.opencensus.contrib.http.jetty.client"/>
105      <allow pkg="io.opencensus.contrib.http.util"/>
106      <allow pkg="io.opencensus.trace"/>
107      <allow pkg="org.eclipse.jetty.client"/>
108      <allow pkg="org.eclipse.jetty.util.ssl"/>
109    </subpackage>
110    <subpackage name="http.servlet">
111      <allow pkg="io.opencensus.contrib.http"/>
112      <allow pkg="io.opencensus.contrib.http.servlet"/>
113      <allow pkg="io.opencensus.contrib.http.util"/>
114      <allow pkg="io.opencensus.trace"/>
115      <allow pkg="javax.servlet"/>
116      <allow pkg="org.eclipse.jetty.server"/>
117    </subpackage>
118    <subpackage name="http">
119      <allow pkg="io.opencensus.contrib.http"/>
120      <allow pkg="io.opencensus.contrib.http.util"/>
121      <allow pkg="io.opencensus.stats"/>
122      <allow pkg="io.opencensus.tags"/>
123      <allow pkg="io.opencensus.trace"/>
124      <allow pkg="io.opencensus.trace.propagation"/>
125    </subpackage>
126    <subpackage name="logcorrelation.stackdriver">
127      <allow pkg="com.google.cloud"/>
128      <allow pkg="io.opencensus.trace"/>
129    </subpackage>
130    <subpackage name="spring">
131      <allow pkg="edu.umd.cs.findbugs.annotations"/>
132      <allow pkg="io.opencensus.trace"/>
133      <allow pkg="io.opencensus.contrib.http"/>
134      <allow pkg="io.opencensus.contrib.http.servlet"/>
135      <allow pkg="io.opencensus.contrib.spring"/>
136      <allow pkg="org.aspectj.lang"/>
137      <allow pkg="org.aspectj.lang.annotation"/>
138      <allow pkg="org.aspectj.lang.reflect"/>
139      <allow pkg="org.springframework.beans.factory.annotation"/>
140      <allow pkg="org.springframework.beans.factory.config"/>
141      <allow pkg="org.springframework.boot.autoconfigure"/>
142      <allow pkg="org.springframework.boot.context"/>
143      <allow pkg="org.springframework.context.annotation"/>
144      <allow pkg="org.springframework.core"/>
145      <allow pkg="org.springframework.http"/>
146      <allow pkg="org.springframework.stereotype"/>
147      <allow pkg="org.springframework.util.concurrent"/>
148      <allow pkg="org.springframework.web.client"/>
149      <subpackage name="sleuth">
150        <allow pkg="io.opencensus.trace"/>
151        <allow pkg="org.apache.commons.logging"/>
152        <allow pkg="org.springframework.beans.factory.annotation"/>
153        <allow pkg="org.springframework.beans.factory.config"/>
154        <allow pkg="org.springframework.boot.autoconfigure"/>
155        <allow pkg="org.springframework.boot.context"/>
156        <allow pkg="org.springframework.context.annotation"/>
157        <allow pkg="org.springframework.boot.context.properties"/>
158        <allow pkg="org.springframework.cloud.sleuth"/>
159        <allow pkg="org.springframework.core"/>
160      </subpackage>
161    </subpackage>
162    <subpackage name="zpages">
163      <allow pkg="com.sun.net.httpserver"/>
164      <allow pkg="io.opencensus.contrib.grpc.metrics"/>
165      <allow pkg="io.opencensus.contrib.zpages"/>
166      <allow pkg="io.opencensus.stats"/>
167      <allow pkg="io.opencensus.tags"/>
168      <allow pkg="io.opencensus.trace"/>
169    </subpackage>
170    <subpackage name="observability.ready.util">
171      <allow pkg="io.opencensus.contrib.grpc.metrics"/>
172      <allow pkg="io.opencensus.trace"/>
173      <allow pkg="io.opencensus.exporter.metrics.ocagent"/>
174      <allow pkg="io.opencensus.exporter.trace.ocagent"/>
175    </subpackage>
176    <subpackage name="resource.util">
177      <allow pkg="io.opencensus.contrib.resource.util"/>
178      <allow pkg="io.opencensus.resource"/>
179    </subpackage>
180    <subpackage name="dropwizard5">
181      <allow pkg="io.opencensus.contrib.dropwizard5"/>
182      <allow pkg="io.opencensus.metrics"/>
183      <allow pkg="io.opencensus.implcore"/>
184      <allow pkg="io.opencensus.internal"/>
185      <allow pkg="io.dropwizard.metrics5"/>
186    </subpackage>
187    <subpackage name="dropwizard">
188      <allow pkg="io.opencensus.contrib.dropwizard"/>
189      <allow pkg="io.opencensus.metrics"/>
190      <allow pkg="io.opencensus.implcore"/>
191      <allow pkg="io.opencensus.internal"/>
192      <allow pkg="com.codahale.metrics"/>
193    </subpackage>
194  </subpackage>
195  <subpackage name="exporter">
196    <allow pkg="com.google.common"/>
197    <allow pkg="io.opencensus.common"/>
198    <allow pkg="io.opencensus.resource"/>
199    <subpackage name="metrics">
200      <subpackage name="ocagent">
201        <allow pkg="com.google.protobuf"/>
202        <allow pkg="io.grpc"/>
203        <allow pkg="io.netty.handler.ssl"/>
204        <allow pkg="io.opencensus.contrib.opencensus.proto.util"/>
205        <allow pkg="io.opencensus.contrib.resource.util"/>
206        <allow pkg="io.opencensus.exporter.metrics.ocagent"/>
207        <allow pkg="io.opencensus.metrics"/>
208        <allow pkg="io.opencensus.proto"/>
209      </subpackage>
210      <subpackage name="util">
211        <allow pkg="io.opencensus.exporter.metrics.util"/>
212        <allow pkg="io.opencensus.metrics"/>
213        <allow pkg="io.opencensus.trace"/>
214      </subpackage>
215    </subpackage>
216    <subpackage name="stats">
217      <allow pkg="io.opencensus.metrics"/>
218      <allow pkg="io.opencensus.exporter.metrics.util"/>
219      <subpackage name="prometheus">
220        <allow pkg="io.opencensus.exporter.stats.prometheus"/>
221        <allow pkg="io.opencensus.trace"/>
222        <allow pkg="io.prometheus.client"/>
223      </subpackage>
224      <subpackage name="signalfx">
225        <allow pkg="com.signalfx"/>
226        <allow pkg="io.opencensus.exporter.stats.signalfx"/>
227        <allow pkg="io.opencensus.trace"/>
228      </subpackage>
229      <subpackage name="stackdriver">
230        <allow pkg="com.google"/>
231        <allow pkg="io.opencensus.exporter.stats.stackdriver"/>
232        <allow pkg="io.opencensus.metrics.data"/>
233        <allow pkg="io.opencensus.trace"/>
234        <allow pkg="io.opencensus.contrib.exemplar.util"/>
235        <allow pkg="io.opencensus.contrib.resource.util"/>
236      </subpackage>
237    </subpackage>
238    <subpackage name="trace">
239      <allow pkg="io.opencensus.trace"/>
240      <allow pkg="io.opencensus.exporter.trace.util"/>
241      <subpackage name="instana">
242        <allow pkg="io.opencensus.exporter.trace.instana"/>
243      </subpackage>
244      <subpackage name="jaeger">
245        <allow pkg="io.jaegertracing"/>
246        <allow pkg="io.opencensus.exporter.trace.jaeger"/>
247        <allow pkg="org.apache.thrift"/>
248      </subpackage>
249      <subpackage name="ocagent">
250        <allow pkg="com.google.protobuf"/>
251        <allow pkg="io.grpc"/>
252        <allow pkg="io.netty.handler.ssl"/>
253        <allow pkg="io.opencensus.contrib.resource.util"/>
254        <allow pkg="io.opencensus.contrib.opencensus.proto.util"/>
255        <allow pkg="io.opencensus.exporter.trace.ocagent"/>
256        <allow pkg="io.opencensus.proto"/>
257        <allow pkg="io.opencensus.trace"/>
258      </subpackage>
259      <subpackage name="stackdriver">
260        <allow pkg="com.google"/>
261        <allow pkg="io.opencensus.exporter.trace.stackdriver"/>
262        <allow pkg="io.opencensus.contrib.resource.util"/>
263      </subpackage>
264      <subpackage name="zipkin">
265        <allow pkg="io.opencensus.exporter.trace.zipkin"/>
266        <allow pkg="zipkin2"/>
267      </subpackage>
268      <subpackage name="datadog">
269        <allow pkg="io.opencensus.exporter.trace.datadog"/>
270        <allow pkg="edu.umd.cs.findbugs.annotations"/>
271        <allow pkg="com.google.gson"/>
272        <allow pkg="com.google.auto.value"/>
273      </subpackage>
274    </subpackage>
275  </subpackage>
276  <subpackage name="implcore">
277    <allow pkg="com.google.common"/>
278    <allow pkg="io.opencensus.common"/>
279    <allow pkg="io.opencensus.implcore"/>
280    <allow pkg="io.opencensus.metrics"/>
281    <allow pkg="io.opencensus.stats"/>
282    <allow pkg="io.opencensus.tags"/>
283    <allow pkg="io.opencensus.trace"/>
284  </subpackage>
285  <subpackage name="impl">
286    <allow pkg="com.lmax.disruptor"/>
287    <allow pkg="io.opencensus.common"/>
288    <allow pkg="io.opencensus.impl"/>
289    <allow pkg="io.opencensus.implcore"/>
290    <allow pkg="io.opencensus.metrics"/>
291    <allow pkg="io.opencensus.stats"/>
292    <allow pkg="io.opencensus.tags"/>
293    <allow pkg="io.opencensus.trace"/>
294  </subpackage>
295  <subpackage name="impllite">
296    <allow pkg="io.opencensus.common"/>
297    <allow pkg="io.opencensus.implcore"/>
298    <allow pkg="io.opencensus.impllite"/>
299    <allow pkg="io.opencensus.metrics"/>
300    <allow pkg="io.opencensus.stats"/>
301    <allow pkg="io.opencensus.tags"/>
302    <allow pkg="io.opencensus.trace"/>
303  </subpackage>
304  <subpackage name="testing">
305    <allow pkg="com.google.common"/>
306    <allow pkg="io.opencensus.common"/>
307    <subpackage name="common">
308      <allow pkg="io.opencensus.testing.common"/>
309    </subpackage>
310    <subpackage name="export">
311      <allow pkg="io.opencensus.stats"/>
312      <allow pkg="io.opencensus.tags"/>
313      <allow pkg="io.opencensus.testing.export"/>
314      <allow pkg="io.opencensus.trace"/>
315    </subpackage>
316  </subpackage>
317  <subpackage name="examples">
318    <allow pkg="com.google.common"/>
319    <allow pkg="io.grpc"/>
320    <allow pkg="io.opencensus.common"/>
321    <allow pkg="io.opencensus.contrib"/>
322    <allow pkg="io.opencensus.examples"/>
323    <allow pkg="io.opencensus.exporter"/>
324    <allow pkg="io.opencensus.stats"/>
325    <allow pkg="io.opencensus.tags"/>
326    <allow pkg="io.opencensus.testing.export"/>
327    <allow pkg="io.opencensus.trace"/>
328    <allow pkg="io.opencensus.metrics"/>
329    <allow pkg="io.prometheus"/>
330    <allow pkg="org.apache.log4j"/>
331    <allow pkg="org.eclipse.jetty"/>
332    <allow pkg="javax.servlet"/>
333    <allow pkg="org.springframework"/>
334  </subpackage>
335</import-control>
336