You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-6Lines changed: 21 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Contained within this repository is a comprehensive and automated code graph ana
6
6
7
7
---
8
8
9
-
## 🚀 Features
9
+
## ✨ Features
10
10
11
11
- Analyze static code structure as a graph
12
12
- Fully automated [pipeline](./.github/workflows/code-structure-analysis.yml) from tool installation to report generation
@@ -37,14 +37,29 @@ Here are some reports that utilize Neo4j's [Graph Data Science Library](https://
37
37
38
38
## 🛠 Prerequisites
39
39
40
-
- Java 17 is [required for Neo4j](https://neo4j.com/docs/operations-manual/current/installation/requirements/#deployment-requirements-software) (5.x requirement)
40
+
- Java 17 is [required for Neo4j](https://neo4j.com/docs/operations-manual/current/installation/requirements/#deployment-requirements-software) (Neo4j 5.x requirement).
41
+
- On Windows it is recommended to use the git bash provided by [git for windows](https://gitforwindows.org).
41
42
-[jq](https://github.com/jqlang/jq) the "lightweight and flexible command-line JSON processor" needs to be installed. Latest releases: https://github.com/jqlang/jq/releases/latest. Check using `jq --version`.
42
-
- Python and a conda package manager are required for Jupyter Notebook reports
43
-
- Chromium will automatically be downloaded if needed for Jupyter Notebook reports in PDF format
43
+
- Set environment variable `NEO4J_INITIAL_PASSWORD` to a password of your choice. For example:
To run Jupyter notebooks, create an `.env` file in the folder from where you open the notebook containing for example: `NEO4J_INITIAL_PASSWORD=neo4j_password_of_my_choice`
48
+
49
+
### Further Prerequisites for Python Jupyter Notebooks
50
+
51
+
- Python is required for Jupyter Notebook reports.
52
+
- A conda package manager like [Miniconda](https://docs.conda.io/projects/miniconda/en/latest) or [Anaconda](https://www.anaconda.com/download)(Recommended for Windows) is required for Jupyter Notebook reports.
53
+
- Chromium will automatically be downloaded if needed for Jupyter Notebook PDF reports generation.
54
+
55
+
### Hints for Windows
56
+
57
+
- Add this line to your `~/.bashrc` file if you are using Anaconda3: `/c/ProgramData/Anaconda3/etc/profile.d/conda.sh`. Try to find a similar script for other conda package managers or versions.
58
+
- Run `conda init` in the git bash opened as administrator. Running it in normal mode usually leads to an error message.
44
59
45
-
## Getting Started
60
+
## 🚀 Getting Started
46
61
47
-
See [Start an analysis](./COMMANDS.md#start-an-analysis) in the [Commands Reference](./COMMANDS.md) on how to start an analysis on your local machine.
62
+
See [GETTING_STARTED.md](./GETTING_STARTED.md) on how to get started on your local machine.
# Fail on any error ("-e" = exit on first error, "-o pipefail" exist on errors within piped commands)
25
25
set -eo pipefail
26
26
27
27
ENABLE_JUPYTER_NOTEBOOK_PDF_GENERATION=${ENABLE_JUPYTER_NOTEBOOK_PDF_GENERATION:-""}# Enable PDF generation for Jupyter Notebooks if set to any non empty value e.g. "true"
28
28
29
+
## Get this "scripts" directory if not already set
30
+
# Even if $BASH_SOURCE is made for Bourne-like shells it is also supported by others and therefore here the preferred solution.
31
+
# CDPATH reduces the scope of the cd command to potentially prevent unintended directory changes.
32
+
# This way non-standard tools like readlink aren't needed.
33
+
SCRIPTS_DIR=${SCRIPTS_DIR:-$( CDPATH=. cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P )}# Repository directory containing the shell scripts
34
+
echo"startNeo4j: SCRIPTS_DIR=$SCRIPTS_DIR"
35
+
29
36
# Check if environment variable is set
30
37
if [ -z"${NEO4J_INITIAL_PASSWORD}" ];then
31
38
echo"executeJupyterNotebook: Requires environment variable NEO4J_INITIAL_PASSWORD to be set first. Use 'export NEO4J_INITIAL_PASSWORD=<your-own-password>'."
@@ -81,36 +88,50 @@ fi
81
88
82
89
# Define conda environment to use for code structure analysis. Default "codegraph"
83
90
CODEGRAPH_CONDA_ENVIRONMENT=${CODEGRAPH_CONDA_ENVIRONMENT:-"codegraph"}# Name of the conda environment to use for code graph analysis
0 commit comments