Upgrade to tinyxml2 6.0.0 (2017-12-11)

Bug: http://b/64459264
Test: builds, boots

(cherry picked from commit 934754db26de0bbad010fc663279b5019521b738)

Change-Id: I476b4ef566a6eb3a0877b943fe1e7d8c26c9b305
diff --git a/setversion.py b/setversion.py
new file mode 100755
index 0000000..85523d7
--- /dev/null
+++ b/setversion.py
@@ -0,0 +1,123 @@
+# Python program to set the version.

+##############################################

+

+import re

+import sys

+import optparse

+

+def fileProcess( name, lineFunction ):

+	filestream = open( name, 'r' )

+	if filestream.closed:

+		print( "file " + name + " not open." )

+		return

+

+	output = ""

+	print( "--- Processing " + name + " ---------" )

+	while 1:

+		line = filestream.readline()

+		if not line: break

+		output += lineFunction( line )

+	filestream.close()

+	

+	if not output: return			# basic error checking

+	

+	print( "Writing file " + name )

+	filestream = open( name, "w" );

+	filestream.write( output );

+	filestream.close()

+	

+def echoInput( line ):

+	return line

+

+parser = optparse.OptionParser( "usage: %prog major minor build" )

+(options, args) = parser.parse_args()

+if len(args) != 3:

+	parser.error( "incorrect number of arguments" );

+

+major = args[0]

+minor = args[1]

+build = args[2]

+versionStr = major + "." + minor + "." + build

+

+print ("Setting dox,tinyxml2.h")

+print ("Version: " + major + "." + minor + "." + build)

+

+#### Write the tinyxml.h ####

+

+def engineRule( line ):

+

+	matchMajor = "static const int TIXML2_MAJOR_VERSION"

+	matchMinor = "static const int TIXML2_MINOR_VERSION"

+	matchBuild = "static const int TIXML2_PATCH_VERSION"

+

+	if line[0:len(matchMajor)] == matchMajor:

+		print( "1)tinyxml2.h Major found" )

+		return matchMajor + " = " + major + ";\n"

+

+	elif line[0:len(matchMinor)] == matchMinor:

+		print( "2)tinyxml2.h Minor found" )

+		return matchMinor + " = " + minor + ";\n"

+

+	elif line[0:len(matchBuild)] == matchBuild:

+		print( "3)tinyxml2.h Build found" )

+		return matchBuild + " = " + build + ";\n"

+

+	else:

+		return line;

+

+fileProcess( "tinyxml2.h", engineRule )

+

+

+#### Write the dox ####

+

+def doxRule( line ):

+

+	match = "PROJECT_NUMBER"

+

+	if line[0:len( match )] == match:

+		print( "dox project found" )

+		return "PROJECT_NUMBER = " + major + "." + minor + "." + build + "\n"

+

+	else:

+		return line;

+

+fileProcess( "dox", doxRule )

+

+

+#### Write the CMakeLists.txt ####

+

+def cmakeRule1( line ):

+

+	matchVersion = "set(GENERIC_LIB_VERSION"

+

+	if line[0:len(matchVersion)] == matchVersion:

+		print( "1)tinyxml2.h Major found" )

+		return matchVersion + " \"" + major + "." + minor + "." + build + "\")" + "\n"

+

+	else:

+		return line;

+

+fileProcess( "CMakeLists.txt", cmakeRule1 )

+

+def cmakeRule2( line ):

+

+	matchSoversion = "set(GENERIC_LIB_SOVERSION"

+

+	if line[0:len(matchSoversion)] == matchSoversion:

+		print( "1)tinyxml2.h Major found" )

+		return matchSoversion + " \"" + major + "\")" + "\n"

+

+	else:

+		return line;

+

+fileProcess( "CMakeLists.txt", cmakeRule2 )

+

+print( "Release note:" )

+print( '1. Build.   g++ -Wall -DDEBUG tinyxml2.cpp xmltest.cpp -o gccxmltest.exe' )

+print( '2. Commit.  git commit -am"setting the version to ' + versionStr + '"' )

+print( '3. Tag.     git tag ' + versionStr )

+print( '   OR       git tag -a ' + versionStr + ' -m [tag message]' )

+print( 'Remember to "git push" both code and tag. For the tag:' )

+print( 'git push origin [tagname]')

+

+ 
\ No newline at end of file