From: Yoshito Umaoka Date: Wed, 27 Jul 2011 22:44:49 +0000 (+0000) Subject: ICU-7787 Updated API report tool to show APIs promoted from internal to stable proper... X-Git-Tag: milestone-59-0-1~4616 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=36611630760b3b1b4bba7eed0a09b2a73e3b244a;p=icu ICU-7787 Updated API report tool to show APIs promoted from internal to stable properly when -internal option is specified. X-SVN-Rev: 30434 --- diff --git a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/ReportAPI.java b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/ReportAPI.java index 98c2dcdbf95..e2b5c4ce4b2 100644 --- a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/ReportAPI.java +++ b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/ReportAPI.java @@ -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 added; TreeSet removed; - TreeSet promoted; + TreeSet promotedStable; + TreeSet promotedDraft; TreeSet obsoleted; ArrayList changed; @@ -205,7 +206,8 @@ public class ReportAPI { TreeSet changedRemoved = new TreeSet(APIInfo.defaultComparator()); changedRemoved.addAll(tempRemoved); - promoted = new TreeSet(APIInfo.defaultComparator()); + promotedStable = new TreeSet(APIInfo.defaultComparator()); + promotedDraft = new TreeSet(APIInfo.defaultComparator()); obsoleted = new TreeSet(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("
"); pw.println("

Promoted to stable in " + newData.name + "

"); - if (promoted.size() > 0) { - printResults(promoted, pw, true, false); + if (promotedStable.size() > 0) { + printResults(promotedStable, pw, true, false); } else { - pw.println("

(no API promoted)

"); + pw.println("

(no API promoted to stable)

"); + } + + if (internal) { + // APIs promoted from internal to draft is reported only when + // internal API check is enabled + pw.println(); + pw.println("
"); + pw.println("

Promoted to draft in " + newData.name + "

"); + if (promotedDraft.size() > 0) { + printResults(promotedDraft, pw, true, false); + } else { + pw.println("

(no API promoted to draft)

"); + } } 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();