| /* |
| * 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. |
| */ |
| |
| plugins { |
| id 'org.apache.beam.module' |
| id 'distribution' |
| } |
| |
| applyJavaNature(exportJavadoc: false, publish: false) |
| |
| // embedded-kafka 2.4.1.1 requires kafka-clients 2.4.1. BeamModulePlugin forces |
| // kafka-clients to the Beam-wide kafka_version (3.9.2+ after #39284), which |
| // prevents the emulator from binding and blocks every Playground RunCode call. |
| // TODO: Migrate embedded-kafka to 3.9.2. |
| // https://mvnrepository.com/artifact/io.github.embeddedkafka/embedded-kafka_2.12/3.9.2 |
| configurations.all { |
| resolutionStrategy { |
| force 'org.apache.kafka:kafka-clients:2.4.1' |
| } |
| } |
| |
| distZip { |
| archiveFileName = "${archiveBaseName.get()}.zip" |
| } |
| |
| distTar { |
| archiveFileName = "${archiveBaseName.get()}.tar" |
| } |
| |
| dependencies { |
| implementation 'io.github.embeddedkafka:embedded-kafka_2.11:2.4.1.1' |
| implementation 'org.scala-lang:scala-library:2.11.12' |
| } |
| |
| jar { |
| manifest { |
| attributes 'Main-Class': 'org.apache.beam.playground.KafkaEmulator' |
| attributes 'Class-Path': configurations.runtimeClasspath.collect { it.getName() }.join(' ') |
| } |
| } |
| |
| distributions { |
| main { |
| contents { |
| from jar |
| from(project.configurations.runtimeClasspath) |
| } |
| } |
| } |