[
https://issues.apache.org/jira/browse/BEAM-14323?focusedWorklogId=758324&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-758324
]
ASF GitHub Bot logged work on BEAM-14323:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 19/Apr/22 06:55
Start Date: 19/Apr/22 06:55
Worklog Time Spent: 10m
Work Description: mosche opened a new pull request, #17389:
URL: https://github.com/apache/beam/pull/17389
With the current build setup, developer experience is fairly poor when
working with the cross version build for Spark (but also similarly for Flink):
- Sources for version specific overrides are copied to a new location and
defined as Gradle sources at that location.
1) First of all, this is totally unnecessary. These sources are not shared
and should be used in place.
2) 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 in this PR are:
- 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.
------------------------
Thank you for your contribution! Follow this checklist to help us
incorporate your contribution quickly and easily:
- [ ] [**Choose
reviewer(s)**](https://beam.apache.org/contribute/#make-your-change) and
mention them in a comment (`R: @username`).
- [ ] Format the pull request title like `[BEAM-XXX] Fixes bug in
ApproximateQuantiles`, where you replace `BEAM-XXX` with the appropriate JIRA
issue, if applicable. This will automatically link the pull request to the
issue.
- [ ] Update `CHANGES.md` with noteworthy changes.
- [ ] If this contribution is large, please file an Apache [Individual
Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
See the [Contributor Guide](https://beam.apache.org/contribute) for more
tips on [how to make review process
smoother](https://beam.apache.org/contribute/#make-reviewers-job-easier).
To check the build health, please visit
[https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
GitHub Actions Tests Status (on master branch)
------------------------------------------------------------------------------------------------
[](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more
information about GitHub Actions CI.
Issue Time Tracking
-------------------
Worklog Id: (was: 758324)
Remaining Estimate: 0h
Time Spent: 10m
> 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
> Assignee: Moritz Mack
> Priority: P2
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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)