openjdk.ruOpenJDK на русском

JEP 106: Add Javadoc to javax.tools

Добавление javadoc в javax.tools

ОтветственныйJonathan Gibbons
ТипFeature
ОбластьSE
СтатусClosed / Delivered
Выпуск8
Компонентtools / javadoc(tool)
JSR199 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
  • Интернационализация: минимальное
  • Локализация: минимальное