| <!DOCTYPE import-control PUBLIC |
| "-//Puppy Crawl//DTD Import Control 1.1//EN" |
| "http://www.puppycrawl.com/dtds/import_control_1_1.dtd"> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <import-control pkg="org.apache.kafka"> |
| |
| <!-- THINK HARD ABOUT THE LAYERING OF THE PROJECT BEFORE CHANGING THIS FILE --> |
| |
| <!-- common library dependencies --> |
| <allow pkg="java" /> |
| <allow pkg="javax.management" /> |
| <allow pkg="org.slf4j" /> |
| <allow pkg="org.junit" /> |
| <allow pkg="org.hamcrest" /> |
| <allow pkg="org.mockito" /> |
| <allow pkg="java.security" /> |
| <allow pkg="javax.net.ssl" /> |
| <allow pkg="javax.security" /> |
| <allow pkg="net.jqwik.api" /> |
| |
| <!-- no one depends on the server --> |
| <disallow pkg="kafka" /> |
| |
| <!-- anyone can use public classes --> |
| <allow pkg="org.apache.kafka.common" exact-match="true" /> |
| <allow pkg="org.apache.kafka.common.security" /> |
| <allow pkg="org.apache.kafka.common.serialization" /> |
| <allow pkg="org.apache.kafka.common.utils" /> |
| <allow pkg="org.apache.kafka.common.errors" exact-match="true" /> |
| <allow pkg="org.apache.kafka.common.memory" /> |
| |
| <!-- persistent collection factories/non-library-specific wrappers --> |
| <allow pkg="org.apache.kafka.server.immutable" exact-match="true" /> |
| |
| <subpackage name="queue"> |
| <allow pkg="org.apache.kafka.test" /> |
| </subpackage> |
| |
| <subpackage name="metadata"> |
| <allow pkg="org.apache.kafka.common.message" /> |
| <allow pkg="org.apache.kafka.server.common" /> |
| <allow pkg="org.apache.kafka.common.protocol" /> |
| </subpackage> |
| |
| <subpackage name="security"> |
| <allow pkg="org.apache.kafka.common.config" /> |
| <allow pkg="org.apache.kafka.common.config.types" /> |
| <allow pkg="org.apache.kafka.server.util" /> |
| <allow pkg="javax.crypto" /> |
| <allow pkg="javax.crypto.spec" /> |
| </subpackage> |
| |
| <subpackage name="server"> |
| <allow pkg="org.apache.kafka.common" /> |
| <allow pkg="joptsimple" /> |
| |
| <subpackage name="common"> |
| <allow pkg="org.apache.kafka.server.common" /> |
| </subpackage> |
| |
| <subpackage name="immutable"> |
| <allow pkg="org.apache.kafka.server.util"/> |
| <!-- only the factory package can use persistent collection library-specific wrapper implementations --> |
| <!-- the library-specific wrapper implementation for PCollections --> |
| <allow pkg="org.apache.kafka.server.immutable.pcollections" /> |
| <subpackage name="pcollections"> |
| <allow pkg="org.pcollections" /> |
| </subpackage> |
| </subpackage> |
| |
| <subpackage name="metrics"> |
| <allow pkg="com.yammer.metrics" /> |
| </subpackage> |
| |
| <subpackage name="network"> |
| <allow pkg="org.apache.kafka.server.authorizer" /> |
| </subpackage> |
| |
| <subpackage name="util"> |
| <!-- InterBrokerSendThread uses some clients classes that are not part of the public --> |
| <!-- API but are still relatively common --> |
| <allow class="org.apache.kafka.clients.admin.AdminClientConfig" /> |
| <allow class="org.apache.kafka.clients.ClientRequest" /> |
| <allow class="org.apache.kafka.clients.ClientResponse" /> |
| <allow class="org.apache.kafka.clients.KafkaClient" /> |
| <allow class="org.apache.kafka.clients.RequestCompletionHandler" /> |
| <allow class="org.apache.kafka.clients.CommonClientConfigs" /> |
| <allow pkg="com.fasterxml.jackson" /> |
| <allow pkg="org.apache.kafka.server.util.json" /> |
| |
| <allow class="org.apache.kafka.server.util.TopicFilter.IncludeList" /> |
| <allow class="org.apache.kafka.test.TestUtils" /> |
| <subpackage name="timer"> |
| <allow class="org.apache.kafka.server.util.MockTime" /> |
| <allow class="org.apache.kafka.server.util.ShutdownableThread" /> |
| </subpackage> |
| </subpackage> |
| <subpackage name="config"> |
| <allow pkg="org.apache.kafka.server"/> |
| </subpackage> |
| </subpackage> |
| |
| <subpackage name="admin"> |
| <allow pkg="org.apache.kafka.server.common" /> |
| </subpackage> |
| |
| </import-control> |