]> granicus.if.org Git - icu/commitdiff
ICU-7787 Updated API report tool to show APIs promoted from internal to stable proper...
authorYoshito Umaoka <y.umaoka@gmail.com>
Wed, 27 Jul 2011 22:44:49 +0000 (22:44 +0000)
committerYoshito Umaoka <y.umaoka@gmail.com>
Wed, 27 Jul 2011 22:44:49 +0000 (22:44 +0000)
X-SVN-Rev: 30434

icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/ReportAPI.java

index 98c2dcdbf95d8e874db39c6f8fe2be7b3677c673..e2b5c4ce4b2d772a811d8624e8c027503d935569 100644 (file)
@@ -1,6 +1,6 @@
 /**
 *******************************************************************************
-* Copyright (C) 2004-2010, International Business Machines Corporation and    *
+* Copyright (C) 2004-2011, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
@@ -48,7 +48,8 @@ public class ReportAPI {
 
     TreeSet<APIInfo> added;
     TreeSet<APIInfo> removed;
-    TreeSet<APIInfo> promoted;
+    TreeSet<APIInfo> promotedStable;
+    TreeSet<APIInfo> promotedDraft;
     TreeSet<APIInfo> obsoleted;
     ArrayList<DeltaInfo> changed;
 
@@ -205,7 +206,8 @@ public class ReportAPI {
         TreeSet<APIInfo> changedRemoved = new TreeSet<APIInfo>(APIInfo.defaultComparator());
         changedRemoved.addAll(tempRemoved);
 
-        promoted = new TreeSet<APIInfo>(APIInfo.defaultComparator());
+        promotedStable = new TreeSet<APIInfo>(APIInfo.defaultComparator());
+        promotedDraft = new TreeSet<APIInfo>(APIInfo.defaultComparator());
         obsoleted = new TreeSet<APIInfo>(APIInfo.defaultComparator());
         ai = changedAdded.iterator();
         ri = changedRemoved.iterator();
@@ -221,7 +223,11 @@ public class ReportAPI {
             } else {
                 int change = statusChange(a, r);
                 if (change > 0) {
-                    promoted.add(a);
+                    if (r.isStable()) {
+                        promotedStable.add(a);
+                    } else {
+                        promotedDraft.add(a);
+                    }
                 } else if (change < 0) {
                     obsoleted.add(a);
                 }
@@ -232,7 +238,8 @@ public class ReportAPI {
 
         added = stripAndResort(added);
         removed = stripAndResort(removed);
-        promoted = stripAndResort(promoted);
+        promotedStable = stripAndResort(promotedStable);
+        promotedDraft = stripAndResort(promotedDraft);
         obsoleted = stripAndResort(obsoleted);
     }
 
@@ -325,10 +332,23 @@ public class ReportAPI {
             pw.println();
             pw.println("<hr/>");
             pw.println("<h2>Promoted to stable in " + newData.name + "</h2>");
-            if (promoted.size() > 0) {
-                printResults(promoted, pw, true, false);
+            if (promotedStable.size() > 0) {
+                printResults(promotedStable, pw, true, false);
             } else {
-                pw.println("<p>(no API promoted)</p>");
+                pw.println("<p>(no API promoted to stable)</p>");
+            }
+
+            if (internal) {
+                // APIs promoted from internal to draft is reported only when
+                // internal API check is enabled
+                pw.println();
+                pw.println("<hr/>");
+                pw.println("<h2>Promoted to draft in " + newData.name + "</h2>");
+                if (promotedDraft.size() > 0) {
+                    printResults(promotedDraft, pw, true, false);
+                } else {
+                    pw.println("<p>(no API promoted to draft)</p>");
+                }
             }
 
             pw.println();
@@ -381,10 +401,21 @@ public class ReportAPI {
             pw.println();
             pw.println();
             pw.println("=== Promoted to stable in " + newData.name + " ===");
-            if (promoted.size() > 0) {
-                printResults(promoted, pw, false, false);
+            if (promotedStable.size() > 0) {
+                printResults(promotedStable, pw, false, false);
             } else {
-                pw.println("(no API promoted)");
+                pw.println("(no API promoted to stable)");
+            }
+
+            if (internal) {
+                pw.println();
+                pw.println();
+                pw.println("=== Promoted to draft in " + newData.name + " ===");
+                if (promotedDraft.size() > 0) {
+                    printResults(promotedDraft, pw, false, false);
+                } else {
+                    pw.println("(no API promoted to draft)");
+                }
             }
 
             pw.println();