umldoclet icon indicating copy to clipboard operation
umldoclet copied to clipboard

Documentation of additionalOptions

Open ualjjcanada opened this issue 2 years ago • 7 comments

Is your feature request related to a problem? Please describe.
It would be desirable documentation of all additional options available, and how write them on the pom.xml. If not all of them, at least some help to write custom additional options.

Describe the solution you'd like
A table with a list of additional options. For example, I am trying to write an option to generate methods with parameter names in the UML diagram. Maybe the solution is related to the API Enum MethodConfig.ParamNames , but no instructions of how write such additional option are provided.

Other desirable additional option would be to include (or not) in the diagram all overridden methods, such as toString() o equals(). Such overridden methods are included on the javadoc files, but not in the UML diagram.

Other desirable additional option would be to include (or not) in the diagram attributes generated by class relations (aggregations, compositions, ...) which do not appear in the classes.

Describe alternatives you've considered
Some available options are:

<additionalOption>-umlImageDirectory images</additionalOption> 
<additionalOption>-umlImageFormat svg_img,png</additionalOption>
<additionalOption>-private</additionalOption>
<additionalOption>-createPumlFiles</additionalOption>
<additionalOption>-umlCustomDirective "skinparam classBackgroundColor LightYellow"</additionalOption>

Some desirable options would be, as example:

<additionalOption>-showMethodsParamNames BEFORE_TYPE</additionalOption> 
<additionalOption>-showOverridenMethods true</additionalOption> 
...

Additional context
Those additional options provided with -umlCustomDirective rely on PlantUML, where others should rely on the doclet.

ualjjcanada avatar Dec 20 '22 13:12 ualjjcanada

Not all options that were available in the UmlDoclet v1 are available in the 2.x version since the full rewrite.

This is intentional. There is a wish for more fine-grained configuration options while reducing the forrest of additional options to pass to the javadoc tool. This is explained briefly in the following issue: https://github.com/talsma-ict/umldoclet/issues/125

sjoerdtalsma avatar Dec 20 '22 19:12 sjoerdtalsma

Hi, just to save a quick reply to the issue, additional options currently implemented are here: UMLOptions.java

Current implemented options are:

	// Options from Standard doclet that we also support
            "-quiet"
            "-verbose"
            "-docencoding"
            "-encoding"
            "-link";
            "-linkoffline"
            "-private"
            "-package"
            "-protected"
            "-public"
            "--show-members"
            "-d"   // config.destDirName = args.get(0))

       // Our own options
            "--plantuml-server-url -plantumlServerUrl"
            "--delegate-doclet -delegateDoclet"
            "--create-puml-files -createPumlFiles"
            "--uml-image-directory -umlImageDirectory"
            "--uml-image-format -umlImageFormat"
            "--uml-encoding -umlEncoding"
            "--uml-excluded-type-references -umlExcludedTypeReferences"         // adds overriden methods toString() and equals() 
            "--uml-excluded-package-dependencies -umlExcludedPackageDependencies"
            "--uml-custom-directive -umlCustomDirective"
            "--fail-on-cyclic-package-dependencies -failOnCyclicPackageDependencies"
            "--uml-java-bean-properties-as-fields -umlJavaBeanPropertiesAsFields"
            "--uml-timeout -umlTimeout"
  

ualjjcanada avatar Jan 09 '23 12:01 ualjjcanada

Hi, I understand the necessity of providing fine-grained configuration options through more powerful mechanisms such as annotations or tags. However, in some use cases, providing general options in a configuration file (as pom.xml) does avoid the necessity of refactoring source code, package by package, class by class, to add such annotations or tags. Moreover, a common configuration file can be reused in different projects without any source code modifications. From an academic point of view, as is my case, that is the easier way to do. Thanks a lot. Joaquín

ualjjcanada avatar Jan 09 '23 12:01 ualjjcanada

Hi, I would like an option to ignore the cyclic package dependencies warning if that is possible. Thanks a lot. Kas

kasderooi avatar Jul 06 '23 12:07 kasderooi

Hi, can enable "-link" option multiple times to include different sites? it only accept 1

erickjx avatar Oct 16 '23 16:10 erickjx

Hi, can enable "-link" option multiple times to include different sites? it only accept 1

@erickjx Could you create a separate issue for this request? Thanks in advance!

sjoerdtalsma avatar Oct 21 '23 14:10 sjoerdtalsma

Hi, I would like an option to ignore the cyclic package dependencies warning if that is possible. Thanks a lot. Kas

@kasderooi Could you create a separate issue for this request? Thanks in advance!

sjoerdtalsma avatar Oct 21 '23 14:10 sjoerdtalsma