4 ms·
Could you share some examples? Genuinely interested as I really only know those god awful and huge Maven configs as things one would mostly edit by hand
by mburee 4y ago
Could you share some examples? Genuinely interested as I really only know those god awful and huge Maven configs as things one would mostly edit by hand
- lenkite 4y agoMaven is an excellent example where the original author forgot that XML attributes exist. Or rather he chose to use a use a terrible parser than didn't support them. And overly verbose names. With a nice XSD, the below could be typed with full autocomplete and tab-next-placeholder support for element and attribute names in both neovim/vscode/ intellij. <proj name="My Biz CLI" url="http://github.com/mybiz/mybizctl" modelVersion="4.0.0"> <coord groupId="com.mybiz" artifactId="mybizctl" version="1.0.0" packaging="jar" /> OR <coord>com.mybiz:mybizctl:jar:1.0.0</coord> <!-- alt form --> <deps> <dep groupId="junit" artifactId="junit" version="5.0.1" scope="test" /> <dep>info.picocli:picocli:4.7.1</dep> <!-- alt form --> </deps> </proj> The above declares a project CLI tool with proj metadata and a defined coordinate producing a jar file with 1 compile time dependency and 1 test dependency.
- eadmund 4y agoThe S-expression version looks so much more pleasant: (proj (name "My Biz CLI") (url "http://github.com/mybiz/mybizctl") (model-version "4.0.0") (group-id com.mybiz) (artifact-id mybizctl) (version "1.0.0") (packaging jar) (deps (dep (group-id junit) (artifact-id junit) (version "5.0.1") (scope test))))
- lenkite 4y agoI probably should have omitted alternatives and comments in my example - would have come to the same length then and just as easy to read. Did so below and even more pleasant to read - esp for folks already used to HTML. Do S-expressions have a schema standard ? <proj name="My Biz CLI" url="http://github.com/mybiz/mybizctl" groupId="com.mybiz" artifactId="mybizctl" version="1.0.0" modelVersion="4.0.0"> <deps> <dep groupId="junit" artifactId="junit" version="5.0.1" scope="test" /> </deps> </proj>
- mcculley 4y agoMaven is not a great example of the strengths of XML, as another comment describes. I use XML a lot in favor of JSON because I can pass around a machine readable schema (yes, I know JSON now has some schema support) and because I can represent things like cycles and comments and numbers that are something other than 64-bit floating point values.