You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by sebb <se...@gmail.com> on 2009/08/26 14:24:52 UTC

Tidy up of pom files etc

There seem to be some inconsistencies in the pom files and the project
layout, at least when used with Eclipse.

The HC "parent" pom has the artifactid "project", and by default the
Eclipse/Maven 2 plugin will create a project called "project", which
is obviously a bit ambiguous.

The parent pom also refers to the modules:

../httpcore
../httpclient

which is fine, except that their POMs use the artifact ids:

httpcomponents-client
httpcomponents-core

A partial fix would be to change the parent POM to use the module names:

../httpcomponents-client
../httpcomponents-core

This would obviously affect any existing developer workspaces, but
should only require a rename of the directories or Eclipse projects,
so should be relatively easy.

I'm not sure if it would be as easy to change the parent POM
artifactId, as this might affect existing Maven repos. The name is
also used in the child poms, which use the relativePath
"../project/pom.xml" to refer to the parent.

I think it would be useful to change the parent pom to use the
artifactId "httpcomponents", but I don't know if that would cause
problems for Maven repos downstream. AFAICT, the child projects don't
have run-time dependencies on the parent, so I think it would only
affect a few HC developers.

WDYT?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Re: Tidy up of pom files etc

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Wed, Aug 26, 2009 at 05:38:17PM +0100, sebb wrote:
> On 26/08/2009, Oleg Kalnichevski <ol...@apache.org> wrote:
> > On Wed, Aug 26, 2009 at 01:24:52PM +0100, sebb wrote:
> >  > There seem to be some inconsistencies in the pom files and the project
> >  > layout, at least when used with Eclipse.
> >  >
> >  > The HC "parent" pom has the artifactid "project", and by default the
> >  > Eclipse/Maven 2 plugin will create a project called "project", which
> >  > is obviously a bit ambiguous.
> >  >
> >
> >
> > To me, this is an issue with Eclipse/Maven 2 plugin rather than that with the
> >  HC parent pom. In my opinion the plugin ought not use project's artifactId as
> >  the project name.
> >
> 
> Well, the plugin has got to use something as the default name.
> 

Very true. And what is wrong with using, well, the project name, for instance?

/project/name



> Also, the child poms reference their parent as "../project/pom.xml"
> which means that there has to be a sibling directory called "project",
> regardless of what IDE is used.
> 
> >
> >
> >  > The parent pom also refers to the modules:
> >  >
> >  > ../httpcore
> >  > ../httpclient
> >  >
> >  > which is fine, except that their POMs use the artifact ids:
> >  >
> >  > httpcomponents-client
> >  > httpcomponents-core
> >  >
> >  > A partial fix would be to change the parent POM to use the module names:
> >  >
> >  > ../httpcomponents-client
> >  > ../httpcomponents-core
> >  >
> >
> >
> > Are you sure this is going to work?
> >
> 
> I tried it locally, and it worked fine for me.
> 
> Note: I use the default project names of
> 
> httpcomponents-client
> httpcomponents-core
> 
> which means that the parent "project" POM does not work _without_ the change.
> 

OK. Feel free to go ahead and make changes you deem necessary.

> >
> >  > This would obviously affect any existing developer workspaces, but
> >  > should only require a rename of the directories or Eclipse projects,
> >  > so should be relatively easy.
> >  >
> >  > I'm not sure if it would be as easy to change the parent POM
> >  > artifactId, as this might affect existing Maven repos. The name is
> >  > also used in the child poms, which use the relativePath
> >  > "../project/pom.xml" to refer to the parent.
> >  >
> >  > I think it would be useful to change the parent pom to use the
> >  > artifactId "httpcomponents", but I don't know if that would cause
> >  > problems for Maven repos downstream. AFAICT, the child projects don't
> >  > have run-time dependencies on the parent, so I think it would only
> >  > affect a few HC developers.
> >  >
> >
> >
> > This certianly should not affect users of HttpClient. However, I am not sure it
> >  is a problem that needs fixing.
> 
> If not, then at least we should document the required directory
> layout, because it's not immediately obvious.
> 

I do not feel very strongly about this problem. If you think it is worth doing,
please do go ahead and change artifactId of the parent pom.

Cheers

Oleg



> >  Oleg
> >
> >
> >  > WDYT?
> >  >
> >  > ---------------------------------------------------------------------
> >  > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> >  > For additional commands, e-mail: dev-help@hc.apache.org
> >  >
> >
> >  ---------------------------------------------------------------------
> >  To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> >  For additional commands, e-mail: dev-help@hc.apache.org
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Re: Tidy up of pom files etc

Posted by sebb <se...@gmail.com>.
On 26/08/2009, Oleg Kalnichevski <ol...@apache.org> wrote:
> On Wed, Aug 26, 2009 at 01:24:52PM +0100, sebb wrote:
>  > There seem to be some inconsistencies in the pom files and the project
>  > layout, at least when used with Eclipse.
>  >
>  > The HC "parent" pom has the artifactid "project", and by default the
>  > Eclipse/Maven 2 plugin will create a project called "project", which
>  > is obviously a bit ambiguous.
>  >
>
>
> To me, this is an issue with Eclipse/Maven 2 plugin rather than that with the
>  HC parent pom. In my opinion the plugin ought not use project's artifactId as
>  the project name.
>

Well, the plugin has got to use something as the default name.

Also, the child poms reference their parent as "../project/pom.xml"
which means that there has to be a sibling directory called "project",
regardless of what IDE is used.

>
>
>  > The parent pom also refers to the modules:
>  >
>  > ../httpcore
>  > ../httpclient
>  >
>  > which is fine, except that their POMs use the artifact ids:
>  >
>  > httpcomponents-client
>  > httpcomponents-core
>  >
>  > A partial fix would be to change the parent POM to use the module names:
>  >
>  > ../httpcomponents-client
>  > ../httpcomponents-core
>  >
>
>
> Are you sure this is going to work?
>

I tried it locally, and it worked fine for me.

Note: I use the default project names of

httpcomponents-client
httpcomponents-core

which means that the parent "project" POM does not work _without_ the change.

>
>  > This would obviously affect any existing developer workspaces, but
>  > should only require a rename of the directories or Eclipse projects,
>  > so should be relatively easy.
>  >
>  > I'm not sure if it would be as easy to change the parent POM
>  > artifactId, as this might affect existing Maven repos. The name is
>  > also used in the child poms, which use the relativePath
>  > "../project/pom.xml" to refer to the parent.
>  >
>  > I think it would be useful to change the parent pom to use the
>  > artifactId "httpcomponents", but I don't know if that would cause
>  > problems for Maven repos downstream. AFAICT, the child projects don't
>  > have run-time dependencies on the parent, so I think it would only
>  > affect a few HC developers.
>  >
>
>
> This certianly should not affect users of HttpClient. However, I am not sure it
>  is a problem that needs fixing.

If not, then at least we should document the required directory
layout, because it's not immediately obvious.

>  Oleg
>
>
>  > WDYT?
>  >
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>  > For additional commands, e-mail: dev-help@hc.apache.org
>  >
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
>  For additional commands, e-mail: dev-help@hc.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Re: Tidy up of pom files etc

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Wed, Aug 26, 2009 at 01:24:52PM +0100, sebb wrote:
> There seem to be some inconsistencies in the pom files and the project
> layout, at least when used with Eclipse.
> 
> The HC "parent" pom has the artifactid "project", and by default the
> Eclipse/Maven 2 plugin will create a project called "project", which
> is obviously a bit ambiguous.
> 

To me, this is an issue with Eclipse/Maven 2 plugin rather than that with the
HC parent pom. In my opinion the plugin ought not use project's artifactId as
the project name.


> The parent pom also refers to the modules:
> 
> ../httpcore
> ../httpclient
> 
> which is fine, except that their POMs use the artifact ids:
> 
> httpcomponents-client
> httpcomponents-core
> 
> A partial fix would be to change the parent POM to use the module names:
> 
> ../httpcomponents-client
> ../httpcomponents-core
> 

Are you sure this is going to work?


> This would obviously affect any existing developer workspaces, but
> should only require a rename of the directories or Eclipse projects,
> so should be relatively easy.
> 
> I'm not sure if it would be as easy to change the parent POM
> artifactId, as this might affect existing Maven repos. The name is
> also used in the child poms, which use the relativePath
> "../project/pom.xml" to refer to the parent.
> 
> I think it would be useful to change the parent pom to use the
> artifactId "httpcomponents", but I don't know if that would cause
> problems for Maven repos downstream. AFAICT, the child projects don't
> have run-time dependencies on the parent, so I think it would only
> affect a few HC developers.
> 

This certianly should not affect users of HttpClient. However, I am not sure it
is a problem that needs fixing.

Oleg


> WDYT?
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org