You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Lars Francke (Created) (JIRA)" <ji...@apache.org> on 2012/01/27 18:10:10 UTC

[jira] [Created] (AVRO-1011) Improve POM structure

Improve POM structure
---------------------

                 Key: AVRO-1011
                 URL: https://issues.apache.org/jira/browse/AVRO-1011
             Project: Avro
          Issue Type: Improvement
          Components: java
    Affects Versions: 1.6.1
            Reporter: Lars Francke
            Assignee: Lars Francke
            Priority: Minor


I've gone through all the POM files and reworked them a bit:

* Remove all tabs with spaces, remove whitespace from line ends
* Reformat XML
* All POM files are using a consistent order of elements
* Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
* Include missing Jackson (and others) dependencies in the modules
* Changed property names from foo-version to foo.version to be more consistent
* Removed jopt-simple dependency from mapred package by removing unused imports from a test
* Removed duplicate maven-enforcer-plugin definition
* Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (AVRO-1011) Improve POM structure

Posted by "Scott Carey (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13202582#comment-13202582 ] 

Scott Carey commented on AVRO-1011:
-----------------------------------

I tend to place all of my dependency literals in one place in the parent project for two reasons:
* It is easier to locate the versions when they need to change and review in bulk.
* If only one child uses a dependency, it is often temporary.  Sibling projects have a habit of spawning or adding dependencies from other siblings leading to mismatches over time (e.g. how we got different versions in the archetype branch)

The unused imports should be changed, I thought it was an unrelated change and therefore for a different ticket.  I see it is in the description, I missed that.

{quote}
There's one thing I didn't change in this patch because I didn't have the time to think it through fully. The dependencies (SLF4J + JUnit) declared in lang/java/pom.xml have a comment saying that children can just exclude them. 
{quote}

You are right, the doc is wrong.  We could move this to dependencyManagement and have all children declare, but I do not forsee any child that does not have these two dependencies.  There may be a case (such as tools) that doesn't directly use slf4j, but depends on other components that do so there is an implicity dependency anyway.


This brings up another discussion:

Why re-declare dependencies in downstream modules?  For example, you added explicit dependencies on jackson-core-asl and jackson-mapper-asl to several projects in what is IMO an unnecessary duplication of the implicit dependency from the avro module.  In addition, jackson-mapper-asl depends on jackson-core-asl, so it is redundant to list jackson-core-asl.  I have always seen this as a violation of the DRY principle (it is listed in 'avro', 'avro-mapred' depends on 'avro', therefore already depends on it), but it does seem to be common maven practice to list all jars that are referenced directly and not depend on implicit dependencies.  I figure the compile and test process ensures correctness.

What are the arguments for this approach?  I can go either way, the duplication factor is not that high in Avro and is mostly related to Jackson and how we expose it in the Avro Schema API rather than hide it.



                
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch, AVRO-1011.2.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (AVRO-1011) Improve POM structure

Posted by "Scott Carey (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Scott Carey updated AVRO-1011:
------------------------------

       Resolution: Fixed
    Fix Version/s: 1.6.2
           Status: Resolved  (was: Patch Available)

Committed @ revision 1241561
                
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>             Fix For: 1.6.2
>
>         Attachments: AVRO-1011.1.patch, AVRO-1011.2.patch, AVRO-1011.3.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (AVRO-1011) Improve POM structure

Posted by "Scott Carey (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Scott Carey updated AVRO-1011:
------------------------------

    Attachment: AVRO-1011.2.patch

Attached is an updated patch that has the following differences from the prior one:

* It consolidates non-archetype related version properties to lang/java/pom.xml
* It does not include import-order changes to java files.

I plan to commit this soon unless there are objections.
                
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch, AVRO-1011.2.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (AVRO-1011) Improve POM structure

Posted by "Lars Francke (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13202607#comment-13202607 ] 

Lars Francke commented on AVRO-1011:
------------------------------------

{quote}I will attach a patch that adds back in the removal of unused jopt-simple imports (but does not re-order imports). I will commit this soon if there are no objections. We have a consensus above and any expansion of scope can go into another ticket, or be addressed in AVRO-1012 and AVRO-995, I believe this is a step in the right direction and the remaining discussion is minor details.{quote}

+1 Thanks!
                
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch, AVRO-1011.2.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (AVRO-1011) Improve POM structure

Posted by "Scott Carey (Issue Comment Edited) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13202582#comment-13202582 ] 

Scott Carey edited comment on AVRO-1011 at 2/7/12 6:13 PM:
-----------------------------------------------------------

I tend to place all of my dependency literals in one place in the parent project for two reasons:
* It is easier to locate the versions when they need to change and review in bulk.
* If only one child uses a dependency, it is often temporary.  Sibling projects have a habit of spawning or adding dependencies from other siblings leading to mismatches over time (e.g. how we got different versions in the archetype modules)

The unused imports should be changed, I thought it was an unrelated change and therefore for a different ticket.  I see it is in the description, I missed that.

{quote}
There's one thing I didn't change in this patch because I didn't have the time to think it through fully. The dependencies (SLF4J + JUnit) declared in lang/java/pom.xml have a comment saying that children can just exclude them. 
{quote}

You are right, the doc is wrong.  We could move this to dependencyManagement and have all children declare, but I do not foresee any child that does not have these two dependencies.  There may be a case (such as tools) that doesn't directly use slf4j, but depends on other components that do so there is an implicit dependency anyway.


This brings up another discussion:

Why re-declare dependencies in downstream modules?  For example, you added explicit dependencies on jackson-core-asl and jackson-mapper-asl to several projects in what is IMO an unnecessary duplication of the implicit dependency from the avro module.  In addition, jackson-mapper-asl depends on jackson-core-asl, so it is redundant to list jackson-core-asl.  I have always seen this as a violation of the DRY principle (it is listed in 'avro', 'avro-mapred' depends on 'avro', therefore already depends on it), but it does seem to be common maven practice to list all jars that are referenced directly and not depend on implicit dependencies.  I figure the compile and test process ensures correctness.

What are the arguments for this approach?  I can go either way, the duplication factor is not that high in Avro and is mostly related to Jackson and how we expose it in the Avro Schema API rather than hide it.



                
      was (Author: scott_carey):
    I tend to place all of my dependency literals in one place in the parent project for two reasons:
* It is easier to locate the versions when they need to change and review in bulk.
* If only one child uses a dependency, it is often temporary.  Sibling projects have a habit of spawning or adding dependencies from other siblings leading to mismatches over time (e.g. how we got different versions in the archetype branch)

The unused imports should be changed, I thought it was an unrelated change and therefore for a different ticket.  I see it is in the description, I missed that.

{quote}
There's one thing I didn't change in this patch because I didn't have the time to think it through fully. The dependencies (SLF4J + JUnit) declared in lang/java/pom.xml have a comment saying that children can just exclude them. 
{quote}

You are right, the doc is wrong.  We could move this to dependencyManagement and have all children declare, but I do not forsee any child that does not have these two dependencies.  There may be a case (such as tools) that doesn't directly use slf4j, but depends on other components that do so there is an implicity dependency anyway.


This brings up another discussion:

Why re-declare dependencies in downstream modules?  For example, you added explicit dependencies on jackson-core-asl and jackson-mapper-asl to several projects in what is IMO an unnecessary duplication of the implicit dependency from the avro module.  In addition, jackson-mapper-asl depends on jackson-core-asl, so it is redundant to list jackson-core-asl.  I have always seen this as a violation of the DRY principle (it is listed in 'avro', 'avro-mapred' depends on 'avro', therefore already depends on it), but it does seem to be common maven practice to list all jars that are referenced directly and not depend on implicit dependencies.  I figure the compile and test process ensures correctness.

What are the arguments for this approach?  I can go either way, the duplication factor is not that high in Avro and is mostly related to Jackson and how we expose it in the Avro Schema API rather than hide it.



                  
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch, AVRO-1011.2.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (AVRO-1011) Improve POM structure

Posted by "Lars Francke (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13202604#comment-13202604 ] 

Lars Francke commented on AVRO-1011:
------------------------------------

bq. I tend to place all of my dependency literals in one place in the parent project for two reasons

I do that too for all dependencies that are shared but I personally find it easier to have them as close to their actual usage as possible so if they are only used in one submodule then I keep them there. That is very much a matter of taste and past experience I think and you're definitely the Avro Maven master so I don't object to any change that relates to this. I'm just used to do it differently I guess.

{quote}You are right, the doc is wrong. We could move this to dependencyManagement and have all children declare, but I do not foresee any child that does not have these two dependencies. There may be a case (such as tools) that doesn't directly use slf4j, but depends on other components that do so there is an implicit dependency anyway.{quote}

* SLF4J API is not used by: avro-maven-plugin, avro-tools, avro-protobuf
* SLF4J-Simple shouldn't be used for anything that might be used as a library anywhere else like avro-mapred. We're forcing an SLF4J implementation on users (I know it's declared optional here) for no reason, the actual logging implementation should always be up to the end-user so avro-tools and avro-maven-plugin should probably be the only ones that have one? I'm not sure how all projects are used actually so I might be wrong. And if it stays in it is definitely the wrong scope, should be runtime instead of compile.

bq. Why re-declare dependencies in downstream modules?

That's the result of a mvn dependency:analyze and a Tattletale run.

Example from avro-protobuf:
{code}
[WARNING] Used undeclared dependencies found:
[WARNING]    org.codehaus.jackson:jackson-mapper-asl:jar:1.8.6:compile
[WARNING]    org.codehaus.jackson:jackson-core-asl:jar:1.8.6:compile
{code}

All those project are using classes from those specific JARs directly. avro-protobuf for example has this:
{code}
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonNode;
{code}
and they come from {{jackson-core}}. Thus we need to declare a dependency on it. If {{jackson-mapper}} for any reason removed its dependency on {{jackson-core}} later then the Avro build would fail even though we just upgraded. To put it differently: That {{jackson-mapper}} depends on {{jackson-core}} is an implementation detail of Jackson and can not be relied upon.

That'd at least be my reasoning :) I've been bitten by this more than once and I also find it nicer for documentation reasons for third party users.

About your concrete example: {{avro}} itself is using all kinds of Jackson classes itself so even though it gets the dependency through {{avro-mapred}} it still depends on them itself.
                
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch, AVRO-1011.2.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (AVRO-1011) Improve POM structure

Posted by "Lars Francke (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13202138#comment-13202138 ] 

Lars Francke commented on AVRO-1011:
------------------------------------

Thanks for reviewing.

* I always manage my dependencies as close as possible to where they are actually used that's why I left those that are not shared in leaf projects but that's a matter of taste and I'm good with your approach too
* The imports I changed were _all_ unused in that test and I removed them because they were the only mention of jopt in the mapreduce project. With this code change we can get rid of the jopt-simple dependency in that project

There's one thing I didn't change in this patch because I didn't have the time to think it through fully. The dependencies (SLF4J + JUnit) declared in lang/java/pom.xml have a comment saying that children can just exclude them. That's not true as far as I know. I don't think there's an easy way to exclude dependencies inherited from a parent. Optional dependencies are a clutch and I think those should be moved to the subprojects where they are actually used (perhaps with the exception of junit because it shouldn't do any harm).
                
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch, AVRO-1011.2.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (AVRO-1011) Improve POM structure

Posted by "Scott Carey (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13201934#comment-13201934 ] 

Scott Carey commented on AVRO-1011:
-----------------------------------

Overall this looks good.  Some things that are a minor concern are addressed in AVRO-1012.  

This patch also places many version properties in leaf projects, I would rather have these in a shared parent project so that there is one place to go to configure dependency versions along side the dependency management section.

I have a slightly modified patch that moves dependency properties not related to the archetype into lang/java/pom.xml that I will submit shortly.

                
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (AVRO-1011) Improve POM structure

Posted by "Scott Carey (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Scott Carey updated AVRO-1011:
------------------------------

    Attachment: AVRO-1011.3.patch

This patch adds back the import cleanup that allows a false dependency on jopt-simple in avro-mapred to be removed.
                
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch, AVRO-1011.2.patch, AVRO-1011.3.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (AVRO-1011) Improve POM structure

Posted by "Scott Carey (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13202593#comment-13202593 ] 

Scott Carey commented on AVRO-1011:
-----------------------------------

I will attach a patch that adds back in the removal of unused jopt-simple imports (but does not re-order imports).  I will commit this soon if there are no objections.  We have a consensus above and any expansion of scope can go into another ticket, or be addressed in AVRO-1012 and AVRO-995, I believe this is a step in the right direction and the remaining discussion is minor details.
                
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch, AVRO-1011.2.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (AVRO-1011) Improve POM structure

Posted by "Lars Francke (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Francke updated AVRO-1011:
-------------------------------

    Attachment: AVRO-1011.1.patch
    
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (AVRO-1011) Improve POM structure

Posted by "Lars Francke (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AVRO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Francke updated AVRO-1011:
-------------------------------

    Status: Patch Available  (was: Open)
    
> Improve POM structure
> ---------------------
>
>                 Key: AVRO-1011
>                 URL: https://issues.apache.org/jira/browse/AVRO-1011
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.6.1
>            Reporter: Lars Francke
>            Assignee: Lars Francke
>            Priority: Minor
>         Attachments: AVRO-1011.1.patch
>
>
> I've gone through all the POM files and reworked them a bit:
> * Remove all tabs with spaces, remove whitespace from line ends
> * Reformat XML
> * All POM files are using a consistent order of elements
> * Remove extra autogenerated pom.xml in lang/java/archetypes/avro-service-archetype/src/main/resources/archetype-resources/
> * Include missing Jackson (and others) dependencies in the modules
> * Changed property names from foo-version to foo.version to be more consistent
> * Removed jopt-simple dependency from mapred package by removing unused imports from a test
> * Removed duplicate maven-enforcer-plugin definition
> * Remove unused repositories (apache.snapshots not needed and coming from parent, jboss stuff is in maven central)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira