Hans Dockter wrote:
On Apr 10, 2009, at 12:21 PM, PSpeed wrote:
Not sure if this is a known issue or not, though I did search around a
bit.
Section 15.3.1 of the user guide suggests a way to set the
pom.artifactId to
change the name of the archive that us used to generate the pom.xml,
etc..
The default value for the name of the pom.artifactId is based on then
name of its corresponding archive. To customize the pom.artifactId value
(and only the artifactId value), you can assign it an explicit name (as
shown in 15.3.1). This has no effect on the name of the (local) archive.
If you deploy to a Maven repository, It has of course an effect on the
remote archive name.
In multi-module builds, I find that the pom dependencies are using the
directory (project) name instead.
The name of the artifactId is based on the name of the archive which is
by default based on the name of the project.
I was able to work around it in my settings.gradle file by changing
all of
my project names to match the artifactId and remapping the directories.
That's kind of painful in the long run.
Wondering if I've missed something simple or if this is a bug or
something.
If you want to change the name of the archives (which of courses changes
also the name of the pomArtifactId), you can set the
defaultArchivesBaseName property within a project. See user's guide,
section 10.7, on how the names for archives are set.
Yeah, I played with all of that. I think I wasn't being very clear...
which is happening to me a lot lately. :)
Let's use the following directory structure:
myproject
settings.gradle
/foo
build.gradle
/bar
build.gradle
Now, let's say that "bar" depends on "foo". Now let's also say that
I've modified the pom.artifactId in both projects to be "myproject-foo"
and "myproject-bar" respectively.
foo's pom.xml gets generated with artifactId "myproject-foo". Good.
bar's pom.xml gets generated with artifactId "myproject-bar". Also good.
The problem is that the "foo" dependency _in_ "bar" is using artifactId
"foo"... and so maven users trying to use "bar" will never find it.
<dependency>
<groupId>mygroup</groupId>
<artifactId>foo</artifactId>
<version>1.0</version>
</dependency>
Thanks for your help.
-Paul
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email