Moritz Mack created BEAM-14323:
----------------------------------

             Summary: Improve IDE integration for Spark cross version builds
                 Key: BEAM-14323
                 URL: https://issues.apache.org/jira/browse/BEAM-14323
             Project: Beam
          Issue Type: Improvement
          Components: runner-spark
            Reporter: Moritz Mack


With the current build setup, developer experience is fairly poor when working 
with cross version builds for Spark (but also similarly for Flink):
 * Sources for version specific overrides are copied to a new location and 
references as gradle sources from there. First of all, this is totally 
unnecessary. These sources are not shared and should be used in place. But much 
more troublesome, the actual sources won't be resolved / checked by any IDE 
anymore and can't be properly worked on that way. Sadly for no reason at all ...
 * The actual shared resources on the other hand are referenced (added to 
srcDirs) in place. The IDE will randomly assign them to one Spark version 
module. Typically, for IntelliJ at least, that's the first (lower) one and not 
the one developers are actively working on.

The suggested changes is:
 * Don't copy version specific overrides
 * Only copy shared sources conditionally based on a flag. This allows 
developers to disable copying to pick a primary version they intend to work on. 
Note: This is primary a cosmetic flag to improve IDE integration and has no 
impact on builds, even if all modules disable copying.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to