blob: 3c107e8acd190d90b74268c7f7680990dcfcdfd2 [file] [log] [blame]
/*
* 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' }
// We specifically enumerate all the projects that we depend on since
// the list is used in both defining the included set for the uber jar
// and also the set of project level dependencies.
def dependOnProjects = [":model:pipeline", ":model:fn-execution", ":sdks:java:core",
":sdks:java:fn-execution",
":sdks:java:extensions:google-cloud-platform-core",
":runners:core-java", ":runners:core-construction-java"]
applyJavaNature(
validateShadowJar: false,
testShadowJar: true,
shadowClosure: DEFAULT_SHADOW_CLOSURE <<
// Create an uber jar without repackaging for the SDK harness
// TODO: We have been releasing this in the past, consider not
// releasing it since its typically bad practice to release 'all'
// jars.
{
dependencies {
// Directly include all projects depended on
dependOnProjects.each {
include(project(path: it, configuration: "shadow"))
}
// Include all dependencies and transitive dependencies
include(dependency(".*:.*"))
}
})
description = "Apache Beam :: SDKs :: Java :: Harness"
ext.summary = "This contains the SDK Fn Harness for Beam Java"
dependencies {
dependOnProjects.each {
compile project(path: it, configuration: "shadow")
}
compile library.java.jackson_databind
shadow library.java.vendored_guava_20_0
shadowTest library.java.powermock
compile library.java.joda_time
compile library.java.slf4j_api
compile library.java.vendored_grpc_1_13_1
provided library.java.error_prone_annotations
testCompile library.java.hamcrest_core
testCompile library.java.hamcrest_library
testCompile library.java.junit
testCompile library.java.mockito_core
testCompile project(path: ":sdks:java:core", configuration: "shadowTest")
shadowTestRuntimeClasspath library.java.slf4j_jdk14
}