Merge changes from topic "master_2019c"

* changes:
  Update tzdb version from 2019b to 2019c
  Update tools to invoke Soong properly
diff --git a/distro/tools/Android.bp b/distro/tools/Android.bp
index 00e844f..bfc07b7 100644
--- a/distro/tools/Android.bp
+++ b/distro/tools/Android.bp
@@ -13,11 +13,11 @@
 // limitations under the License.
 
 // The tool used to create time zone distro.zip files.
-java_library_host {
+java_binary_host {
     name: "create_time_zone_distro",
-
+    main_class: "com.android.timezone.distro.tools.CreateTimeZoneDistro",
     srcs: ["src/main/**/*.java"],
-    libs: [
+    static_libs: [
         "time_zone_distro",
     ],
 }
diff --git a/distro/tools/create-distro.py b/distro/tools/create-distro.py
index fa15004..9e70470 100755
--- a/distro/tools/create-distro.py
+++ b/distro/tools/create-distro.py
@@ -27,6 +27,8 @@
 sys.path.append('%s/external/icu/tools' % os.environ.get('ANDROID_BUILD_TOP'))
 import i18nutil
 
+sys.path.append('%s/system/timezone' % os.environ.get('ANDROID_BUILD_TOP'))
+import tzdatautil
 
 android_build_top = i18nutil.GetAndroidRootOrDie()
 android_host_out_dir = i18nutil.GetAndroidHostOutOrDie()
@@ -35,20 +37,11 @@
 
 def RunCreateTimeZoneDistro(properties_file):
   # Build the libraries needed.
-  subprocess.check_call(['make', '-C', android_build_top, 'create_time_zone_distro',
-      'time_zone_distro'])
-
-  libs = [ 'create_time_zone_distro', 'time_zone_distro' ]
-  host_java_libs_dir = '%s/../common/obj/JAVA_LIBRARIES' % android_host_out_dir
-  classpath_components = []
-  for lib in libs:
-      classpath_components.append('%s/%s_intermediates/javalib.jar' % (host_java_libs_dir, lib))
-
-  classpath = ':'.join(classpath_components)
+  tzdatautil.InvokeSoong(android_build_top, ['create_time_zone_distro'])
 
   # Run the CreateTimeZoneDistro tool
-  subprocess.check_call(['java', '-cp', classpath,
-      'com.android.timezone.distro.tools.CreateTimeZoneDistro', properties_file])
+  command = '%s/bin/create_time_zone_distro' % android_host_out_dir
+  subprocess.check_call([command, properties_file])
 
 
 def CreateTimeZoneDistro(
diff --git a/input_data/android/countryzones.txt b/input_data/android/countryzones.txt
index c9c30ab..530bbf2 100644
--- a/input_data/android/countryzones.txt
+++ b/input_data/android/countryzones.txt
@@ -25,7 +25,7 @@
 # a time zone for an Android device.
 
 # ianaVersion: The version of the IANA rules this file matches.
-ianaVersion:"2019b"
+ianaVersion:"2019c"
 
 # countries:
 #
diff --git a/input_data/iana/tzdata2019b.tar.gz b/input_data/iana/tzdata2019b.tar.gz
deleted file mode 100644
index 203cc21..0000000
--- a/input_data/iana/tzdata2019b.tar.gz
+++ /dev/null
Binary files differ
diff --git a/input_data/iana/tzdata2019b.tar.gz.asc b/input_data/iana/tzdata2019b.tar.gz.asc
deleted file mode 100644
index a6c2ecf..0000000
--- a/input_data/iana/tzdata2019b.tar.gz.asc
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAl0Zs9AACgkQ7ZfpDmKq
-fjT55Q/9G4BmEDL48wU0slZCAFNMqbvNfizL2MTNHC6Yv60gwdQCl7CgQk+zE+1W
-b4ir1Vm23eWWVdCjGGwjt4WWy+SlvnEKqjiZxTRFpkB5to8Zi5KNklGlUX0U9iUu
-vMCVKeIQMFLUr6sAqAk4lgJ2OUF1MNaj2kVwINxS+C8rCyr6wjn6FWWaxvbCO3+D
-2Z8sZgCRBWxmckqX+4Nmv2YeCGuL1ZjVTz0flkWi/OduR+PjBe/9PN506PjeEht8
-cqOjtRz/V4SEKfbv6rn8jqxDrl6xkrBxfiaF64smWgwSFcQ9yRrxCt2L35tARdal
-DAP/vb1PemUb0fJawYP/ZhiArk0fCRRZ+wleTZKsk65I4VsrffQ3rYe5ZtMYnUhO
-+UP+B7OkxNa0gARf+uFwYvrqZefg0HRq/INFqd3TCkza0wa7Rb3mQL9orCzUH7St
-XLrdhRJYWGcuepGBiTdO4+yPqXkK7k89W3ACo+HiVuRbMRo3Xf+38918kubns41l
-/itR/C/lSN+/ErokSh6VshelvOuMVcgoghTD7fDAtNaH9IgldEIF/Wf3m1Um+V9R
-sN646EvAazgkxw3hD1sEDxHxN7TIsxFvTaimVg+uwrX2b8Ok+tffomlalSXoOS8F
-zK/EyKROm8v2dSJUD0Hf+FvDqJm/Pre0ydKqsdahJYBxIStNnX8=
-=P/tF
------END PGP SIGNATURE-----
diff --git a/input_data/iana/tzdata2019c.tar.gz b/input_data/iana/tzdata2019c.tar.gz
new file mode 100644
index 0000000..2a9c944
--- /dev/null
+++ b/input_data/iana/tzdata2019c.tar.gz
Binary files differ
diff --git a/input_data/iana/tzdata2019c.tar.gz.asc b/input_data/iana/tzdata2019c.tar.gz.asc
new file mode 100644
index 0000000..ed2ac8f
--- /dev/null
+++ b/input_data/iana/tzdata2019c.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAl15Gt8ACgkQ7ZfpDmKq
+fjQJIQ//d285K+JrdfrQdhWCps5cQkxylPUyCvuBLEW7fI/hbyyWDL5Mh0KF1goT
+9eboGFxenHsNGpEpyEp9DGPc17PmA4lck0gQ7Uz3dZ/AkmZ+mFipHKlxk8SDDNEV
+WssSqdKEi8ZkKznVRrfQt2RAHeNHy2xofKmhkVn3dOCOMzp4RCC/eet+gqDVCXmT
+jN+sLRpWJq66fn/Ap3lpAvXVHb5aw/fLb1VsncD5L6JppGdCvdPpEGo4Hx4LgmVt
+pxQE0zACGSQzC49P6UsHPP0kiQDCAvDheyKQsnnWR4ii2elOrcQncKXaSla+CCqQ
+dBClTx52fCTUWzmFHI/aTRz01jOomKa5bK1QSgmIZK4dg56oC6zj9740ingcSrt3
+Q5+hQp5KeXjab/jqgZhWbuWG90Yho8v8WLP9Pde8CYma+UyKzIPsD7KdVqHzGylK
+PYkeyfgR3GuaxOYnseg+xr68OEYXK36PAGspiJkdGklRZ0eoEPNm1PpQSm+mVORP
+LOWgvR6+kz1AFM9Qr0hZph1YfiFp4P3X/fbwweW+uHmSAyiXiXTvDlOhBJ4Od2mG
+J8WWgMzXOK6MP+vbKSVXysFX6GTXkaP4c9Ou9B9OQkF5PGK6294so6dcVJ9Aw7ot
+ZWyzyEdkUX3gyHjsaLbS4TexBu8Y46IPoL+42FbBdO61Aj2QhBA=
+=EFVW
+-----END PGP SIGNATURE-----
diff --git a/input_tools/android/Android.bp b/input_tools/android/Android.bp
index def15df..ace0bad 100644
--- a/input_tools/android/Android.bp
+++ b/input_tools/android/Android.bp
@@ -14,9 +14,9 @@
 
 // A static library for the zone_compactor host tool.
 // The tool can be run with java -jar zone_compactor.jar
-java_library_host {
+java_binary_host {
     name: "zone_compactor",
-    manifest: "main/manifest/MANIFEST.mf",
+    main_class: "ZoneCompactor",
     srcs: ["main/java/**/*.java"],
 }
 
diff --git a/input_tools/android/main/manifest/MANIFEST.mf b/input_tools/android/main/manifest/MANIFEST.mf
deleted file mode 100644
index c4711d2..0000000
--- a/input_tools/android/main/manifest/MANIFEST.mf
+++ /dev/null
@@ -1 +0,0 @@
-Main-Class: ZoneCompactor
diff --git a/output_data/android/tzlookup.xml b/output_data/android/tzlookup.xml
index 5609355..d39d311 100644
--- a/output_data/android/tzlookup.xml
+++ b/output_data/android/tzlookup.xml
@@ -2,7 +2,7 @@
 
  **** Autogenerated file - DO NOT EDIT ****
 
---><timezones ianaversion="2019b">
+--><timezones ianaversion="2019c">
  <countryzones>
   <country code="ad" default="Europe/Andorra" everutc="n">
    <id>Europe/Andorra</id>
diff --git a/output_data/distro/distro.zip b/output_data/distro/distro.zip
index 2b67d9a..326bff5 100644
--- a/output_data/distro/distro.zip
+++ b/output_data/distro/distro.zip
Binary files differ
diff --git a/output_data/iana/tzdata b/output_data/iana/tzdata
index 7cc666d..1778881 100644
--- a/output_data/iana/tzdata
+++ b/output_data/iana/tzdata
Binary files differ
diff --git a/output_data/icu_overlay/icu_tzdata.dat b/output_data/icu_overlay/icu_tzdata.dat
index 5383d91..e32cc35 100644
--- a/output_data/icu_overlay/icu_tzdata.dat
+++ b/output_data/icu_overlay/icu_tzdata.dat
Binary files differ
diff --git a/output_data/version/tz_version b/output_data/version/tz_version
index dadd38b..d0e6c1d 100644
--- a/output_data/version/tz_version
+++ b/output_data/version/tz_version
@@ -1 +1 @@
-004.001|2019b|001
\ No newline at end of file
+004.001|2019c|001
\ No newline at end of file
diff --git a/testing/data/test1/output_data/distro/distro.zip b/testing/data/test1/output_data/distro/distro.zip
index a85ebc8..6f5e12a 100644
--- a/testing/data/test1/output_data/distro/distro.zip
+++ b/testing/data/test1/output_data/distro/distro.zip
Binary files differ
diff --git a/testing/data/test1/output_data/iana/tzdata b/testing/data/test1/output_data/iana/tzdata
index 7fc7799..333cd7b 100644
--- a/testing/data/test1/output_data/iana/tzdata
+++ b/testing/data/test1/output_data/iana/tzdata
Binary files differ
diff --git a/testing/data/test1/output_data/icu_overlay/icu_tzdata.dat b/testing/data/test1/output_data/icu_overlay/icu_tzdata.dat
index c4a2565..23544da 100644
--- a/testing/data/test1/output_data/icu_overlay/icu_tzdata.dat
+++ b/testing/data/test1/output_data/icu_overlay/icu_tzdata.dat
Binary files differ
diff --git a/testing/data/test2/output_data/distro/distro.zip b/testing/data/test2/output_data/distro/distro.zip
index 84eed87..84d30ac 100644
--- a/testing/data/test2/output_data/distro/distro.zip
+++ b/testing/data/test2/output_data/distro/distro.zip
Binary files differ
diff --git a/testing/data/test2/output_data/iana/tzdata b/testing/data/test2/output_data/iana/tzdata
index b4b004c..883b3bd 100644
--- a/testing/data/test2/output_data/iana/tzdata
+++ b/testing/data/test2/output_data/iana/tzdata
Binary files differ
diff --git a/testing/data/test2/output_data/icu_overlay/icu_tzdata.dat b/testing/data/test2/output_data/icu_overlay/icu_tzdata.dat
index 2beff19..61ac701 100644
--- a/testing/data/test2/output_data/icu_overlay/icu_tzdata.dat
+++ b/testing/data/test2/output_data/icu_overlay/icu_tzdata.dat
Binary files differ
diff --git a/testing/data/test3/output_data/distro/distro.zip b/testing/data/test3/output_data/distro/distro.zip
index 6d0a70c..4ae519d 100644
--- a/testing/data/test3/output_data/distro/distro.zip
+++ b/testing/data/test3/output_data/distro/distro.zip
Binary files differ
diff --git a/testing/data/test3/output_data/iana/tzdata b/testing/data/test3/output_data/iana/tzdata
index 7fc7799..333cd7b 100644
--- a/testing/data/test3/output_data/iana/tzdata
+++ b/testing/data/test3/output_data/iana/tzdata
Binary files differ
diff --git a/testing/data/test3/output_data/icu_overlay/icu_tzdata.dat b/testing/data/test3/output_data/icu_overlay/icu_tzdata.dat
index 8c617ee..2828ba2 100644
--- a/testing/data/test3/output_data/icu_overlay/icu_tzdata.dat
+++ b/testing/data/test3/output_data/icu_overlay/icu_tzdata.dat
Binary files differ
diff --git a/tzdatautil.py b/tzdatautil.py
index 3f82227..5a67836 100644
--- a/tzdatautil.py
+++ b/tzdatautil.py
@@ -15,6 +15,7 @@
 from __future__ import print_function
 
 import os
+import subprocess
 import sys
 
 """Shared functions for use in tzdata scripts."""
@@ -33,3 +34,9 @@
     print('Multiple %s files found unexpectedly %s' % (file_prefix, matching_files))
     sys.exit(1)
 
+
+def InvokeSoong(android_build_top, build_modules):
+  old_cwd = os.getcwd()
+  os.chdir(android_build_top)
+  subprocess.check_call(['build/soong/soong_ui.bash', '--make-mode', '-j30'] + build_modules)
+  os.chdir(old_cwd)
diff --git a/tzlookup_generator/Android.bp b/tzlookup_generator/Android.bp
index a05979f..7e7c2b9 100644
--- a/tzlookup_generator/Android.bp
+++ b/tzlookup_generator/Android.bp
@@ -27,7 +27,7 @@
 java_binary_host {
     name: "tzlookup_generator",
 
-    manifest: "src/main/manifest/MANIFEST.mf",
+    main_class: "com.android.libcore.timezone.tzlookup.TzLookupGenerator",
     srcs: ["src/main/java/**/*.java"],
     javacflags: [
         "-encoding UTF-8",
diff --git a/tzlookup_generator/src/main/manifest/MANIFEST.mf b/tzlookup_generator/src/main/manifest/MANIFEST.mf
deleted file mode 100644
index 1a1ad46..0000000
--- a/tzlookup_generator/src/main/manifest/MANIFEST.mf
+++ /dev/null
@@ -1 +0,0 @@
-Main-Class: com.android.libcore.timezone.tzlookup.TzLookupGenerator
diff --git a/update-tzdata.py b/update-tzdata.py
index 71618fd..a7cf6cc 100755
--- a/update-tzdata.py
+++ b/update-tzdata.py
@@ -162,17 +162,17 @@
   zone_compactor_setup_file = WriteSetupFile(zic_input_file)
 
   print('Calling ZoneCompactor to update tzdata to %s...' % iana_data_version)
-  subprocess.check_call(['make', '-C', android_build_top, '-j30', 'zone_compactor'])
+
+  tzdatautil.InvokeSoong(android_build_top, ['zone_compactor'])
 
   # Create args for ZoneCompactor
   zone_tab_file = '%s/zone.tab' % extracted_iana_data_dir
-  jar_file = '%s/framework/zone_compactor.jar' % android_host_out
   header_string = 'tzdata%s' % iana_data_version
 
   print('Executing ZoneCompactor...')
+  command = '%s/bin/zone_compactor' % android_host_out
   iana_output_data_dir = '%s/iana' % timezone_output_data_dir
-  subprocess.check_call(['java', '-jar', jar_file,
-                         zone_compactor_setup_file, zic_output_dir, zone_tab_file,
+  subprocess.check_call([command, zone_compactor_setup_file, zic_output_dir, zone_tab_file,
                          iana_output_data_dir, header_string])
 
 
@@ -181,12 +181,11 @@
   tzlookup_dest_file = '%s/android/tzlookup.xml' % timezone_output_data_dir
 
   print('Calling TzLookupGenerator to create tzlookup.xml...')
-  subprocess.check_call(['make', '-C', android_build_top, '-j30', 'tzlookup_generator'])
+  tzdatautil.InvokeSoong(android_build_top, ['tzlookup_generator'])
 
-  jar_file = '%s/framework/tzlookup_generator.jar' % android_host_out
   zone_tab_file = '%s/zone.tab' % iana_data_dir
-  subprocess.check_call(['java', '-jar', jar_file,
-                         countryzones_source_file, zone_tab_file, tzlookup_dest_file])
+  command = '%s/bin/tzlookup_generator' % android_host_out
+  subprocess.check_call([command, countryzones_source_file, zone_tab_file, tzlookup_dest_file])
 
 
 def CreateDistroFiles(iana_data_version, output_distro_dir, output_version_file):