You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Kenneth Knowles (JIRA)" <ji...@apache.org> on 2018/04/12 17:00:00 UTC

[jira] [Commented] (BEAM-4057) Ensure generated pom don't break consumers

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

Kenneth Knowles commented on BEAM-4057:
---------------------------------------

I'm a -1 on 4 and 5. Since it is machine readable it doesn't matter about the hierarchy. And when I go and browse a pom online and find it has a parent pointer that just creates extra work for someone trying to figure out what is going on.

> Ensure generated pom don't break consumers
> ------------------------------------------
>
>                 Key: BEAM-4057
>                 URL: https://issues.apache.org/jira/browse/BEAM-4057
>             Project: Beam
>          Issue Type: Sub-task
>          Components: build-system
>            Reporter: Romain Manni-Bucau
>            Assignee: Luke Cwik
>            Priority: Major
>
> Out of my head here are the requirements:
> 1. dependencies are all here (all scopes and well scoped: this means that provided or test dependencies are not in compile scope for instance)
> 2. META-INF should contain the pom.xml and pom.properties as maven generates them (it is consumes by tools and libraries to grab the dependencies or scan some classpath/lib folder)
> 3. ensure the compiler plugin at least is defined with the java version+compiler flags (a usage is to check if -parameters is activated for instance)
> 4. (nice to have) dont put all the boilerplate in all poms (license, etc) but keep it in the parent pom as it was
> 5. (if possible) respect the hierarchy (parents) - this is used sometimes as a shortcut for dependencies analyzis cause it is faster than analyzing the dependencies, probably not the best practise ever but it is efficient in general
> 6. ensure meta used by mainstream tools like mvnrepository are here (description etc, should be a passthrough from gradle)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)