Lines Matching +full:all +full:- +full:apis
1 ---
3 title: APIs & Docs
7 ---
9 <!--
12 -->
14 # APIs & Docs
18 {: .no_toc .text-delta }
23 ---
30 see** [ICU-8862](https://unicode-org.atlassian.net/browse/ICU-8862) **).**
33 `sudo apt-get install doxygen`
39 "`configure --prefix /usr/local`" (to install into /usr/local/bin etc)<br>
43 4. Verify that '`doxygen --version`' gives the correct number.
45 2. Update the API documentation in all header files (.h file) to have correct
51 …[tools/release/java/readme.txt](https://htmlpreview.github.io/?https://github.com/unicode-org/icu/…
58 2. grep --recursive --include="\*.h" --exclude-dir=".svn" -e "@deprecated"
59 -A 5 . > at-deprecated.txt
60 3. grep --recursive --include="\*.h" --exclude-dir=".svn" -e "U_DEPRECATED"
61 -B 5 -A 1 . > u_deprecated.txt
63 5. For @stable, we either verify by cleaning up all others or we need to
70 compatibility](https://unicode-org.github.io/icu/userguide/icu/design#icu-api-compatibility).
73 [com.ibm.icu.dev.tool.docs.CheckTags](https://github.com/unicode-org/icu/blob/main/icu4j/tools/buil…
80 Make sure **@internal APIs** are also marked as @deprecated:
88 ---
90 ## Promote draft APIs to stable
92 APIs previously introduced as @draft are reviewed for every new release. The
100 Andy's method (from email 2019-sep-05):
107 * Do the API promotion - search the sources for @draft, and make a best guess
113 * Cross-check the API change report and the spread sheet.
120 3. This **ant** target generates a tab-separated values file at
122 4. Import the TSV file to Google spread sheet - for example, [ICU4J 61 Draft
126 5. Review all APIs introduced in 2 releases ago or older. For example, 59 or
129 * Newer APIs should be left in @draft state.
136 7. Mark APIs proposed for promotion, and add note in the spread sheet.
146 ---
154 1. Update the API documentation in all header files (.h file) to have correct
160 …[tools/release/java/readme.txt](https://github.com/unicode-org/icu/blob/main/tools/release/java/re…
168 * `export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64`
174 ArabicShaping constants do not have proper tags - otherwise, clean)
187 ---
191 Once APIs are frozen for a reference release, we should check in the API
203 change public APIs in maintenance releases. The API signature file for an ICU4J
204 version is generated and checked into trunk just before ***maint-xx*** branch is
209 ---
214 `#ifndef U_HIDE_DRAFT_API`. This allows users to `-DU_HIDE_DRAFT_API` to make
240 * We cannot #ifndef-guard virtual methods because that makes the vtable
244 * When you #ifndef-guard enum constants, normally the following unguarded ones
248 <span style="background-color:yellow">For more details (and cautions) see the
249 Coding Guidelines section [C/C++ Hiding Un-@stable
250 APIs](https://unicode-org.github.io/icu/userguide/dev/codingguidelines#cc-hiding-un-stable-apis).</…
257 Note: It is best to not use one single guard for APIs with different ICU
262 surrounds APIs with the corresponding status tag. In particular, make sure that
265 We don't have tools for this. <span style="background-color:yellow">One approach
267 files. Use grep options like -A 3, -B 2 and -C 3 for context After, Before, and
268 Around the matching line. <span style="background-color:yellow">A better
269 approach if you have the tools available is to use a programming-oriented text
275 "(U_HIDE_\[A-Z_\]+)|(@draft)|(@deprecated)|(@obsolete)|(@system)|(@internal)|(@preview)"
279 <span style="background-color:yellow">As part of this, you may need to run side
283 <span style="background-color:yellow">There is no magic bullet; however you
288 ---
294 [ICU-8571](https://unicode-org.atlassian.net/browse/ICU-8571))*
299 2. `cd source/tools/gendraft ; make install-headers`
303 ---
305 ## Compare ICU4J APIs with JDK
309 [com.ibm.icu.dev.tool.docs.ICUJDKCompare](https://github.com/unicode-org/icu/blob/main/icu4j/tools/…
312 ---
319 javadoc files. Create icu4c-X_X_X-docs.zip
322 [ICU-8862](https://unicode-org.atlassian.net/browse/ICU-8862) )**
328 `make doc-searchengine`
337 1. Follow directions in [How to update ICU docs](https://unicode-org.github.io/icu-docs/HOWTO-Upda…
339 a. First, bring the `main` branch of your icu-docs local copy up to date.
341 … switch to a feature branch based of the latest `main`. Ex: `git checkout -b ICU-<TICKET-NUMBER>`.
347 d. Be sure that you are in the right directory. Then, remove all the files
348 in this directory, e.g., `rm -rf *`. (Remember "git restore" is a good friend!)
350 …e. Unzip the tar file from above, replacing all documentation. Ex: `tar xvfz /tmp/icu4c72rc.tar.gz`
356 h. `git commit -m "ICU-<TICKET-NUMBER> Update ICU4C API reference docs for
358 …Example: [ICU-21546 Update ICU4C API reference docs for 69.1](https://github.com/unicode-org/icu-d…
360 i. `git push origin ICU-<TICKET-NUMBER>`
362 …e Pull Request from your personal github fork of icu-docs from your newly-pushed branch `ICU-<TICK…
363 the `unicode-org/icu-docs` repo's `main` branch
367 Note: This is also referenced below [Upload API documentations](docs.md#upload-api-documentations) …
372 <https://icu.unicode.org/setup/java/ant#TOC-Building-ICU4J-API-Reference-Document-with-JCite>
383 <https://icu.unicode.org/setup/java/ant#TOC-Building-ICU4J-API-Reference-Document-with-JCite>
391 which generate all release files.
393 * Upload the output files including icu4j-docs.jar to the release page first,
396 See [Upload API documentations](docs.md#upload-api-documentations) below for how to make the API do…
400 See <https://unicode-org.github.io/icu-docs/HOWTO-Update.html> for instructions
401 to upload to <https://unicode-org.github.io/icu-docs/>