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