Skip to content
/ heo Public

Tools to analyze package-level structure and visualize it

License

Notifications You must be signed in to change notification settings

heowc/heo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4aa4f56 · Nov 18, 2024

History

39 Commits
Nov 16, 2024
May 1, 2024
Nov 18, 2024
Nov 17, 2024
Nov 17, 2024
Nov 17, 2024
Nov 17, 2024
May 29, 2024
May 29, 2024
Jun 8, 2024
Apr 23, 2024
Nov 17, 2024
Nov 17, 2024
May 29, 2024
Nov 18, 2024
Nov 18, 2024
Jun 8, 2024

Repository files navigation

heo-cli

Tools to analyze package-level structure and visualize it

install

Download the latest jar file from the release

This tool relies on graphviz. Please install graphviz first.

usage

  • d: Enter the directory path.
  • p: Enter the package path.
  • o: (optional) Enter the destination file path.
  • failure-on-cycles: (optional) Enter whether to fail if a cycle occurs between modules.
java -jar heo-cli-0.0.2.jar -d /Users/heowc/Projects/heo -p dev.heowc.heo
$ java -jar heo-cli-0.0.2.jar -d /Users/heowc/Projects/heo-core -p dev.heowc.heo.core
 __   __  _______  _______
|  | |  ||       ||       |
|  |_|  ||    ___||   _   |
|       ||   |___ |  | |  |
|       ||    ___||  |_|  |
|   _   ||   |___ |       |
|__| |__||_______||_______|

2024-05-01T17:23:52.031+09:00  INFO 72099 --- [           main] c.h.h.c.l.a.ModuleLoaderService          : Loading dev.heowc.heo from ./
2024-05-01T17:23:52.044+09:00  INFO 72099 --- [           main] c.h.h.c.a.a.DependencyAnalysisService    : Analysing project dependencies for modules. size=0
2024-05-01T17:23:52.445+09:00  INFO 72099 --- [           main] c.h.h.c.v.ReportVisualizationService     : Report file created  (file:///Users/heowc/Projects/heo/result-1714551832030.png)

Result

image sample

heo-gradle-plugin

A gradle plugin is provided for easier use.

https://plugins.gradle.org/plugin/dev.heowc.heo

usage

plugins {
    id "dev.heowc.heo" version "{LATEST_VERSION}"
}

heo {
    directoryPath = "${rootDir}/heo-core" // The default is to use the root path.
    prefixPackage = "dev.heowc.heo.core" // The default is group.
    // destination // By default, the `reports/heo/index.png` image file is created under the build path.
    // failure-on-cycles // The default option is disabled, 
                         // and if enabled the task will fail if a cycle occurs.
}

Please note that there is a test for the plugin.

What's next