Package org.machanism.machai.project
package org.machanism.machai.project
Facilities for discovering, describing, and processing a source-code project rooted at a filesystem directory.
This package provides the core orchestration APIs for:
- Detecting a project's on-disk convention (for example Maven, Gradle, JavaScript, or Python) and exposing it as a
ProjectLayoutviaProjectLayoutManager.detectProjectLayout(java.io.File). - Scanning a project root, optionally recursing into nested modules, and delegating per-project processing logic
to a
ProjectProcessorimplementation.
The detected ProjectLayout is used to locate conventional directories
such as sources, tests, resources, and documentation roots.
Typical workflow
- Detect a layout for a project directory using
ProjectLayoutManager.detectProjectLayout(java.io.File). - Provide a
ProjectProcessorthat implementsProjectProcessor.processFolder(org.machanism.machai.project.layout.ProjectLayout). - Invoke
ProjectProcessor.scanFolder(java.io.File)on the project root. If the layout reports modules, each module is scanned recursively; otherwise the root is processed directly.
Example
java.io.File projectDir = new java.io.File("C:\\path\\to\\project");
ProjectProcessor processor = ...;
processor.scanFolder(projectDir);
- Since:
- 0.0.2
-
ClassesClassDescriptionManages detection and instantiation of specific
ProjectLayoutimplementations based on the structure of a given project directory.Abstract base class for processing project structures and modules.