You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/04/27 20:38:04 UTC

[jira] [Commented] (BEAM-2105) Audit that user-facing stuff is in main jars, not the test suite jars

    [ https://issues.apache.org/jira/browse/BEAM-2105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15987609#comment-15987609 ] 

ASF GitHub Bot commented on BEAM-2105:
--------------------------------------

GitHub user kennknowles opened a pull request:

    https://github.com/apache/beam/pull/2745

    [BEAM-2105] Move TestCredential out of test suite artifact

    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
     - [ ] Make sure the PR title is formatted like:
       `[BEAM-<Jira issue #>] Description of pull request`
     - [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
           Travis-CI on your fork and ensure the whole test matrix passes).
     - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
           number, if there is one.
     - [ ] If this contribution is large, please file an Apache
           [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
    
    ---
    
    The test jar is for packaging the test suite of `gcp-core`, but `TestCredential` is
    not part of the test suite. It is simply a class that `gcp-core` offers to other
    libraries and belongs in the main artifact. Otherwise any users will have to
    depend on the test suite in order to test their code, which doesn't make sense.
    
    @lukecwik @dhalperi @davorbonaci you probably each might have some opinions on this.
    
    The test suite for XYZ is contained in the `test-jar` artifact aka `src/test` etc etc. Putting other things in here and asking users to take a dependency on the whole test suite doesn't make sense.
    
    Maven's scopes prevent this from causing dependency hell, by simply possibly not pulling in needed transitive dependencies.
    
    "user's tests"
        --(test scope) --> "TestCredential in test suite artifact"
        --(test scope)--> "any deps not also main deps"
    
    If the last line is nonempty, the user will be broken. It only works by luck (yes, it usually will) because all of these deps will also be present as `compile` dependencies. So we've just forced the user to add cruft to their pom and pull in bundles of stuff they don't need.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/kennknowles/beam TestCredential

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/beam/pull/2745.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2745
    
----

----


> Audit that user-facing stuff is in main jars, not the test suite jars
> ---------------------------------------------------------------------
>
>                 Key: BEAM-2105
>                 URL: https://issues.apache.org/jira/browse/BEAM-2105
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-core
>            Reporter: Kenneth Knowles
>            Assignee: Davor Bonaci
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)