updating download page
diff --git a/geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java b/geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java
index 04c7e0e..48a318b 100644
--- a/geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java
+++ b/geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java
@@ -36,7 +36,6 @@
import java.util.Collection;
import java.util.List;
import java.util.Locale;
-import java.util.Map;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.stream.Stream;
@@ -55,6 +54,7 @@
private static final SAXParserFactory FACTORY = SAXParserFactory.newInstance();
// always available once the release passed compared to central
+ // note: if you have some stability issues (connection reset) then set that to MVN_BASE
private static final String ASF_BASE = "https://repository.apache.org/content/repositories/releases/";
// the entry point we want on the download page
@@ -74,14 +74,19 @@
public static void main(final String[] args) {
Locale.setDefault(Locale.ENGLISH);
- System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "512");
+ System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "256");
final List<Download> downloads = Stream.of("org/apache/geronimo/config/geronimo-config-impl", "org/apache/geronimo/safeguard/safeguard-impl",
"org/apache/geronimo/geronimo-jwt-auth", "org/apache/geronimo/geronimo-opentracing",
"org/apache/geronimo/geronimo-health", "org/apache/geronimo/geronimo-metrics",
- "org/apache/geronimo/geronimo-openapi-impl", "org/apache/geronimo/geronimo-microprofile-aggregator")
+ "org/apache/geronimo/geronimo-openapi-impl", "org/apache/geronimo/geronimo-microprofile-aggregator",
+ "org/apache/geronimo/utilda")
.flatMap(Downloads::toVersions)
- .map(v -> v.base.endsWith("geronimo-microprofile-aggregator") ? v.extensions("pom") : v.extensions("jar"))
+ .flatMap(v -> v.base.endsWith("utilda") ?
+ Stream.of(v.classifiers("all").extensions("zip"), new Version(v.base, v.version).extensions("pom")) :
+ Stream.of(v))
+ .map(v -> v.base.endsWith("geronimo-microprofile-aggregator") ? v.extensions("pom") : v)
+ .map(v -> v.extensions.isEmpty() ? v.extensions("jar") : v)
.flatMap(Downloads::toDownloadable).map(Downloads::fillDownloadable).filter(Objects::nonNull)
.sorted(Downloads::versionComparator)
.map(Downloads::toCentral)
@@ -185,26 +190,37 @@
}
private static Download fillDownloadable(final Download download) {
- try {
- final URL url = new URL(download.url);
- final HttpURLConnection connection = HttpURLConnection.class.cast(url.openConnection());
- connection.setConnectTimeout((int) TimeUnit.SECONDS.toMillis(30));
- final int responseCode = connection.getResponseCode();
- if (responseCode != HttpURLConnection.HTTP_OK) {
- if (HttpURLConnection.HTTP_NOT_FOUND != responseCode) {
- System.err.println("Got " + responseCode + " for " + download.url);
+ final int maxRetries = 3;
+ for (int i = 0; i < maxRetries; i++) {
+ try {
+ final URL url = new URL(download.url);
+ final HttpURLConnection connection = HttpURLConnection.class.cast(url.openConnection());
+ connection.setConnectTimeout((int) TimeUnit.SECONDS.toMillis(30));
+ final int responseCode = connection.getResponseCode();
+ if (responseCode != HttpURLConnection.HTTP_OK) {
+ if (HttpURLConnection.HTTP_NOT_FOUND != responseCode) {
+ System.err.println("Got " + responseCode + " for " + download.url);
+ }
+ return null;
+ }
+
+ download.setDate(connection.getHeaderField("Last-Modified").replaceAll(" +", " "));
+ download.setSize(toMega(ofNullable(connection.getHeaderField("Content-Length")).map(Long::parseLong).orElse(0L),
+ ofNullable(connection.getHeaderField("Accept-Ranges")).orElse("bytes")));
+
+ connection.getInputStream().close();
+ break;
+ } catch (final IOException e) {
+ if (i < maxRetries - 1) {
+ continue;
+ }
+ if (Boolean.getBoolean("debug")) {
+ e.printStackTrace();
+ } else {
+ System.err.println("[ERROR] @fillDownload: " + e.getMessage() + " for " + download);
}
return null;
}
-
- download.setDate(connection.getHeaderField("Last-Modified").replaceAll(" +", " "));
- download.setSize(toMega(ofNullable(connection.getHeaderField("Content-Length")).map(Long::parseLong).orElse(0L),
- ofNullable(connection.getHeaderField("Accept-Ranges")).orElse("bytes")));
-
- connection.getInputStream().close();
- } catch (final IOException e) {
- e.printStackTrace();
- return null;
}
return download;
}
@@ -244,6 +260,8 @@
} catch (final Exception e) {
if (Boolean.getBoolean("debug")) {
e.printStackTrace();
+ } else {
+ System.err.println("[ERROR] @toVersions: " + e.getMessage() + " for " + baseUrl);
}
return Stream.empty();
}
@@ -385,6 +403,21 @@
public void setSize(final long size) {
this.size = size;
}
+
+ @Override
+ public String toString() {
+ return "Download{" +
+ "name='" + name + '\'' +
+ ", classifier='" + classifier + '\'' +
+ ", version='" + version + '\'' +
+ ", format='" + format + '\'' +
+ ", url='" + url + '\'' +
+ ", sha1='" + sha1 + '\'' +
+ ", asc='" + asc + '\'' +
+ ", date='" + date + '\'' +
+ ", size=" + size +
+ '}';
+ }
}
private static class QuickMvnMetadataParser extends DefaultHandler {
diff --git a/geronimo-microprofile-site/src/main/jbake/content/downloads.adoc b/geronimo-microprofile-site/src/main/jbake/content/downloads.adoc
index dcd781f..1bea21c 100644
--- a/geronimo-microprofile-site/src/main/jbake/content/downloads.adoc
+++ b/geronimo-microprofile-site/src/main/jbake/content/downloads.adoc
@@ -9,12 +9,13 @@
[.table.table-bordered,options="header"]
|===
|Name|Version|Date|Size|Type|Links
-|Geronimo Microprofile Aggregator|1.0.0|18 Dec 2018|7 kB |POM| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-microprofile-aggregator/1.0.0/geronimo-microprofile-aggregator-1.0.0.pom[icon:download[] POM] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-microprofile-aggregator/1.0.0/geronimo-microprofile-aggregator-1.0.0.pom.sha1[icon:download[] SHA1]
+|Geronimo Utilda all|1.0.1|9 Jan 2019|10231 kB |ZIP| http://repo.maven.apache.org/maven2/org/apache/geronimo/utilda/1.0.1/utilda-1.0.1-all.zip[icon:download[] ZIP] http://repo.maven.apache.org/maven2/org/apache/geronimo/utilda/1.0.1/utilda-1.0.1-all.zip.sha1[icon:download[] SHA1]
+|Geronimo Microprofile Aggregator|1.0.1|9 Jan 2019|7 kB |POM| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-microprofile-aggregator/1.0.1/geronimo-microprofile-aggregator-1.0.1.pom[icon:download[] POM] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-microprofile-aggregator/1.0.1/geronimo-microprofile-aggregator-1.0.1.pom.sha1[icon:download[] SHA1]
|Geronimo Config|1.2.1|17 Dec 2018|70 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.2.1/geronimo-config-impl-1.2.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.2.1/geronimo-config-impl-1.2.1.jar.sha1[icon:download[] SHA1]
|Geronimo Health|1.0.1|17 Dec 2018|13 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.1/geronimo-health-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.1/geronimo-health-1.0.1.jar.sha1[icon:download[] SHA1]
|Geronimo Jwt Auth|1.0.1|17 Dec 2018|67 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-jwt-auth/1.0.1/geronimo-jwt-auth-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-jwt-auth/1.0.1/geronimo-jwt-auth-1.0.1.jar.sha1[icon:download[] SHA1]
|Geronimo Metrics|1.0.2|2 Jan 2019|36 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.2/geronimo-metrics-1.0.2.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.2/geronimo-metrics-1.0.2.jar.sha1[icon:download[] SHA1]
-|Geronimo Openapi|1.0.3|2 Jan 2019|169 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.3/geronimo-openapi-impl-1.0.3.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.3/geronimo-openapi-impl-1.0.3.jar.sha1[icon:download[] SHA1]
+|Geronimo Openapi|1.0.4|9 Jan 2019|170 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.4/geronimo-openapi-impl-1.0.4.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.4/geronimo-openapi-impl-1.0.4.jar.sha1[icon:download[] SHA1]
|Geronimo Opentracing|1.0.1|17 Dec 2018|30 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.1/geronimo-opentracing-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.1/geronimo-opentracing-1.0.1.jar.sha1[icon:download[] SHA1]
|Geronimo Safeguard|1.2.0|17 Dec 2018|117 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.2.0/safeguard-impl-1.2.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.2.0/safeguard-impl-1.2.0.jar.sha1[icon:download[] SHA1]
|===
@@ -49,12 +50,22 @@
|Geronimo Health|1.0.0|16 Jul 2018|19 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.0/geronimo-health-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.0/geronimo-health-1.0.0.jar.sha1[icon:download[] SHA1]
|===
+=== Geronimo Microprofile Aggregator
+
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Geronimo Microprofile Aggregator|1.0.0|18 Dec 2018|7 kB |POM| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-microprofile-aggregator/1.0.0/geronimo-microprofile-aggregator-1.0.0.pom[icon:download[] POM] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-microprofile-aggregator/1.0.0/geronimo-microprofile-aggregator-1.0.0.pom.sha1[icon:download[] SHA1]
+|===
+
=== Geronimo Openapi
[.table.table-bordered,options="header"]
|===
|Name|Version|Date|Size|Type|Links
+|Geronimo Openapi|1.0.3|2 Jan 2019|169 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.3/geronimo-openapi-impl-1.0.3.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.3/geronimo-openapi-impl-1.0.3.jar.sha1[icon:download[] SHA1]
|Geronimo Openapi|1.0.2|18 Dec 2018|169 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.2/geronimo-openapi-impl-1.0.2.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.2/geronimo-openapi-impl-1.0.2.jar.sha1[icon:download[] SHA1]
|Geronimo Openapi|1.0.1|1 Aug 2018|157 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.1/geronimo-openapi-impl-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.1/geronimo-openapi-impl-1.0.1.jar.sha1[icon:download[] SHA1]
|Geronimo Openapi|1.0.0|16 Jul 2018|157 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.0/geronimo-openapi-impl-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.0/geronimo-openapi-impl-1.0.0.jar.sha1[icon:download[] SHA1]
@@ -81,6 +92,17 @@
|Geronimo Config|1.0|10 Sep 2017|53 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.0/geronimo-config-impl-1.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.0/geronimo-config-impl-1.0.jar.sha1[icon:download[] SHA1]
|===
+=== Geronimo Utilda
+
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Geronimo Utilda all|1.0.0|18 Dec 2018|11317 kB |ZIP| http://repo.maven.apache.org/maven2/org/apache/geronimo/utilda/1.0.0/utilda-1.0.0-all.zip[icon:download[] ZIP] http://repo.maven.apache.org/maven2/org/apache/geronimo/utilda/1.0.0/utilda-1.0.0-all.zip.sha1[icon:download[] SHA1]
+|Geronimo Utilda|1.0.1|9 Jan 2019|2 kB |POM| http://repo.maven.apache.org/maven2/org/apache/geronimo/utilda/1.0.1/utilda-1.0.1.pom[icon:download[] POM] http://repo.maven.apache.org/maven2/org/apache/geronimo/utilda/1.0.1/utilda-1.0.1.pom.sha1[icon:download[] SHA1]
+|Geronimo Utilda|1.0.0|18 Dec 2018|2 kB |POM| http://repo.maven.apache.org/maven2/org/apache/geronimo/utilda/1.0.0/utilda-1.0.0.pom[icon:download[] POM] http://repo.maven.apache.org/maven2/org/apache/geronimo/utilda/1.0.0/utilda-1.0.0.pom.sha1[icon:download[] SHA1]
+|===
+
=== Geronimo Opentracing
@@ -88,4 +110,4 @@
|===
|Name|Version|Date|Size|Type|Links
|Geronimo Opentracing|1.0.0|24 Jul 2018|87 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.0/geronimo-opentracing-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.0/geronimo-opentracing-1.0.0.jar.sha1[icon:download[] SHA1]
-|===
\ No newline at end of file
+|===