[ 
https://jira.codehaus.org/browse/MSITE-672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=325598#comment-325598
 ] 

Herve Boutemy edited comment on MSITE-672 at 5/24/13 7:33 PM:
--------------------------------------------------------------

bq. Your first link mentions nothing about such arbitrary transformations as 
far as I can tell, and I note that it's been updated today, and as such looked 
extra hard. Blind?
not blind, it has been published yesterday (notice the LATEST in the link, the 
content varies in time)

bq. I'd be quite happy for the process you describe to take place, BUT IT 
DOESN'T have a URL, only a variable, intended to be determined in the child.
You make a difference between a value that's an effective URL and a value 
that's a variable, but Maven model-builder doesn't make such difference: it 
works at String-level, the fact that parent value contains "${}" doesn't change 
the fact that the actual artifactId is added during inheritance assembly (and 
before model interpolation, ie replacement of "${}" with actual value)

IIUC, we would require to be able to avoid default child urls calculation, 
consistently in project.url and project.distributionManagement.site.url, but 
probably not project.scm.[connection+developerConnection+url] (AFAIK, but 
perhaps someone will find a case where something similar in project.scm is 
useful: there was a discussion in case of git, if I remember correctly)

Notice that it would be a Maven core change (to track with a MNG Jira issue): 
we need to be extremely clear before changing core, because it will be harder 
to change in time (not a plugin version, that can be different in every project)

Notice that I understand the need to avoid copy/paste too: we're facing the 
exact same issue in Maven components since we introduced svnpubsub. The 
solution we found in Maven is:
1. introduce a "maven.site.path" property, that can contain references to 
artifactId property if needed, or fixed value if we don't want its value to 
change in child pom
2. copy/paste fixed url+project.distributionManagement.site.url value in every 
pom, with fixed value that references previous maven.site.path property

I know it's not ideal, but for the moment, I didn't find any solution that 
would be general, only hack

                
      was (Author: hboutemy):
    bq. Your first link mentions nothing about such arbitrary transformations 
as far as I can tell, and I note that it's been updated today, and as such 
looked extra hard. Blind?
not blind, it has been published yesterday (notice the LATEST in the link, the 
content varies in time)

bq. I'd be quite happy for the process you describe to take place, BUT IT 
DOESN'T have a URL, only a variable, intended to be determined in the child.
You make a difference between a value that's an effective URL and a value 
that's a variable, but Maven model-builder doesn't make such difference: it 
works at String-level, the fact that parent value contains "${}" doesn't change 
the fact that the actual artifactId is added during inheritance assembly (and 
before model interpolation, ie replacement of "${}" with actual value)

IIUC, we would require to be able to avoid default child urls calculation, 
consistently in project.url and project.distributionManagement.site.url, but 
probably not project.scm.[connection+developerConnection+url] (AFAIK, but 
perhaps someone will find a case where something similar in project.scm is 
useful: there was a discussion in case of git, if I remember correctly)

Notice that it would be a Maven core change (to track with a MNG Jira issue): 
we need to be extremely clear before changing core, because it will be harder 
to change in time (not a plugin version, that can be different in every project)

Notice that I understand the need to avoid copy/paste too: we're facing the 
exact same issue in Maven components since we introduced svnpubsub. The 
solution we found in Maven is:
1. introduce a "maven.site.path" property, that can contain references to 
artifactId property if needed, or fixed value if we don't want its value to 
change in child pom
2. copy/paste fixed url+project.distributionManagement.site.url value in every 
pom

I know it's not ideal, but for the moment, I didn't find any solution that 
would be general, only hack

                  
> Interpolation of site deploy URL not done in child
> --------------------------------------------------
>
>                 Key: MSITE-672
>                 URL: https://jira.codehaus.org/browse/MSITE-672
>             Project: Maven 2.x and 3.x Site Plugin
>          Issue Type: Wish
>          Components: site:deploy
>    Affects Versions: 3.0
>         Environment: Debian Linux OpenJDK 7 mvn 3.0.4 
>            Reporter: Fred Cooke
>            Assignee: Herve Boutemy
>
> I have my parent distribution site config filled out like so:
> {{<url>scp://private-site/home/private/site/releases/$\{project.groupId}/$\{project.artifactId}/$\{project.version}/</url>}}
> When the child tries to release:perform or {{site:deploy}} it tries to upload 
> with the parent arifactId, groupId and version instead of the current project 
> values. These should be interpolated like any other variables in the POM to 
> prevent needless duplication in all children.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to