artifact changes in Apache HTTP Components between 4.2.1 and 4.2.4

16 views
Skip to first unread message

Neil Miller

unread,
Sep 6, 2013, 11:34:03 AM9/6/13
to ivyro...@googlegroups.com
Hi all,
Just noticed that the artifact naming convention changed in the newest
version of Apache HTTP Components, specifically the "-source" was
dropped from the name of source artifacts. Any reason for the change
besides the switch to maven to get the artifact? This is actually
breaking things for my company since we have to post process these
libraries It seems like have "x-source" and "x-javadoc" is pretty
standard across most modules, so I'd like to change it back (what with
consistency in naming being a project goal and all :) ). Any objections?

Also, I'm proposing to move back to a single javadoc,
"httpcore-all-javadoc", artifact as the javadoc artifacts would like to
cross reference, but can't when in separated like they are in Maven
(i.e. any NIO javadocs that refer to core have to link to the Apache
website). This is the way the javadoc distribution from Apache's own
site works.

Neil

4.2.1
<publications>
<artifact name="httpcore" type="jar"/>
<artifact name="httpcore-sources" type="source" ext="jar"/>
<artifact name="javadoc" type="javadoc" ext="zip"/>
<artifact name="httpcore-nio" type="jar" conf="nio"/>
<artifact name="httpcore-nio-sources" type="source" ext="jar"
conf="nio"/>
<artifact name="httpcore-ab" type="jar" conf="ab"/>
<artifact name="httpcore-ab-sources" type="source" ext="jar"
conf="ab"/>
</publications>

4.2.4
<publications>
<artifact name="httpcore" conf="core"/>
<artifact name="httpcore" conf="core" type="source" ext="zip"/>
<artifact name="httpcore" conf="core" type="javadoc" ext="zip"/>

<artifact name="httpcore-nio" conf="nio"/>
<artifact name="httpcore-nio" conf="nio" type="source" ext="zip"/>
<artifact name="httpcore-nio" conf="nio" type="javadoc" ext="zip"/>

<artifact name="httpcore-ab" conf="ab"/>
<artifact name="httpcore-ab" conf="ab" type="source" ext="zip"/>
<artifact name="httpcore-ab" conf="ab" type="javadoc" ext="zip"/>
</publications>

Compare to Hadoop and many others:
<publications>
<artifact conf="ant" name="hadoop-ant"/>
<artifact conf="core" name="hadoop-core"/>
<artifact conf="tools" name="hadoop-tools"/>

<artifact conf="ant" name="hadoop-ant-source" type="source"
ext="zip"/>
<artifact conf="core" name="hadoop-core-source" type="source"
ext="zip"/>
<artifact conf="tools" name="hadoop-tools-source" type="source"
ext="zip"/>

<artifact name="hadoop-javadoc" type="javadoc" ext="zip"/>
</publications>

Archie Cobbs

unread,
Sep 6, 2013, 1:04:15 PM9/6/13
to Ivy RoundUp Mailing List
On Fri, Sep 6, 2013 at 10:34 AM, Neil Miller <neil.g.m...@gmail.com> wrote:
 Just noticed that the artifact naming convention changed in the newest version of Apache HTTP Components, specifically the "-source" was dropped from the name of source artifacts. Any reason for the change besides the switch to maven to get the artifact? This is actually breaking things for my company since we have to post process these libraries It seems like have "x-source" and "x-javadoc" is pretty standard across most modules, so I'd like to change it back (what with consistency in naming being a project goal and all :) ). Any objections?

A more correct and reliable way for your tools to detect source artifacts is to look for the "source" artifact type.

But it's not a problem if you want to rename the artifacts in that module to include "-sources" and "-javadoc" suffixes.
 
Also, I'm proposing to move back to a single javadoc, "httpcore-all-javadoc", artifact as the javadoc artifacts would like to cross reference, but can't when in separated like they are in Maven (i.e. any NIO javadocs that refer to core have to link to the Apache website). This is the way the javadoc distribution from Apache's own site works.

Fine with me.. does it exist in Maven though? If not you will have to pull from somewhere else.

-AC

--
Archie L. Cobbs

Mark Thomas

unread,
Sep 6, 2013, 2:24:54 PM9/6/13
to ivyro...@googlegroups.com
the 4.2.4 version is the correct format for retrieving from a maven repo.  the actual JAR downloaded for sources will have the -sources in the name. the 4.2.1 version appears very odd and should not be used IMO.

Regards,

Mark Thomas
spatialguru.net@gmail.com
205.529.9013

"Commit to the Lord whatever you do,
    and your plans will succeed." - Proverbs 16:3


--
You received this message because you are subscribed to the Google Groups "ivyroundup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ivyroundup+...@googlegroups.com.
To post to this group, send email to ivyro...@googlegroups.com.
Visit this group at http://groups.google.com/group/ivyroundup.
For more options, visit https://groups.google.com/groups/opt_out.

Neil Miller

unread,
Sep 6, 2013, 3:37:06 PM9/6/13
to ivyro...@googlegroups.com
Only if you have '-[type]' in your retrieve pattern and then the jar file will also have '-jar', or are you talking about a download from Maven? In which case it should be noted that IvyRound explicit doesn't try to match Maven (or anyone else).

That said, you are right to an extent, Mark. I ran some analytics on the ivy files in RoundUp and for source artifacts the files for 4.2.1 (and most of the rest of httpcore) are the outliers. The naming convention, for those that include source artifacts, is ~10:1 in favor of the 4.2.4 style. However, if you include those that package source as just "source" or "sources" it's ~11:7:1.

For javadocs the naming convention is 13:6:3 in the other direction ("*-javadoc":"javadoc":straight name).

So, should we make the outliers consistent?  Or at least make a standard for future additions? At a minimum, cleaning up those that are just "source" or "javadoc" makes sense to me, that'll lead to lots of overwrites or a messy retrieve pattern, if you're retrieving for multiple modules.

-n

Neil Miller

unread,
Sep 6, 2013, 3:51:53 PM9/6/13
to ivyro...@googlegroups.com

On 9/6/13 1:04 PM, Archie Cobbs wrote:

On Fri, Sep 6, 2013 at 10:34 AM, Neil Miller <neil.g.m...@gmail.com> wrote:
 Just noticed that the artifact naming convention changed in the newest version of Apache HTTP Components, specifically the "-source" was dropped from the name of source artifacts. Any reason for the change besides the switch to maven to get the artifact? This is actually breaking things for my company since we have to post process these libraries It seems like have "x-source" and "x-javadoc" is pretty standard across most modules, so I'd like to change it back (what with consistency in naming being a project goal and all :) ). Any objections?

A more correct and reliable way for your tools to detect source artifacts is to look for the "source" artifact type.
True and doable with a little hoop jumping (the tools in question don't know about Ivy). Except that I actually misstated the real problem, which is with our repo: when we first built it as Ivy neophytes we didn't include [type] in the artifact pattern (what we'd seen at that point always used different names for the types), so with the 4.2.4 style the install task overwrites the source files with the javadoc file. It looks like this may not be the case (see my reply to Mark), so I may have to rebuilt our repo...

But it's not a problem if you want to rename the artifacts in that module to include "-sources" and "-javadoc" suffixes.
 
Also, I'm proposing to move back to a single javadoc, "httpcore-all-javadoc", artifact as the javadoc artifacts would like to cross reference, but can't when in separated like they are in Maven (i.e. any NIO javadocs that refer to core have to link to the Apache website). This is the way the javadoc distribution from Apache's own site works.

Fine with me.. does it exist in Maven though? If not you will have to pull from somewhere else.
It doesn't, to my knowledge. 4.2.1 pulled it direct from apache.org.
-AC

--
Archie L. Cobbs
Reply all
Reply to author
Forward
0 new messages