@@ -29,6 +29,11 @@ apply plugin: 'application'
2929// we need to set mainClassName before applying shadow plugin
3030mainClassName = " org.apache.beam.runners.flink.FlinkJobServerDriver"
3131
32+ // Resolve the Flink project name (and version) the job-server is based on
33+ def flinkRunnerProject = " ${ project.path.replace(":job-server", "")} "
34+ evaluationDependsOn(flinkRunnerProject)
35+ boolean isFlink2 = project(flinkRunnerProject). ext. flink_major. startsWith(' 2' )
36+
3237applyJavaNature(
3338 automaticModuleName : ' org.apache.beam.runners.flink.jobserver' ,
3439 archivesBaseName : project. hasProperty(' archives_base_name' ) ? archives_base_name : archivesBaseName,
@@ -37,11 +42,9 @@ applyJavaNature(
3742 shadowClosure : {
3843 append " reference.conf"
3944 },
45+ requireJavaVersion : isFlink2 ? JavaVersion . VERSION_11 : null
4046)
4147
42- // Resolve the Flink project name (and version) the job-server is based on
43- def flinkRunnerProject = " ${ project.path.replace(":job-server", "")} "
44-
4548description = project(flinkRunnerProject). description + " :: Job Server"
4649
4750/*
@@ -126,18 +129,22 @@ runShadow {
126129 jvmArgs + = [" -Dorg.slf4j.simpleLogger.defaultLogLevel=${ project.property('logLevel')} " ]
127130}
128131
129- def portableValidatesRunnerTask (String name , boolean streaming , boolean checkpointing , boolean docker ) {
132+ def portableValidatesRunnerTask (String name , String mode , boolean checkpointing , boolean docker ) {
130133 def pipelineOptions = [
131134 // Limit resource consumption via parallelism
132135 " --parallelism=2" ,
133136 ]
137+ boolean streaming = (mode == " streaming" )
134138 if (streaming) {
135139 pipelineOptions + = " --streaming"
136140 if (checkpointing) {
137141 pipelineOptions + = " --checkpointingInterval=3000"
138142 pipelineOptions + = " --shutdownSourcesAfterIdleMs=60000"
139143 }
140144 }
145+ if (mode == " batch-datastream" ) {
146+ pipelineOptions + = " --useDataStreamForBatch=true"
147+ }
141148 createPortableValidatesRunnerTask(
142149 name : " validatesPortableRunner${ name} " ,
143150 jobServerDriver : " org.apache.beam.runners.flink.FlinkJobServerDriver" ,
@@ -214,14 +221,18 @@ def portableValidatesRunnerTask(String name, boolean streaming, boolean checkpoi
214221 )
215222}
216223
217- project. ext. validatesPortableRunnerDocker = portableValidatesRunnerTask(" Docker" , false , false , true )
218- project. ext. validatesPortableRunnerBatch = portableValidatesRunnerTask(" Batch" , false , false , false )
219- project. ext. validatesPortableRunnerStreaming = portableValidatesRunnerTask(" Streaming" , true , false , false )
220- project. ext. validatesPortableRunnerStreamingCheckpoint = portableValidatesRunnerTask(" StreamingCheckpointing" , true , true , false )
224+ project. ext. validatesPortableRunnerDocker = portableValidatesRunnerTask(" Docker" , " batch" , false , true )
225+ project. ext. validatesPortableRunnerBatch = portableValidatesRunnerTask(" Batch" , " batch" , false , false )
226+ project. ext. validatesPortableRunnerBatchDataStream = portableValidatesRunnerTask(" Batch" , " batch-datastream" , false , false )
227+ project. ext. validatesPortableRunnerStreaming = portableValidatesRunnerTask(" Streaming" , " streaming" , false , false )
228+ project. ext. validatesPortableRunnerStreamingCheckpoint = portableValidatesRunnerTask(" StreamingCheckpointing" , " streaming" , true , false )
221229
222230tasks. register(" validatesPortableRunner" ) {
223231 dependsOn validatesPortableRunnerDocker
224- dependsOn validatesPortableRunnerBatch
232+ if (! isFlink2) {
233+ dependsOn validatesPortableRunnerBatch
234+ }
235+ dependsOn validatesPortableRunnerBatchDataStream
225236 dependsOn validatesPortableRunnerStreaming
226237 dependsOn validatesPortableRunnerStreamingCheckpoint
227238}
0 commit comments