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