I'm working on a Maven utility and ran across your implementation. I really like the way you handled the properties! Please take a look at these minor updates and let me know if you're interested in merging or not. There's a lot more to do when it comes to property expansion, but I think this is a good start.
Added a function for resolving property names.
Made a generic struct for GAV and GAVT types to extend a
NormalizedName() and ToURL() on resolvable types.
Gave the GAVT ToURL() resolver the default type if empty.
I am going to work on this a bit more, I'd really like to get to a POM that executes the properties and this may be done with a utility class such as EffectivePOM
I'm working on a Maven utility and ran across your implementation. I really like the way you handled the properties! Please take a look at these minor updates and let me know if you're interested in merging or not. There's a lot more to do when it comes to property expansion, but I think this is a good start.
Added a function for resolving property names.
Made a generic struct for GAV and GAVT types to extend a NormalizedName() and ToURL() on resolvable types.
Gave the GAVT ToURL() resolver the default type if empty.
Added test cases to verify behaviors.