This document describes the steps to get started as quickly as possible.
👉 For more details on what else you can do see README.
👉 For more details on how the commands work in detail see COMMANDS.
Please read through the Prerequisites in the README file for what is required to run the scripts.
Just run one of the following examples in the directory of this file:
- Java Event-Sourcing Framework: ./scripts/examples/analyzeAxonFramework.sh
- Typescript UI Library: ./scripts/examples/analyzeAntDesign.sh
- Typescript React Library: ./scripts/examples/analyzeReactRouter.sh
Use these optional command line options as needed:
-
(Recommended) Only create CSV reports and skip Python and Node.js dependent reports. Example:
./scripts/examples/analyzeAxonFramework.sh --report CSV
-
Only explore the graph manually in the browser (
http://localhost:7474/browser
). Skip all automated reports. Example:./scripts/examples/analyzeAxonFramework.sh --explore
-
Add the version number of the project to pick a specific one. Example:
./scripts/examples/analyzeAxonFramework.sh 4.10.1
-
Have a look at the prerequisites.
-
Choose an initial password for Neo4j if not already done.
export NEO4J_INITIAL_PASSWORD=theinitialpasswordthatihavechosenforneo4j
-
Initialize you analysis project using ./init.sh.
./init.sh MyAnalysisProjectName
-
Change into the analysis directory.
cd ./temp/MyAnalysisProjectName
-
Move the artifacts (e.g. Java jars json files) you want to analyze into the
artifacts
directory. -
If you want to analyze Typescript code, create a symbolic link inside the
source
directory that points to the Typescript project. Alternatively you can also copy the project into thesource
directory. -
If you want to include git data like changed files and authors, create a symbolic link inside the
source
directory that points to the repository or clone it into thesource
directory. If you already have your Typescript project in there, you of course don't have to do it twice. If you are analyzing Java artifacts (full source not needed), it is sufficient to use a bare clone that only contains the git history without the sources usinggit clone --bare
. -
Alternatively to the steps above, run an already predefined download script
./../../scripts/downloader/downloadAxonFramework.sh <version>
-
Optionally use a script to download artifacts from Maven (details).
-
Without any additional dependencies:
./../../scripts/analysis/analyze.sh --report Csv
-
Jupyter notebook reports when Python and Conda are installed:
./../../scripts/analysis/analyze.sh --report Jupyter
-
Graph visualizations when Node.js and npm are installed:
./../../scripts/analysis/analyze.sh --report Jupyter
-
All reports with Python, Conda, Node.js and npm installed:
./../../scripts/analysis/analyze.sh
-
To explore the database yourself without any automatically generated reports and no additional requirements:
./../../scripts/analysis/analyze.sh --explore
👉 Open your browser and login to your local Neo4j Web UI (http://localhost:7474/browser
) with "neo4j" as user and the initial password you've chosen.
👉 See Code Structure Analysis Pipeline on how to do this within a GitHub Actions Workflow.