{"id":1503,"date":"2021-11-17T10:19:53","date_gmt":"2021-11-16T21:19:53","guid":{"rendered":"https:\/\/www.ronella.xyz\/?p=1503"},"modified":"2021-12-07T19:12:29","modified_gmt":"2021-12-07T06:12:29","slug":"retrieving-the-versions-from-maven-metadata-xml","status":"publish","type":"post","link":"https:\/\/www.ronella.xyz\/?p=1503","title":{"rendered":"Retrieving the Versions from maven-metadata.xml"},"content":{"rendered":"<h2>Groovy Snippet<\/h2>\n<pre><code class=\"language-groovy\">List&lt;String&gt; getMavenVersions(String metadataXmlURL) {\n    def strVersions = new ArrayList&lt;String&gt;()\n    def mvnData = new URL(metadataXmlURL)\n    def mvnCN = mvnData.openConnection()\n    mvnCN.requestMethod = &#039;GET&#039;\n\n    if (mvnCN.responseCode==200) {\n        def rawResponse = mvnCN.inputStream.text\n        def versionMatcher = rawResponse =~ &#039;&lt;version&gt;(.*)&lt;\/version&gt;&#039;\n        while(versionMatcher.find()) {\n            for (nVersion in versionMatcher) {\n                strVersions.add(nVersion[1]);\n            }\n        }\n    }\n\n    strVersions.sort {v1, v2 -&gt;\n        v2.compareTo(v1)\n    }\n\n    return strVersions\n}<\/code><\/pre>\n<h2>Example Usage<\/h2>\n<pre><code class=\"language-groovy\">def metatdataAddress = &#039;https:\/\/repo.maven.apache.org\/maven2\/xyz\/ronella\/casual\/trivial-chunk\/maven-metadata.xml&#039;\ndef versions = getMavenVersions(metatdataAddress)\nprintln versions<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Groovy Snippet List&lt;String&gt; getMavenVersions(String metadataXmlURL) { def strVersions = new ArrayList&lt;String&gt;() def mvnData = new URL(metadataXmlURL) def mvnCN = mvnData.openConnection() mvnCN.requestMethod = &#039;GET&#039; if (mvnCN.responseCode==200) { def rawResponse = mvnCN.inputStream.text def versionMatcher = rawResponse =~ &#039;&lt;version&gt;(.*)&lt;\/version&gt;&#039; while(versionMatcher.find()) { for (nVersion in versionMatcher) { strVersions.add(nVersion[1]); } } } strVersions.sort {v1, v2 -&gt; v2.compareTo(v1) } return strVersions [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[72,60,30],"tags":[],"_links":{"self":[{"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=\/wp\/v2\/posts\/1503"}],"collection":[{"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1503"}],"version-history":[{"count":1,"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=\/wp\/v2\/posts\/1503\/revisions"}],"predecessor-version":[{"id":1504,"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=\/wp\/v2\/posts\/1503\/revisions\/1504"}],"wp:attachment":[{"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ronella.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}