@@ -88,10 +88,16 @@ def copyResourcesOverrides = tasks.register('copyResourcesOverrides', Copy) {
8888 it. duplicatesStrategy DuplicatesStrategy . INCLUDE
8989}
9090
91- def copyTestSourceOverrides = tasks. register(' copyTestSourceOverrides' , Copy ) {
92- it. from test_source_overrides
93- it. into " ${ sourceOverridesBase} /test/java"
94- it. duplicatesStrategy DuplicatesStrategy . INCLUDE
91+ def copyTestSourceOverrides = tasks. register(' copyTestSourceOverrides' , Copy ) { copyTask ->
92+ copyTask. from test_source_overrides
93+ copyTask. into " ${ sourceOverridesBase} /test/java"
94+ copyTask. duplicatesStrategy DuplicatesStrategy . INCLUDE
95+
96+ if (project. ext. has(' excluded_files' ) && project. ext. excluded_files. containsKey(' test' )) {
97+ project. ext. excluded_files. test. each { file ->
98+ copyTask. exclude " **/${ file} "
99+ }
100+ }
95101}
96102
97103def copyTestResourcesOverrides = tasks. register(' copyTestResourcesOverrides' , Copy ) {
@@ -100,45 +106,69 @@ def copyTestResourcesOverrides = tasks.register('copyTestResourcesOverrides', Co
100106 it. duplicatesStrategy DuplicatesStrategy . INCLUDE
101107}
102108
103- // add dependency to gradle Java plugin defined tasks
104- compileJava. dependsOn copySourceOverrides
105- processResources. dependsOn copyResourcesOverrides
106- compileTestJava. dependsOn copyTestSourceOverrides
107- processTestResources. dependsOn copyTestResourcesOverrides
108-
109- // add dependency BeamModulePlugin defined custom tasks
110- // they are defined only when certain flags are provided (e.g. -Prelease; -Ppublishing, etc)
111- def sourcesJar = project. tasks. findByName(' sourcesJar' )
112- if (sourcesJar != null ) {
113- sourcesJar. dependsOn copySourceOverrides
114- sourcesJar. dependsOn copyResourcesOverrides
115- }
116- def testSourcesJar = project. tasks. findByName(' testSourcesJar' )
117- if (testSourcesJar != null ) {
118- testSourcesJar. dependsOn copyTestSourceOverrides
119- testSourcesJar. dependsOn copyTestResourcesOverrides
120- }
109+ def use_override = (flink_major != all_versions. first())
110+ def sourceBase = " ${ project.projectDir} /../src"
121111
122- /*
112+ if (use_override) {
113+ // Copy original+version specific sources to a tmp dir and use it as sourceSet
114+ // add dependency to gradle Java plugin defined tasks
115+ compileJava. dependsOn copySourceOverrides
116+ processResources. dependsOn copyResourcesOverrides
117+ compileTestJava. dependsOn copyTestSourceOverrides
118+ processTestResources. dependsOn copyTestResourcesOverrides
119+
120+ // add dependency BeamModulePlugin defined custom tasks
121+ // they are defined only when certain flags are provided (e.g. -Prelease; -Ppublishing, etc)
122+ def sourcesJar = project. tasks. findByName(' sourcesJar' )
123+ if (sourcesJar != null ) {
124+ sourcesJar. dependsOn copySourceOverrides
125+ sourcesJar. dependsOn copyResourcesOverrides
126+ }
127+ def testSourcesJar = project. tasks. findByName(' testSourcesJar' )
128+ if (testSourcesJar != null ) {
129+ testSourcesJar. dependsOn copyTestSourceOverrides
130+ testSourcesJar. dependsOn copyTestResourcesOverrides
131+ }
132+ /*
123133 * We have to explicitly set all directories here to make sure each
124134 * version of Flink has the correct overrides set.
125135 */
126- def sourceBase = " ${ project.projectDir} /../src"
127- sourceSets {
128- main {
129- java {
130- srcDirs = [" ${ sourceOverridesBase} /main/java" ]
136+ sourceSets {
137+ main {
138+ java {
139+ srcDirs = [" ${ sourceOverridesBase} /main/java" ]
140+ }
141+ resources {
142+ srcDirs = [" ${ sourceBase} /main/resources" , " ${ sourceOverridesBase} /main/resources" ]
143+ }
131144 }
132- resources {
133- srcDirs = [" ${ sourceBase} /main/resources" , " ${ sourceOverridesBase} /main/resources" ]
145+ test {
146+ java {
147+ srcDirs = [" ${ sourceOverridesBase} /test/java" ]
148+ }
149+ resources {
150+ srcDirs = [" ${ sourceBase} /test/resources" , " ${ sourceOverridesBase} /test/resources" ]
151+ }
134152 }
135153 }
136- test {
137- java {
138- srcDirs = [" ${ sourceOverridesBase} /test/java" ]
154+ } else {
155+ // Use the original sources directly for the lowest supported Flink version.
156+ sourceSets {
157+ main {
158+ java {
159+ srcDirs = [" ${ sourceBase} /main/java" ]
160+ }
161+ resources {
162+ srcDirs = [" ${ sourceBase} /main/resources" ]
163+ }
139164 }
140- resources {
141- srcDirs = [" ${ sourceBase} /test/resources" , " ${ sourceOverridesBase} /test/resources" ]
165+ test {
166+ java {
167+ srcDirs = [" ${ sourceBase} /test/java" ]
168+ }
169+ resources {
170+ srcDirs = [" ${ sourceBase} /test/resources" ]
171+ }
142172 }
143173 }
144174}
0 commit comments