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: COMMANDS.md
+16-9Lines changed: 16 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,20 +4,27 @@
4
4
5
5
Use the following commands in the root directory of this repository to start an analysis manually e.g. for [AxonFramework](./scripts/artifacts/downloadAxonFramework.sh).
6
6
7
-
### Notes
8
-
9
-
- Be sure to use Java 11 (June 2023 Neo4j 4.x requirement)
10
-
- Use your own initial Neo4j password
11
-
- It uses the script [analyze.sh](./scripts/analysis/analyze.sh)
12
-
- The script file names (without the prefix "download" and without the file extension) in the directory [scripts/artifacts](./scripts/artifacts) provide the possible analysis names.
Add the command line argument `--report Csv` to only run the CSV reports when you don't have Python set up
15
+
or want to skip Jupyter Notebooks.
16
+
17
+
Add the command line argument `--profile Neo4jv4` if you want to use the older long term support (june 2023)
18
+
version v4.4.x of Neo4j and compatible versions of plugins and JQAssistant.
19
+
20
+
### Notes
21
+
22
+
- Be sure to use Java 11 (Mai 2023 Neo4j v4 requirement) or Java 17 (June 2023 Neo4j v5 and jQAssistant CLI v2)
23
+
- Use your own initial Neo4j password
24
+
- For more details have a look at the script [analyze.sh](./scripts/analysis/analyze.sh)
25
+
- The script file names (without the prefix "download" and without the file extension) in the directory [scripts/artifacts](./scripts/artifacts) provide all analysis names that are available.
26
+
27
+
21
28
Have a look at [code-reports.yml](./.github/workflows/code-reports.yml) for all details about setup steps and full automation.
Copy file name to clipboardExpand all lines: README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,6 +97,9 @@ The [Code Reports Pipeline](./.github/workflows/code-reports.yml) utilizes [GitH
97
97
98
98
## 🤔 Questions & Answers
99
99
100
+
- How can i run an analysis locally?
101
+
👉 See [start-an-analysis](./COMMANDS.md#start-an-analysis) in the [Commands Reference](./COMMANDS.md).
102
+
100
103
- How can i add an CSV report to the pipeline?
101
104
👉 Put your new cypher query into the [cypher](./cypher) directory or a suitable (new) sub directory.
102
105
👉 Create a new CSV report script in the [scripts/reports](./scripts/reports/) directory. Take for example [OverviewCsv.sh](./scripts/reports/OverviewCsv.sh) as a reference.
|[generateCypherReference.sh](./generateCypherReference.sh)|| Generates "CYPHER.md" containing a reference to all Cypher files in this directory and its subdirectories. |
17
17
|[generateMarkdownReference.sh](./generateMarkdownReference.sh)|| Generates "REPORTS.md" containing a reference to all scripts in this directory and its subdirectories. |
18
18
|[generateScriptReference.sh](./generateScriptReference.sh)|| Generates "SCRIPTS.md" containing a reference to all scripts in this directory and its subdirectories. |
19
+
|[prepareAnalysis.sh](./prepareAnalysis.sh)|| Prepares and validates the graph database before analysis |
20
+
|[Default.sh](./profiles/Default.sh)| profiles | Sets (if any) settings variables for a default analysis. |
21
+
|[Neo4jv4.sh](./profiles/Neo4jv4.sh)| profiles | Sets all settings variables for an analysis with Neo4j v4.4.x (long term support (LTS) version as of may 2023). |
22
+
|[Neo4jv5.sh](./profiles/Neo4jv5.sh)| profiles | Sets all settings variables for an analysis with Neo4j v5.x (newest version as of june 2023). |
19
23
|[CentralityCsv.sh](./reports/CentralityCsv.sh)| reports | Looks for centrality using the Graph Data Science Library of Neo4j and creates CSV reports. |
20
24
|[CommunityCsv.sh](./reports/CommunityCsv.sh)| reports | Detects communities using the Graph Data Science Library of Neo4j and creates CSV reports. |
25
+
|[DatabaseCsvExport.sh](./reports/DatabaseCsvExport.sh)| reports | Exports the whole graph database as a CSV file using the APOC procedure "apoc.export.csv.all" |
21
26
|[ExternalDependenciesCsv.sh](./reports/ExternalDependenciesCsv.sh)| reports | Executes "Package_Usage" Cypher queries to get the "package-dependencies" CSV reports. |
22
27
|[ExternalDependenciesJupyter.sh](./reports/ExternalDependenciesJupyter.sh)| reports | Creates the "overview" report (ipynb, md, pdf) based on the Jupyter Notebook "Overview.ipynb". |
23
28
|[ObjectOrientedDesignMetricsCsv.sh](./reports/ObjectOrientedDesignMetricsCsv.sh)| reports | Executes "Metrics" Cypher queries to get the "object-oriented-design-metrics" CSV reports. |
|[JupyterReports.sh](./reports/compilations/JupyterReports.sh)| compilations | Runs all Jupyter Notebook report scripts. |
36
41
|[resetAndScan.sh](./resetAndScan.sh)|| Deletes all data in the Neo4j graph database and rescans the downloaded artifacts to create a new graph. |
37
42
|[resetAndScanChanged.sh](./resetAndScanChanged.sh)|| Executes "resetAndScan.sh" only if "detectChangedArtifacts.sh" returns detected changes. |
43
+
|[resetAndScanMemgraph.sh](./resetAndScanMemgraph.sh)|| Deletes all data in the Neo4j graph database and rescans the downloaded artifacts to create a new graph. |
38
44
|[setupJQAssistant.sh](./setupJQAssistant.sh)|| Installs (download and unzip) jQAssistant (https://jqassistant.org/get-started).|
39
45
|[setupNeo4j.sh](./setupNeo4j.sh)|| Installs (download, unpack, get plugins, configure) a local Neo4j Graph Database (https://neo4j.com/download-center/#community).|
40
46
|[setupNeo4jInitialPassword.sh](./setupNeo4jInitialPassword.sh)|| Sets the initial password for the local Neo4j Graph Database (https://neo4j.com/download-center/#community).|
# Assure that there is a download script for the given analysis name.
107
-
if [ !-f"${SCRIPTS_DIR}/${ARTIFACT_SCRIPTS_DIRECTORY}/download${analysisName}.sh" ] ;then
108
-
echo"Error (analyze): No download${analysisName}.sh script in the directory ${SCRIPTS_DIR}/${ARTIFACT_SCRIPTS_DIRECTORY} for analysis name ${analysisName}."
109
-
exit 1
110
-
fi
111
-
112
119
# Assure that there is a download script for the given analysis name argument.
echo"Error (analyze): No download${analysisName}.sh script in the directory ${SCRIPTS_DIR}/${ARTIFACT_SCRIPTS_DIRECTORY} for analysis name ${analysisName}."
122
+
echo"analyze${analysisName}: Error: No download${analysisName}.sh script in the directory ${SCRIPTS_DIR}/${ARTIFACT_SCRIPTS_DIRECTORY} for analysis name ${analysisName}."
116
123
exit 1
117
124
fi
118
125
119
126
# Assure that there is a report compilation script for the given report argument.
echo"Error (analyze): No ${analysisReportCompilation}Reports.sh script in the directory ${SCRIPTS_DIR}/${REPORTS_SCRIPTS_DIRECTORY}/${REPORT_COMPILATIONS_SCRIPTS_DIRECTORY} for report name ${analysisReportCompilation}."
129
+
echo"analyze ${analysisName}: Error: No ${analysisReportCompilation}Reports.sh script in the directory ${SCRIPTS_DIR}/${REPORTS_SCRIPTS_DIRECTORY}/${REPORT_COMPILATIONS_SCRIPTS_DIRECTORY} for report name ${analysisReportCompilation}."
130
+
exit 1
131
+
fi
132
+
133
+
# Assure that there is a script file for the given settings profile name.
echo"analyze ${analysisName}: Error: No ${settingsProfile}.sh script in the directory ${SCRIPTS_DIR}/${SETTINGS_PROFILE_SCRIPTS_DIRECTORY} for settings profile ${settingsProfile}."
123
137
exit 1
124
138
fi
125
139
140
+
# Execute the settings profile script that sets all the neccessary settings variables (overrideable by environment variables).
141
+
echo"analyze ${analysisName}: Using analysis settings profile script ${SETTINGS_PROFILE_SCRIPT}"
142
+
source"${SETTINGS_PROFILE_SCRIPT}"||exit 1
143
+
126
144
# Create working directory if it hadn't been created yet
0 commit comments