JEP 106: Add Javadoc to javax.tools
Добавление javadoc в javax.tools
| Ответственный | Jonathan Gibbons |
| Тип | Feature |
| Область | SE |
| Статус | Closed / Delivered |
| Выпуск | 8 |
| Компонент | tools / javadoc(tool) |
| JSR | 199 MR |
| Обсуждение | compiler dash dev at openjdk dot java dot net |
| Трудоёмкость | S |
| Длительность | S |
| Одобрен | Brian Goetz |
| Создан | 2011/07/21 20:00 |
| Обновлён | 2015/02/13 19:41 |
| Задача | 8046096 |
Аннотация
Расширить API javax.tools, чтобы обеспечить доступ к javadoc.
Мотивация
Всё чаще возникает потребность вызывать инструменты через API, как часть более крупной программной среды, а не запуская новый процесс через exec. Это повышает производительность, поскольку не нужно запускать дополнительные JVM, а API позволяет вызывать инструменты с более строгой проверкой типов.
Описание
Изменения в API относительно невелики, но реализация новых методов требует определённого рефакторинга существующей реализации. Основная задача — заменить все существующие использования java.io.File соответствующими использованиями javax.tools.FileObject. Бо́льшая часть этой работы уже выполнена в JDK 7, но оставшуюся работу пришлось отложить из-за вероятной зависимости от нового NIO API.
Тестирование
Для проверки новой функциональности будут написаны модульные тесты (jtreg). Требований, зависящих от платформы, не будет.
Риски и допущения
В целом javadoc — очень старый код, которому давно не уделяли должного внимания. Есть риск, что рефакторинг окажется не таким простым, как ожидается.
Зависимости
До сих пор существовала вероятная зависимость от нового NIO API, но теперь он доступен в JDK 7.
Влияние
- JCP: сопровождающее рассмотрение (maintenance review) JSR 199
- Совместимость: минимальное
- Документация: только документация API
- Интернационализация: минимальное
- Локализация: минимальное