You've still got some magic happening there, for non-binary and non-source artifacts. Under your proposal, a naive tool might expect version 1.0-beta1 of foo.jar to appear as: jars/foo-1.0-beta1-jar.jar
Surly for for some reasons it would be better to have ( I am even prefering this style):
jars/foo-1.0-beta1.jar javadocs/foo-1.0-beta1.jar sources/foo-1.0-beta1.jar java-sources/foo-1.0-beta1.jar
("stype" is always skipped)
But there are some reason why it's not the ultimate solution.