<!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" />
    <allow pkg="org.apache.kafka.common.test" />
    <allow pkg="org.apache.kafka.common.test.api" />


    <subpackage name="server">
        <allow pkg="org.apache.kafka.common" />

        <subpackage name="log">
            <allow pkg="com.fasterxml.jackson" />
            <allow pkg="kafka.api" />
            <allow pkg="kafka.utils" />
            <allow pkg="org.apache.kafka.common.test" />
            <allow pkg="org.apache.kafka.clients" />
            <allow pkg="org.apache.kafka.server.common" />
            <allow pkg="org.apache.kafka.server.config" />
            <allow pkg="org.apache.kafka.server.log" />
            <allow pkg="org.apache.kafka.server.record" />
            <allow pkg="org.apache.kafka.test" />
            <allow pkg="org.apache.kafka.storage"/>
            <subpackage name="remote">
                <allow pkg="scala.collection" />
                <subpackage name="quota">
                    <allow pkg="org.apache.kafka.server.quota" />
                </subpackage>
                <subpackage name="storage">
                    <allow pkg="com.yammer.metrics.core" />
                    <allow pkg="org.apache.kafka.server.metrics" />
                    <allow pkg="org.apache.kafka.common.test" />
                </subpackage>
            </subpackage>
        </subpackage>
    </subpackage>

    <subpackage name="storage.internals">
        <allow pkg="kafka.server"/>
        <allow pkg="kafka.log"/>
        <allow pkg="com.fasterxml.jackson" />
        <allow pkg="com.yammer.metrics.core" />
        <allow pkg="org.apache.kafka.common" />
        <allow pkg="org.apache.kafka.server"/>
        <allow pkg="org.apache.kafka.storage.internals"/>
        <allow pkg="org.apache.kafka.storage.log.metrics"/>
        <allow pkg="org.apache.kafka.test" />
        <allow pkg="com.github.benmanes.caffeine.cache" />
        <allow pkg="org.apache.kafka.coordinator.transaction"/>
    </subpackage>

    <subpackage name="storage.log">
        <allow pkg="org.apache.kafka.server" />
        <allow pkg="com.yammer.metrics" />
    </subpackage>

    <!-- START OF TIERED STORAGE INTEGRATION TEST IMPORT DEPENDENCIES -->
    <subpackage name="tiered.storage">
        <allow pkg="scala" />

        <allow pkg="org.apache.kafka.tiered.storage" />
        <allow pkg="org.apache.kafka.tiered.storage.actions" />
        <allow pkg="org.apache.kafka.tiered.storage.specs" />
        <allow pkg="org.apache.kafka.tiered.storage.utils" />

        <allow pkg="kafka.api" />
        <allow pkg="kafka.log" />
        <allow pkg="kafka.server" />
        <allow pkg="kafka.utils" />

        <allow pkg="org.apache.kafka.common.config" />
        <allow pkg="org.apache.kafka.common.header" />
        <allow pkg="org.apache.kafka.common.record" />
        <allow pkg="org.apache.kafka.common.replica" />
        <allow pkg="org.apache.kafka.common.network" />

        <allow pkg="org.apache.kafka.clients" />
        <allow pkg="org.apache.kafka.clients.admin" />
        <allow pkg="org.apache.kafka.clients.consumer" />
        <allow pkg="org.apache.kafka.clients.producer" />

        <allow pkg="org.apache.kafka.metadata" />
        <allow pkg="org.apache.kafka.storage"/>
        <allow pkg="org.apache.kafka.storage.internals.log" />

        <allow pkg="org.apache.kafka.server.log" />
        <allow pkg="org.apache.kafka.server.log.remote" />
        <allow pkg="org.apache.kafka.server.log.remote.storage" />
        <allow pkg="org.apache.kafka.server.config" />

        <allow pkg="org.apache.kafka.test" />
        <subpackage name="actions">
        </subpackage>

        <subpackage name="specs">
        </subpackage>

        <subpackage name="utils">
        </subpackage>

        <subpackage name="integration">
        </subpackage>
    </subpackage>
    <!-- END OF TIERED STORAGE INTEGRATION TEST IMPORT DEPENDENCIES -->

</import-control>
