From: Svjatoslav Agejenko Date: Sat, 18 Apr 2026 11:50:59 +0000 (+0300) Subject: chore: reorganize docs and update gitignore X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=commitdiff_plain;h=a6ea3738818f3ddf0a65719dde1b76172f460b50;p=javainspect.git chore: reorganize docs and update gitignore - Rename CLI usage doc to subdirectory structure with theme setup - Simplify .gitignore HTML pattern to wildcard - Bump demo project dependency to 1.8-SNAPSHOT --- diff --git a/.gitignore b/.gitignore index 0809663..6c235d2 100755 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ dependency-reduced-pom.xml /*.iml /JavaInspect.dot /JavaInspect.svg -/doc/index.html -/doc/usage\ cli.html +*.html /doc/graphs/ /doc/apidocs/ diff --git a/doc/upsage from cli/index.org b/doc/upsage from cli/index.org new file mode 100644 index 0000000..91ec55e --- /dev/null +++ b/doc/upsage from cli/index.org @@ -0,0 +1,112 @@ +:PROPERTIES: +:ID: acf1896a-74b4-4914-acf6-a77075e07f25 +:END: +#+SETUPFILE: ~/.emacs.d/org-styles/html/darksun.theme +#+TITLE: JavaInspect - usage from commandline +#+LANGUAGE: en +#+LATEX_HEADER: \usepackage[margin=1.0in]{geometry} +#+LATEX_HEADER: \usepackage{parskip} +#+LATEX_HEADER: \usepackage[none]{hyphenat} + +#+OPTIONS: H:20 num:20 +#+OPTIONS: author:nil + +[[file:../index.org][Back to main documentation]] + +* Commandline arguments +:PROPERTIES: +:CUSTOM_ID: available-commandline-arguments +:END: + + +- -j (existing files)... :: JAR file(s) to render. + +- -c (existing directories)... :: Classpath directories + +- -n (string) :: Graph name. (default: "graph") + +- --debug :: Show debug info. + +- -h, --help :: Show commandline usage help. + +- -k :: Keep dot file. + +- -ho :: + Hide orphaned classes. + +- -w (one to many strings)... :: Whitelist glob(s). + +- -b (one to many strings)... :: Blacklist glob(s). + +- -r (one to many strings)... :: root class(es). + +- -d (existing directory) :: Target directory. Default is current directory. + +- -t (options: png, svg) :: Target image type. Default is: svg. + +* Specifying classes to render +:PROPERTIES: +:CUSTOM_ID: specifying-classes-to-render +:END: + +Normal Java application has immense complexity. In addition to code +that was directly written by particular project developers, lots of +functionality is typically added as frameworks or libraries to the +project. In addition there is significant Java standard library. + +Because JavaInspect uses reflection, it does not easily distinguish +between those. In normal situation you would rather want to visualize +only code that was developed specifically for your project and leave +frameworks like Spring etc. out. If you visualize all classes that are +possibly reachable from you project, you will easily get huge and +incomprehensible graph. + +JavaInspect can digest compiled Java classes in 2 modes: +1. Provide list of Jar files. Use *-j* option. +2. Provide list of filesystem directories that can be used as + classpath root. Use *-c* option. + +Currently JavaInspect uses following algorithm to add classes to +rendered graph: + +- All classes that were found in Jar files are added to graph by default. +- None of the classes that were found in filesystem directories are + added to the graph by default (unless explicitly referenced). (TODO: + for consistency it would be better to add them too by default) +- If whitelist is specified (*-w* option) everything that is not + matched by whitelist pattern(s) will be removed from the graph. +- If blacklist is specified (*-b* option) everything that is matched + by blacklist pattern(s) will be removed from the graph. +- Root classes can be specified using *-r* option. Root classes will + be added to the graph. JavaInspect will then try to recursively + discover all classes that were referenced by root class and add + those also to the graph. + +* Examples +:PROPERTIES: +:CUSTOM_ID: examples +:END: + +Visualize java Jar file. All classes. Hide orphaned classes: + +#+begin_src sh + javainspect \ + -j target/sixth-3d-*-SNAPSHOT.jar \ + -d doc/graphs/ \ + -n "all classes" \ + -t png -ho +#+end_src + + +Visualize java Jar file. All classes. Hide orphaned classes. Apply +whitelist: + +#+begin_src sh + javainspect \ + -j target/sixth-3d-*-SNAPSHOT.jar \ + -d doc/graphs/ \ + -n "GUI" \ + -t png \ + -w "eu.svjatoslav.sixth.e3d.gui.*" \ + -ho +#+end_src diff --git a/doc/usage cli.org b/doc/usage cli.org deleted file mode 100644 index d77bdef..0000000 --- a/doc/usage cli.org +++ /dev/null @@ -1,111 +0,0 @@ -:PROPERTIES: -:ID: acf1896a-74b4-4914-acf6-a77075e07f25 -:END: - -#+TITLE: JavaInspect - usage from commandline -#+LANGUAGE: en -#+LATEX_HEADER: \usepackage[margin=1.0in]{geometry} -#+LATEX_HEADER: \usepackage{parskip} -#+LATEX_HEADER: \usepackage[none]{hyphenat} - -#+OPTIONS: H:20 num:20 -#+OPTIONS: author:nil - - -* Available commandline arguments -:PROPERTIES: -:CUSTOM_ID: available-commandline-arguments -:END: - - -- -j (existing files)... :: JAR file(s) to render. - -- -c (existing directories)... :: Classpath directories - -- -n (string) :: Graph name. (default: "graph") - -- --debug :: Show debug info. - -- -h, --help :: Show commandline usage help. - -- -k :: Keep dot file. - -- -ho :: - Hide orphaned classes. - -- -w (one to many strings)... :: Whitelist glob(s). - -- -b (one to many strings)... :: Blacklist glob(s). - -- -r (one to many strings)... :: root class(es). - -- -d (existing directory) :: Target directory. Default is current directory. - -- -t (options: png, svg) :: Target image type. Default is: svg. - -* Specifying classes to render -:PROPERTIES: -:CUSTOM_ID: specifying-classes-to-render -:END: - -Normal Java application has immense complexity. In addition to code -that was directly written by particular project developers, lots of -functionality is typically added as frameworks or libraries to the -project. In addition there is significant Java standard library. - -Because JavaInspect uses reflection, it does not easily distinguish -between those. In normal situation you would rather want to visualize -only code that was developed specifically for your project and leave -frameworks like Spring etc. out. If you visualize all classes that are -possibly reachable from you project, you will easily get huge and -incomprehensible graph. - -JavaInspect can digest compiled Java classes in 2 modes: -1. Provide list of Jar files. Use *-j* option. -2. Provide list of filesystem directories that can be used as - classpath root. Use *-c* option. - -Currently JavaInspect uses following algorithm to add classes to -rendered graph: - -- All classes that were found in Jar files are added to graph by default. -- None of the classes that were found in filesystem directories are - added to the graph by default (unless explicitly referenced). (TODO: - for consistency it would be better to add them too by default) -- If whitelist is specified (*-w* option) everything that is not - matched by whitelist pattern(s) will be removed from the graph. -- If blacklist is specified (*-b* option) everything that is matched - by blacklist pattern(s) will be removed from the graph. -- Root classes can be specified using *-r* option. Root classes will - be added to the graph. JavaInspect will then try to recursively - discover all classes that were referenced by root class and add - those also to the graph. - -* Examples -:PROPERTIES: -:CUSTOM_ID: examples -:END: - -Visualize java Jar file. All classes. Hide orphaned classes: - -#+begin_src sh - javainspect \ - -j target/sixth-3d-*-SNAPSHOT.jar \ - -d doc/graphs/ \ - -n "all classes" \ - -t png -ho -#+end_src - - -Visualize java Jar file. All classes. Hide orphaned classes. Apply -whitelist: - -#+begin_src sh - javainspect \ - -j target/sixth-3d-*-SNAPSHOT.jar \ - -d doc/graphs/ \ - -n "GUI" \ - -t png \ - -w "eu.svjatoslav.sixth.e3d.gui.*" \ - -ho -#+end_src diff --git a/usage examples/demo project/pom.xml b/usage examples/demo project/pom.xml index 6a16ce8..9d4f21d 100644 --- a/usage examples/demo project/pom.xml +++ b/usage examples/demo project/pom.xml @@ -26,7 +26,7 @@ eu.svjatoslav javainspect - 1.7-SNAPSHOT + 1.8-SNAPSHOT