You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/04/19 06:56:00 UTC

[jira] [Work logged] (BEAM-14323) Improve IDE integration for Spark cross version builds

     [ 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)
   ------------------------------------------------------------------------------------------------
   [![Build python source distribution and wheels](https://github.com/apache/beam/workflows/Build%20python%20source%20distribution%20and%20wheels/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
   [![Python tests](https://github.com/apache/beam/workflows/Python%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Java tests](https://github.com/apache/beam/workflows/Java%20Tests/badge.svg?branch=master&event=schedule)](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)