diff --git a/build.gradle b/build.gradle index 36ced29d0bd61..304455e821721 100644 --- a/build.gradle +++ b/build.gradle @@ -1078,80 +1078,65 @@ project(':core') { duplicatesStrategy 'exclude' } + tasks.withType(JavaExec) { task -> + if (task.name.startsWith('gen') && task.name.endsWith('Docs')) { + task.classpath = sourceSets.main.runtimeClasspath + configurations.releaseOnly + if(!generatedDocsDir.exists()) { generatedDocsDir.mkdirs() } + } + } + task genProtocolErrorDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.common.protocol.Errors' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "protocol_errors.html").newOutputStream() } task genProtocolTypesDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.common.protocol.types.Type' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "protocol_types.html").newOutputStream() } task genProtocolApiKeyDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.common.protocol.ApiKeys' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "protocol_api_keys.html").newOutputStream() } task genProtocolMessageDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.common.protocol.Protocol' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "protocol_messages.html").newOutputStream() } task genAdminClientConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.clients.admin.AdminClientConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "admin_client_config.html").newOutputStream() } task genProducerConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.clients.producer.ProducerConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "producer_config.html").newOutputStream() } task genConsumerConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.clients.consumer.ConsumerConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "consumer_config.html").newOutputStream() } task genKafkaConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'kafka.server.KafkaConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "kafka_config.html").newOutputStream() } task genTopicConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.storage.internals.log.LogConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "topic_config.html").newOutputStream() } task genConsumerMetricsDocs(type: JavaExec) { - classpath = sourceSets.test.runtimeClasspath mainClass = 'org.apache.kafka.clients.consumer.internals.ConsumerMetrics' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "consumer_metrics.html").newOutputStream() } task genProducerMetricsDocs(type: JavaExec) { - classpath = sourceSets.test.runtimeClasspath mainClass = 'org.apache.kafka.clients.producer.internals.ProducerMetrics' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "producer_metrics.html").newOutputStream() } @@ -2605,9 +2590,12 @@ project(':streams') { configurations { generator + releaseOnly } dependencies { + releaseOnly log4jReleaseLibs + api project(path: ':clients', configuration: 'shadow') // `org.rocksdb.Options` is part of Kafka Streams public api via `RocksDBConfigSetter` api libs.rocksDBJni @@ -2711,7 +2699,7 @@ project(':streams') { } task genStreamsConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath + classpath = sourceSets.main.runtimeClasspath + configurations.releaseOnly mainClass = 'org.apache.kafka.streams.StreamsConfig' if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "streams_config.html").newOutputStream() @@ -3462,6 +3450,7 @@ project(':connect:json') { project(':connect:runtime') { configurations { swagger + releaseOnly } base { @@ -3469,6 +3458,7 @@ project(':connect:runtime') { } dependencies { + releaseOnly log4jReleaseLibs // connect-runtime is used in tests, use `api` for modules below for backwards compatibility even though // applications should generally not depend on `connect-runtime` api project(':connect:api') @@ -3555,45 +3545,40 @@ project(':connect:runtime') { dependsOn copyDependantLibs } + tasks.withType(JavaExec) { task -> + if (task.name.startsWith('gen') && task.name.endsWith('Docs')) { + task.classpath = sourceSets.main.runtimeClasspath + configurations.releaseOnly + if(!generatedDocsDir.exists()) { generatedDocsDir.mkdirs() } + } + } + task genConnectConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.runtime.distributed.DistributedConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "connect_config.html").newOutputStream() } task genSinkConnectorConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.runtime.SinkConnectorConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "sink_connector_config.html").newOutputStream() } task genSourceConnectorConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.runtime.SourceConnectorConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "source_connector_config.html").newOutputStream() } task genConnectTransformationDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.tools.TransformationDoc' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "connect_transforms.html").newOutputStream() } task genConnectPredicateDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.tools.PredicateDoc' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "connect_predicates.html").newOutputStream() } task genConnectMetricsDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.runtime.ConnectMetrics' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "connect_metrics.html").newOutputStream() } @@ -3605,7 +3590,7 @@ project(':connect:runtime') { } task genConnectOpenAPIDocs(type: io.swagger.v3.plugins.gradle.tasks.ResolveTask, dependsOn: setVersionInOpenAPISpec) { - classpath = sourceSets.main.runtimeClasspath + classpath = sourceSets.main.runtimeClasspath + configurations.releaseOnly buildClasspath = classpath + configurations.swagger outputFileName = 'connect_rest' @@ -3706,7 +3691,13 @@ project(':connect:mirror') { archivesName = "connect-mirror" } + configurations { + releaseOnly + } + dependencies { + releaseOnly log4jReleaseLibs + implementation project(':connect:api') implementation project(':connect:runtime') implementation project(':connect:mirror-client') @@ -3764,31 +3755,30 @@ project(':connect:mirror') { duplicatesStrategy 'exclude' } + tasks.withType(JavaExec) { task -> + if (task.name.startsWith('gen') && task.name.endsWith('Docs')) { + task.classpath = sourceSets.main.runtimeClasspath + configurations.releaseOnly + if(!generatedDocsDir.exists()) { generatedDocsDir.mkdirs() } + } + } + task genMirrorConnectorConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.mirror.MirrorConnectorConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "mirror_connector_config.html").newOutputStream() } task genMirrorSourceConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.mirror.MirrorSourceConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "mirror_source_config.html").newOutputStream() } task genMirrorCheckpointConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.mirror.MirrorCheckpointConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "mirror_checkpoint_config.html").newOutputStream() } task genMirrorHeartbeatConfigDocs(type: JavaExec) { - classpath = sourceSets.main.runtimeClasspath mainClass = 'org.apache.kafka.connect.mirror.MirrorHeartbeatConfig' - if( !generatedDocsDir.exists() ) { generatedDocsDir.mkdirs() } standardOutput = new File(generatedDocsDir, "mirror_heartbeat_config.html").newOutputStream() }