commit 0a586c0be0a3d3f399f550ec3929a04ad4c71904 Author: iwakeh iwakeh@torproject.org Date: Wed Sep 20 10:15:32 2017 +0000
Add the build revision to index.json files.
Implements the final part of task-21414 for CollecTor. --- CHANGELOG.md | 5 +++++ build.xml | 2 +- src/build | 2 +- .../torproject/collector/index/CreateIndexJson.java | 18 +++++++++++++++++- 4 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md index 0810fcf..4973f7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ - Add "Sync" as OnionPerfSource to synchronize .tpf files from other CollecTor instances.
+ * Medium changes + - Add new optional "build_revision" field to index.json with the + Git revision of the CollecTor instance's software used to create + this file, which will be omitted if unknown. + * Minor changes - Remove all styling resources (fonts, CSS, etc.) from directory listings. diff --git a/build.xml b/build.xml index 943c717..d60350b 100644 --- a/build.xml +++ b/build.xml @@ -11,7 +11,7 @@ <property name="release.version" value="1.3.0-dev" /> <property name="project-main-class" value="org.torproject.collector.Main" /> <property name="name" value="collector"/> - <property name="metricslibversion" value="2.1.0" /> + <property name="metricslibversion" value="2.1.1" /> <property name="jarincludes" value="collector.properties logback.xml" />
<patternset id="runtime" > diff --git a/src/build b/src/build index a64b94a..78e533f 160000 --- a/src/build +++ b/src/build @@ -1 +1 @@ -Subproject commit a64b94a635e5396266d5c5b5cf88850b9f4b6a24 +Subproject commit 78e533fdc84e20769a8a155d1426cbea59c6e7cc diff --git a/src/main/java/org/torproject/collector/index/CreateIndexJson.java b/src/main/java/org/torproject/collector/index/CreateIndexJson.java index e10109b..5c4daf9 100644 --- a/src/main/java/org/torproject/collector/index/CreateIndexJson.java +++ b/src/main/java/org/torproject/collector/index/CreateIndexJson.java @@ -21,10 +21,12 @@ import org.slf4j.LoggerFactory; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; +import java.io.InputStream; import java.io.OutputStreamWriter; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Locale; +import java.util.Properties; import java.util.SortedSet; import java.util.TimeZone; import java.util.TreeSet; @@ -53,10 +55,23 @@ public class CreateIndexJson extends CollecTorMain {
private static final TimeZone dateTimezone = TimeZone.getTimeZone("UTC");
+ private static String buildRevision = null; + /** Creates indexes of directories containing archived and recent * descriptors and write index files to disk. */ public CreateIndexJson(Configuration conf) { super(conf); + Properties buildProperties = new Properties(); + try (InputStream is = getClass().getClassLoader() + .getResourceAsStream("collector.buildrevision.properties")) { + buildProperties.load(is); + buildRevision = buildProperties.getProperty("collector.build.revision", + null); + } catch (Exception ex) { + // This doesn't hamper the index creation: only log a warning. + logger.warn("No build revision available.", ex); + buildRevision = null; + } }
@Override @@ -107,7 +122,8 @@ public class CreateIndexJson extends CollecTorMain { } } return new IndexNode(dateTimeFormat.format( - System.currentTimeMillis()), basePath, null, directoryNodes); + System.currentTimeMillis()), buildRevision, basePath, null, + directoryNodes); }
private DirectoryNode indexDirectory(File directory) {
tor-commits@lists.torproject.org