hairball | automated decomposition of large compilation units
kandi X-RAY | hairball Summary
kandi X-RAY | hairball Summary
hairball is a Kotlin library. hairball has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
Large compilation units are a common headache in software maintenance. They cause many problems, including long builds, large artifacts, and difficulty sharing code with other software. The traditional way to shrink a large compilation unit is to manually move some of its sources into other compilation units. This requires knowledge of the application's structure and good judgment. In the case of monolithic compilation units that have grown over time, this manual process often runs into circular dependencies: it can feel like every source file imports every other source file, making it impossible to extract a small subset of sources. hairball partially automates this process. When you point jdeps at a jar file and pipe its output to hairball, it computes a way to partition the classes in the jar into clusters, such that there are no circular dependencies between clusters. The output is a .dot file describing a graph structure. You can then use graphviz (not included) to visualize the proposed structure (e.g. dot -Tsvg -o app.svg app.dot). The examples directory contains SVGs of hairball runs on some prominent open-source projects.
Large compilation units are a common headache in software maintenance. They cause many problems, including long builds, large artifacts, and difficulty sharing code with other software. The traditional way to shrink a large compilation unit is to manually move some of its sources into other compilation units. This requires knowledge of the application's structure and good judgment. In the case of monolithic compilation units that have grown over time, this manual process often runs into circular dependencies: it can feel like every source file imports every other source file, making it impossible to extract a small subset of sources. hairball partially automates this process. When you point jdeps at a jar file and pipe its output to hairball, it computes a way to partition the classes in the jar into clusters, such that there are no circular dependencies between clusters. The output is a .dot file describing a graph structure. You can then use graphviz (not included) to visualize the proposed structure (e.g. dot -Tsvg -o app.svg app.dot). The examples directory contains SVGs of hairball runs on some prominent open-source projects.
Support
Quality
Security
License
Reuse
Support
hairball has a low active ecosystem.
It has 1 star(s) with 0 fork(s). There are 1 watchers for this library.
It had no major release in the last 6 months.
hairball has no issues reported. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of hairball is current.
Quality
hairball has no bugs reported.
Security
hairball has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
hairball is licensed under the Apache-2.0 License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
hairball releases are not available. You will need to build from source code and install.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of hairball
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of hairball
hairball Key Features
No Key Features are available at this moment for hairball.
hairball Examples and Code Snippets
No Code Snippets are available at this moment for hairball.
Community Discussions
No Community Discussions are available at this moment for hairball.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install hairball
hairball is built with bazel. Once you have bazel installed, clone the repo and build the hairball binary:. This will automatically download and configure the toolchains and dependencies (java, kotlin, python) needed to run hairball, without disturbing versions that may already be installed on your system.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page