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