allow java eventlogtags to be generated for packages that aren't included

If there are packages that specify logtags being built that aren't
included in the product, their logtags won't be included in the merged
file.  Assign an arbitrary tag number to them so they can be built
anyway.

Change-Id: I4929016bf289b7a814b48bc51f324c09f500fab1
diff --git a/tools/java-event-log-tags.py b/tools/java-event-log-tags.py
index 552021e..c63fa20 100755
--- a/tools/java-event-log-tags.py
+++ b/tools/java-event-log-tags.py
@@ -66,7 +66,14 @@
 merged_by_name = dict([(t.tagname, t) for t in merged_tagfile.tags])
 for t in tagfile.tags:
   if t.tagnum is None:
-    t.tagnum = merged_by_name[t.tagname].tagnum
+    if t.tagname in merged_by_name:
+      t.tagnum = merged_by_name[t.tagname].tagnum
+    else:
+      # We're building something that's not being included in the
+      # product, so its tags don't appear in the merged file.  Assign
+      # them all an arbitrary number so we can emit the java and
+      # compile the (unused) package.
+      t.tagnum = 999999
 
 if "java_package" not in tagfile.options:
   tagfile.AddError("java_package option not specified", linenum=0)
diff --git a/tools/merge-event-log-tags.py b/tools/merge-event-log-tags.py
index c8f36fc..25ac697 100755
--- a/tools/merge-event-log-tags.py
+++ b/tools/merge-event-log-tags.py
@@ -137,7 +137,7 @@
 for name, t in sorted(by_tagname.iteritems()):
   if t.tagnum is None:
     while True:
-      x = (hashname(name) % (ASSIGN_LIMIT - ASSIGN_START)) + ASSIGN_START
+      x = (hashname(name) % (ASSIGN_LIMIT - ASSIGN_START - 1)) + ASSIGN_START
       if x not in by_tagnum:
         t.tagnum = x
         by_tagnum[x] = t