| <!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.easymock" /> |
| <allow pkg="org.powermock" /> |
| <allow pkg="java.security" /> |
| <allow pkg="javax.net.ssl" /> |
| <allow pkg="javax.security" /> |
| <allow pkg="org.ietf.jgss" /> |
| |
| <!-- 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.utils" /> |
| |
| <subpackage name="common"> |
| <disallow pkg="org.apache.kafka.clients" /> |
| <allow pkg="org.apache.kafka.common" exact-match="true" /> |
| <allow pkg="org.apache.kafka.test" /> |
| |
| <subpackage name="config"> |
| <allow pkg="org.apache.kafka.common.config" /> |
| <!-- for testing --> |
| <allow pkg="org.apache.kafka.common.metrics" /> |
| </subpackage> |
| |
| <subpackage name="metrics"> |
| <allow pkg="org.apache.kafka.common.metrics" /> |
| </subpackage> |
| |
| <subpackage name="network"> |
| <allow pkg="org.apache.kafka.common.security.auth" /> |
| <allow pkg="org.apache.kafka.common.protocol" /> |
| <allow pkg="org.apache.kafka.common.config" /> |
| <allow pkg="org.apache.kafka.common.metrics" /> |
| <allow pkg="org.apache.kafka.common.security" /> |
| </subpackage> |
| |
| <subpackage name="security"> |
| <allow pkg="org.apache.kafka.common.annotation" /> |
| <allow pkg="org.apache.kafka.common.network" /> |
| <allow pkg="org.apache.kafka.common.config" /> |
| <subpackage name="authenticator"> |
| <allow pkg="org.apache.kafka.common.protocol" /> |
| <allow pkg="org.apache.kafka.common.protocol.types" /> |
| <allow pkg="org.apache.kafka.common.requests" /> |
| <allow pkg="org.apache.kafka.common.errors" /> |
| <allow pkg="org.apache.kafka.clients" /> |
| </subpackage> |
| <subpackage name="scram"> |
| <allow pkg="javax.crypto" /> |
| <allow pkg="javax.xml.bind" /> |
| <allow pkg="org.apache.kafka.common.errors" /> |
| </subpackage> |
| </subpackage> |
| |
| <subpackage name="protocol"> |
| <allow pkg="org.apache.kafka.common.errors" /> |
| <allow pkg="org.apache.kafka.common.protocol.types" /> |
| <allow pkg="org.apache.kafka.common.record" /> |
| </subpackage> |
| |
| <subpackage name="record"> |
| <allow pkg="net.jpountz" /> |
| <allow pkg="org.apache.kafka.common.record" /> |
| <allow pkg="org.apache.kafka.common.network" /> |
| <allow pkg="org.apache.kafka.common.errors" /> |
| </subpackage> |
| |
| <subpackage name="requests"> |
| <allow pkg="org.apache.kafka.common.protocol" /> |
| <allow pkg="org.apache.kafka.common.network" /> |
| <allow pkg="org.apache.kafka.common.record" /> |
| <!-- for testing --> |
| <allow pkg="org.apache.kafka.common.errors" /> |
| </subpackage> |
| |
| <subpackage name="serialization"> |
| <allow class="org.apache.kafka.common.errors.SerializationException" /> |
| </subpackage> |
| </subpackage> |
| |
| <subpackage name="clients"> |
| <allow pkg="org.slf4j" /> |
| <allow pkg="org.apache.kafka.common" /> |
| <allow pkg="org.apache.kafka.clients" exact-match="true"/> |
| <allow pkg="org.apache.kafka.test" /> |
| |
| <subpackage name="consumer"> |
| <allow pkg="org.apache.kafka.clients.consumer" /> |
| </subpackage> |
| |
| <subpackage name="producer"> |
| <allow pkg="org.apache.kafka.clients.producer" /> |
| </subpackage> |
| </subpackage> |
| |
| <subpackage name="server"> |
| <allow pkg="org.slf4j" /> |
| <allow pkg="org.apache.kafka.common" /> |
| <allow pkg="org.apache.kafka.test" /> |
| </subpackage> |
| |
| <subpackage name="tools"> |
| <allow pkg="org.apache.kafka.common"/> |
| <allow pkg="org.apache.kafka.clients.producer" /> |
| <allow pkg="org.apache.kafka.clients.consumer" /> |
| <allow pkg="com.fasterxml.jackson" /> |
| <allow pkg="net.sourceforge.argparse4j" /> |
| <allow pkg="org.apache.log4j" /> |
| </subpackage> |
| |
| <subpackage name="streams"> |
| <allow pkg="org.apache.kafka.common"/> |
| <allow pkg="org.apache.kafka.test"/> |
| <allow pkg="org.apache.kafka.clients"/> |
| <allow pkg="org.apache.kafka.clients.producer" exact-match="true"/> |
| <allow pkg="org.apache.kafka.clients.consumer" exact-match="true"/> |
| |
| <allow pkg="org.apache.kafka.streams"/> |
| |
| <subpackage name="examples"> |
| <allow pkg="com.fasterxml.jackson.databind" /> |
| <allow pkg="org.apache.kafka.connect.json" /> |
| </subpackage> |
| |
| <subpackage name="integration"> |
| <allow pkg="kafka.admin" /> |
| <allow pkg="kafka.api" /> |
| <allow pkg="kafka.server" /> |
| <allow pkg="kafka.tools" /> |
| <allow pkg="kafka.utils" /> |
| <allow pkg="kafka.zk" /> |
| <allow pkg="kafka.log" /> |
| <allow pkg="scala" /> |
| <allow pkg="scala.collection" /> |
| <allow pkg="org.I0Itec.zkclient" /> |
| </subpackage> |
| |
| <subpackage name="state"> |
| <allow pkg="org.rocksdb" /> |
| </subpackage> |
| |
| <subpackage name="processor"> |
| <subpackage name="internals"> |
| <allow pkg="org.I0Itec.zkclient" /> |
| <allow pkg="com.fasterxml.jackson" /> |
| <allow pkg="org.apache.zookeeper" /> |
| </subpackage> |
| </subpackage> |
| </subpackage> |
| |
| <subpackage name="log4jappender"> |
| <allow pkg="org.apache.log4j" /> |
| <allow pkg="org.apache.kafka.clients" /> |
| <allow pkg="org.apache.kafka.common" /> |
| <allow pkg="org.apache.kafka.test" /> |
| </subpackage> |
| |
| <subpackage name="test"> |
| <allow pkg="org.apache.kafka" /> |
| <allow pkg="org.bouncycastle" /> |
| <allow pkg="javax.xml.bind" /> |
| </subpackage> |
| |
| <subpackage name="connect"> |
| <allow pkg="org.apache.kafka.common" /> |
| <allow pkg="org.apache.kafka.connect.data" /> |
| <allow pkg="org.apache.kafka.connect.errors" /> |
| <allow pkg="org.apache.kafka.clients" /> |
| <allow pkg="org.apache.kafka.test"/> |
| |
| <subpackage name="source"> |
| <allow pkg="org.apache.kafka.connect.connector" /> |
| <allow pkg="org.apache.kafka.connect.storage" /> |
| </subpackage> |
| |
| <subpackage name="sink"> |
| <allow pkg="org.apache.kafka.clients.consumer" /> |
| <allow pkg="org.apache.kafka.connect.connector" /> |
| <allow pkg="org.apache.kafka.connect.storage" /> |
| </subpackage> |
| |
| <subpackage name="runtime"> |
| <allow pkg="org.apache.kafka.connect" /> |
| <allow pkg="org.reflections"/> |
| <allow pkg="org.reflections.util"/> |
| |
| <subpackage name="rest"> |
| <allow pkg="org.eclipse.jetty" /> |
| <allow pkg="javax.ws.rs" /> |
| <allow pkg="javax.servlet" /> |
| <allow pkg="org.glassfish.jersey" /> |
| <allow pkg="com.fasterxml.jackson" /> |
| </subpackage> |
| </subpackage> |
| |
| <subpackage name="cli"> |
| <allow pkg="org.apache.kafka.connect.runtime" /> |
| <allow pkg="org.apache.kafka.connect.storage" /> |
| <allow pkg="org.apache.kafka.connect.util" /> |
| <allow pkg="org.apache.kafka.common" /> |
| </subpackage> |
| |
| <subpackage name="storage"> |
| <allow pkg="org.apache.kafka.connect" /> |
| <allow pkg="org.apache.kafka.common.serialization" /> |
| </subpackage> |
| |
| <subpackage name="util"> |
| <allow pkg="org.apache.kafka.connect" /> |
| <allow pkg="org.reflections.vfs" /> |
| <!-- for annotations to avoid code duplication --> |
| <allow pkg="com.fasterxml.jackson.annotation" /> |
| </subpackage> |
| |
| <subpackage name="json"> |
| <allow pkg="com.fasterxml.jackson" /> |
| <allow pkg="org.apache.kafka.common.serialization" /> |
| <allow pkg="org.apache.kafka.common.errors" /> |
| <allow pkg="org.apache.kafka.connect.storage" /> |
| </subpackage> |
| |
| <subpackage name="file"> |
| <allow pkg="org.apache.kafka.connect" /> |
| <allow pkg="org.apache.kafka.clients.consumer" /> |
| <!-- for tests --> |
| <allow pkg="org.easymock" /> |
| <allow pkg="org.powermock" /> |
| </subpackage> |
| |
| <subpackage name="tools"> |
| <allow pkg="org.apache.kafka.connect" /> |
| <allow pkg="org.apache.kafka.tools" /> |
| <allow pkg="com.fasterxml.jackson" /> |
| </subpackage> |
| |
| <subpackage name="transforms"> |
| <allow class="org.apache.kafka.connect.connector.ConnectRecord" /> |
| <allow class="org.apache.kafka.connect.source.SourceRecord" /> |
| <allow class="org.apache.kafka.connect.sink.SinkRecord" /> |
| <allow pkg="org.apache.kafka.connect.transforms.util" /> |
| </subpackage> |
| </subpackage> |
| |
| </import-control> |