You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "qxo (Updated) (JIRA)" <ji...@apache.org> on 2011/12/01 06:57:40 UTC

[jira] [Updated] (IVY-1244) ivy ArtifactRevisionId maven compatible improvement:add none jar(type!=jar and ext=jar) artifact(eg:type=sources,type=javadoc) with a default classifier (classifier = type)

     [ https://issues.apache.org/jira/browse/IVY-1244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

qxo updated IVY-1244:
---------------------

    Attachment:     (was: ArtifactRevisionId.java)
    
> ivy ArtifactRevisionId maven compatible improvement:add none jar(type!=jar and ext=jar) artifact(eg:type=sources,type=javadoc) with a default classifier (classifier = type)
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: IVY-1244
>                 URL: https://issues.apache.org/jira/browse/IVY-1244
>             Project: Ivy
>          Issue Type: Improvement
>            Reporter: qxo
>
> {code}
>     public ArtifactRevisionId(ArtifactId artfId, ModuleRevisionId mdlRevId, Map extraAttributes) {
>         super(null,   prepareExtraAttribute(artfId,extraAttributes)); //add "javadoc/sources" a maven2 classifier compatible
>         artifactId = artfId;
>         mrid = mdlRevId;
>         setStandardAttribute(IvyPatternHelper.ORGANISATION_KEY, getModuleRevisionId()
>                 .getOrganisation());
>         setStandardAttribute(IvyPatternHelper.MODULE_KEY, getModuleRevisionId().getName());
>         setStandardAttribute(IvyPatternHelper.REVISION_KEY, getModuleRevisionId().getRevision());
>         setStandardAttribute(IvyPatternHelper.ARTIFACT_KEY, getName());
>         setStandardAttribute(IvyPatternHelper.TYPE_KEY, getType());
>         setStandardAttribute(IvyPatternHelper.EXT_KEY, getExt());
>     }
> 	public static Map prepareExtraAttribute(ArtifactId artfId,Map extraAttributes) {
> 	    final String type = artfId.getType();
>         final String ext = artfId.getExt();
>         if((!("jar".equals(type))&&"jar".equals(ext) )&& (extraAttributes == null || !extraAttributes.containsKey("classifier"))){
>         	if( extraAttributes == null){
>         		extraAttributes = new HashMap();
>             }else{
>             	extraAttributes = new HashMap(extraAttributes);
>             }
>         	extraAttributes.put("classifier", type);
>         }
>         return extraAttributes;
>     }
> {code}
> after this change now:
> publish artifactory to maven compatible  repo,we so can maven/ivy both with the same  repo :)
> and we can aslo using same local(cached)repo for maven and ivy
> ivyrepo + pom.xml   ==  maven repo
> mavnrepo + ivy.xml  == ivyrepo
> and ivysettings.xml cache artifactPattern can using same layout with maven2
> artifactPattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
> and the ivy settings:
> {code}
> 		<url name="repos"  m2compatible ="true"    checkmodified="true" >
> 			<ivy pattern="${baseUri}/[organisation]/[module]/[revision]/[module]-ivy-[revision].xml" />
> 			<artifact pattern="${baseUri}/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]" />
> 		</url>
> {code}

--
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