[tor-commits] [metrics-lib/release] Write build revision to index.json files.

karsten at torproject.org karsten at torproject.org
Tue Oct 10 09:23:19 UTC 2017


commit 02ad9fcde0d48cdab7c8128b1193d5740ea97a99
Author: iwakeh <iwakeh at torproject.org>
Date:   Fri Sep 15 14:07:07 2017 +0000

    Write build revision to index.json files.
    
    Implements part of task-21414.
    Adapt IndexNode to supply a revision.
---
 CHANGELOG.md                                       |  7 ++++++
 src/build                                          |  2 +-
 .../org/torproject/descriptor/index/IndexNode.java | 26 +++++++++++++++++-----
 3 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2c40c10..b7021d8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# Changes in version 2.?.? - 2017-??-??
+
+ * Medium changes
+   - Add new optional "build_revision" field to index.json with the
+     Git revision supplied by the calling software.
+
+
 # Changes in version 2.1.0 - 2017-09-15
 
  * Major changes
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/descriptor/index/IndexNode.java b/src/main/java/org/torproject/descriptor/index/IndexNode.java
index 516bbdf..8b61b75 100644
--- a/src/main/java/org/torproject/descriptor/index/IndexNode.java
+++ b/src/main/java/org/torproject/descriptor/index/IndexNode.java
@@ -46,6 +46,11 @@ public class IndexNode {
   @SerializedName("index_created")
   public final String created;
 
+  /** The software's build revision JSON as 'build_revision' field. */
+  @Expose
+  @SerializedName("build_revision")
+  public final String revision;
+
   /** Path (i.e. base url) is exposed in JSON. */
   @Expose
   public final String path;
@@ -60,20 +65,29 @@ public class IndexNode {
 
   /* Added to satisfy Gson. */
   private IndexNode() {
-    created = null;
-    path = null;
-    files = null;
-    directories = null;
+    this.created = null;
+    this.revision = null;
+    this.path = null;
+    this.files = null;
+    this.directories = null;
   }
 
-  /** An index node is the top-level node in the JSON structure. */
+  /** For backwards compatibility and testing. */
   public IndexNode(String created, String path,
             SortedSet<FileNode> files,
             SortedSet<DirectoryNode> directories) {
+    this(created, null, path, files, directories);
+  }
+
+  /** An index node is the top-level node in the JSON structure. */
+  public IndexNode(String created, String revision, String path,
+            SortedSet<FileNode> files,
+            SortedSet<DirectoryNode> directories) {
+    this.created = created;
+    this.revision = revision;
     this.path = path;
     this.files = files;
     this.directories = directories;
-    this.created = created;
   }
 
   /**





More information about the tor-commits mailing list