Greetings, Seems that dependencies should provide two features they do not already;
1) the ability to explicitly specify the URL from which to download an artifact (in m1, if I recall, this was handled by the <jar> element). This is particularly important when one depends upon interface definitions -- particularly WSDLs -- which are typically available from some webserver which does not adhere to the maven style of URL. A client may wish to find these dependencies at the URL first, and leave open the possibility of finding the WSDL locally in a maven-style repo. Looking at the available <dependency> XML elements; systemPath is System-scope only, but something akin to it (say, <path>) might work. <dependency> <groupId>org.myorg.services</groupId> <artifactId>foo</artifactId> <version>1.0.0</version> <type>wsdl</type> <path>http://foo.com/wslds/foo.wsdl</path> <properties transitive="false" > <server.wsdl>true</server.wsdl> <war.bundle>true</war.bundle> </properties> </dependency> 2) The ability to specify a dependency property (as in m1). For example, in my project must be able to specify that I want a WSDL dependency as either a client or a server. This is an application specific property, which is a good, legitimate use of properties. Others are "war.bundle", etc. These properties may be used in all points of the lifecycle. In one case, < server.wsdl> is a compile-time property, in another <war.bundle> is a assembly-time property. It seems that these properties could be transitive -- so that, say, war.bundle will pertain to the declaring dependency and all of it's descendants (so that they all end up in the war.bundle). Or perhaps use an XML artifact to control whether it is transitive or not would be useful. I'm probably rehashing old history, but why were dependency properties removed in m2?? Thanks, -- Chris