IntelliJ UML диаграммы в PNG с помощью плагина Maven - PullRequest
0 голосов
/ 13 июня 2018

Можно ли создать плагин Maven для преобразования выходного XML из IntelliJ в PNG в определенной директории в target.Было бы неплохо, потому что тогда эти диаграммы всегда будут обновляться после чистой установки.Было бы неплохо использовать сайт Maven для их публикации, и это сделало бы эту документацию частью сборки / выпуска.

Или если бы кто-то предоставил код Java для преобразования XML в PNG (что уже возможнов текущем пользовательском интерфейсе IntelliJ, нажав кнопку экспорта в файл), я могу сделать плагин Maven самостоятельно.

Пример выходного XML-файла из IntelliJ

<?xml version="1.0" encoding="UTF-8"?>
<Diagram>
  <ID>JAVA</ID>
  <OriginalElement />
  <nodes>
    <node x="0.0" y="980.0">com.example.module.tree.domain.SomeThingTreeConfigurationException</node>
    <node x="578.0" y="628.0">com.example.module.tree.logic.impl.FixedTreeConfigTopic</node>
    <node x="722.0" y="255.0">com.example.module.tree.logic.impl.FixedTreeSomeThingTreeProviderProducer</node>
    <node x="0.0" y="276.0">com.example.module.tree.logic.impl.FixedTreeSomeThingTreeProvider</node>
    <node x="722.0" y="0.0">com.example.module.tree.api.SomeThingTreeProviderProducer</node>
    <node x="743.5" y="114.0">com.example.module.tree.api.ConfigurableSomeThingTreeProviderProducer</node>
    <node x="0.0" y="628.0">com.example.module.tree.domain.SomeThingTreeConfiguration</node>
    <node x="33.0" y="0.0">com.example.module.tree.api.SomeThingTreeProvider</node>
  </nodes>
  <notes />
  <edges>
    <edge source="com.example.module.tree.api.ConfigurableSomeThingTreeProviderProducer" target="com.example.module.tree.api.SomeThingTreeProviderProducer">
      <point x="0.0" y="-45.5" />
      <point x="0.0" y="32.0" />
    </edge>
    <edge source="com.example.module.tree.logic.impl.FixedTreeSomeThingTreeProvider" target="com.example.module.tree.api.SomeThingTreeProvider">
      <point x="0.0" y="-153.5" />
      <point x="0.0" y="113.0" />
    </edge>
    <edge source="com.example.module.tree.logic.impl.FixedTreeSomeThingTreeProviderProducer" target="com.example.module.tree.api.ConfigurableSomeThingTreeProviderProducer">
      <point x="0.0" y="-59.0" />
      <point x="0.0" y="45.5" />
    </edge>
  </edges>
  <settings layout="Hierarchic Group" zoom="1.0" x="257.0" y="253.0" />
  <SelectedNodes>
    <node>com.example.module.tree.logic.impl.FixedTreeConfigTopic</node>
  </SelectedNodes>
  <Categories>
    <Category>Methods</Category>
  </Categories>
  <SCOPE>All</SCOPE>
  <VISIBILITY>private</VISIBILITY>
</Diagram>

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Подход, который вы предлагаете, сделает вашу сборку зависимой от вашей IDE, что, я думаю, не очень хорошая идея.Большинство разработчиков хотят свободно выбирать свои инструменты.

Я нашел несколько плагинов Maven, которые генерируют диаграммы классов UML.Надеюсь, это поможет.

В качестве альтернативы вы можете добавить инструмент командной строки к вашим источникам (проверяя его в вашемсистемы контроля версий) и используйте exec-maven-plugin для ее запуска.

0 голосов
/ 14 июня 2018

Сам не пробовал, но, возможно, вы ищете https://github.com/gboersma/uml-java-doclet?

...