In our Ant+Ivy builds, we publish artifacts with this Ivy artifact pattern

[organisation]/[module]/[branch]/[revision]/[type]/([home]/)([homeType]/)([path]/)[artifact](.[ext])

The home, homeType, and path values are from custom attributes on each
<artifact/> in the ivy.xml, and the artifact value is from the name
attribute on each <artifact/> in the ivy.xml. In Artifactory I'm trying to
setup a custom layout so that I can try and get some interoperability with
Maven (at worst case by copying  artifacts between local repositories). I
need to support filenames that might have no extension or the filename might
have dots in it. 

This pattern seems to correctly support all cases of having an extension
(foo.txt -> name=foo and ext=txt, foo_10.1.dll -> name=foo_10.1 and ext=dll,
foo.so.10.1 -> name=foo and ext=.so.10.1) but not files with no extension.

[org]/[releaseName<[^/]+>]/[module]/[branch<[^/]+>]/[baseRev]/[type]/([home<[^/]*>]/[homeType<[^/]*>]/)([path<[^/]*>]/)([name<.+>].[ext]

As soon as I change it to this

[org]/[releaseName<[^/]+>]/[module]/[branch<[^/]+>]/[baseRev]/[type]/([home<[^/]*>]/[homeType<[^/]*>]/)([path<[^/]*>]/)([name<.+>](.[ext])

Artifactory always parses the whole filename into the name attribute and no
ext. If I use

[org]/[releaseName<[^/]+>]/[module]/[branch<[^/]+>]/[baseRev]/[type]/([home<[^/]*>]/[homeType<[^/]*>]/)([path<[^/]*>]/)([name<.+>].[ext])([name<.+>])

Then Artifactory only matches the ext and never the name. Anybody have the
magic sauce?



--
View this message in context: 
http://forums.jfrog.org/filenames-in-custom-Ivy-artifact-pattern-tp7580336.html
Sent from the Artifactory - Users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
_______________________________________________
Artifactory-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/artifactory-users

Reply via email to