From ce760e80c492d1c3e13306a1d06aa734b4d829a9 Mon Sep 17 00:00:00 2001
From: Glenn Glazer <coyot@lindenlab.com>
Date: Tue, 24 May 2016 11:43:57 -0700
Subject: MAINT-6413: write summary.json from viewer_manifest.py, remove
 facility from cmake

---
 indra/newview/CMakeLists.txt     |  5 +++++
 indra/newview/viewer_manifest.py | 15 ++++++++++-----
 2 files changed, 15 insertions(+), 5 deletions(-)

(limited to 'indra/newview')

diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 6734f62137..64b7ff34f6 100755
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1308,6 +1308,11 @@ set(viewer_HEADER_FILES
 source_group("CMake Rules" FILES ViewerInstall.cmake)
 
 #summary.json creation moved to viewer_manifest.py MAINT-6413
+# the viewer_version.txt file created here is for passing to viewer_manifest and autobuild
+add_custom_target(generate_viewer_version ALL
+                  COMMAND printf '${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}' > ${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt
+                  COMMENT Generating viewer_version.txt for manifest processing
+                  )
 
 set_source_files_properties(
    llversioninfo.cpp tests/llversioninfo_test.cpp 
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 6365de0024..f3d89bb866 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -30,6 +30,7 @@ import sys
 import os.path
 import shutil
 import errno
+import json
 import re
 import tarfile
 import time
@@ -122,9 +123,6 @@ class ViewerManifest(LLManifest):
                     settings_install['CmdLineGridChoice']['Value'] = self.grid()
                     print "Set CmdLineGridChoice in settings_install.xml to '%s'" % self.grid()
 
-                #COYOT: channel: self.channel_with_pkg_suffix()
-                print "COYOT: version %s" % '.'.join(self.args['version'])
-
                 # put_in_file(src=) need not be an actual pathname; it
                 # only needs to be non-empty
                 self.put_in_file(llsd.format_pretty_xml(settings_install),
@@ -184,9 +182,16 @@ class ViewerManifest(LLManifest):
                 self.path("*.tga")
                 self.end_prefix("local_assets")
 
-            # Files in the newview/ directory
+            # File in the newview/ directory
             self.path("gpu_table.txt")
-            # The summary.json file gets left in the build directory by newview/CMakeLists.txt.
+
+            #summary.json.  Standard with exception handling is fine.  If we can't open a new file for writing, we have worse problems
+            summary_dict = {"Type":"viewer","Version":'.'.join(self.args['version']),"Channel":self.channel_with_pkg_suffix()}
+            with open(os.path.join(os.pardir,'summary.json'), 'w') as summary_handle:
+                json.dump(summary_dict,summary_handle)
+
+            #we likely no longer need the test, since we will throw an exception above, but belt and suspenders and we get the
+            #return code for free.
             if not self.path2basename(os.pardir, "summary.json"):
                 print "No summary.json file"
 
-- 
cgit v1.2.3