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
