This document serves as a reference for all scripts in the repository and its subdirectories. It provides a table listing each script file and its corresponding description found in the first comment line. This file was generated with the script generateScriptReference.sh.
| Script | Directory | Description |
|---|---|---|
| anomalyDetectionCsv.sh | anomaly-detection | Pipeline that coordinates anomaly detection using the Graph Data Science Library of Neo4j. |
| anomalyDetectionMarkdown.sh | anomaly-detection | This script is dynamically triggered by "MarkdownReports.sh" when report "All" or "Markdown" are enabled. |
| anomalyDetectionPython.sh | anomaly-detection | Pipeline that coordinates anomaly detection using the Graph Data Science Library of Neo4j. |
| anomalyDetectionVisualization.sh | anomaly-detection | This script is dynamically triggered by "VisualizationReports.sh" when report "All" or "Visualization" is enabled. |
| renderArchitecture.sh | documentation | Renders the described Graph in Architecture.gv as a SVG image. |
| anomalyDetectionGraphs.sh | graphs | Executes selected anomaly detection Cypher queries for GraphViz visualization. |
| anomalyDetectionSummary.sh | summary | Creates a Markdown report that contains all results of all the anomaly detection methods. |
| externalDependenciesCsv.sh | external-dependencies | Executes Cypher queries to generate external dependency CSV reports. |
| externalDependenciesMarkdown.sh | external-dependencies | This script is dynamically triggered by "MarkdownReports.sh" when report "All" or "Markdown" are enabled. |
| externalDependenciesPython.sh | external-dependencies | Generates external dependency charts as SVG files using Python. |
| externalDependenciesSummary.sh | summary | Creates a Markdown report summarising all external dependency analysis results. |
| gitHistoryCsv.sh | git-history | Executes GitLog Cypher statistics queries to produce git history CSV reports. |
| gitHistoryMarkdown.sh | git-history | This script is dynamically triggered by "MarkdownReports.sh" when report "All" or "Markdown" are enabled. |
| gitHistoryPython.sh | git-history | Generates git history charts as SVG files using Python. |
| createAggregatedGitLogCsv.sh | import | Uses git log to create a comma separated values (CSV) file containing aggregated changes, their author name and email address, year and month for all the files that were changed. |
| createGitLogCsv.sh | import | Uses git log to create a comma separated values (CSV) file containing all commits, their author, email address, date and all the file names that were changed with it. |
| importGit.sh | import | Coordinates the import of git data from the given --source directory where one ore more git repositories are located and the value of the environment variable IMPORT_GIT_LOG_DATA_IF_SOURCE_IS_PRESENT. |
| gitHistorySummary.sh | summary | Creates a Markdown report summarising all git history analysis results. |
| internalDependenciesGraphs.sh | graphs | Executes internal dependency and path finding Cypher queries for GraphViz visualization. |
| internalDependenciesCsv.sh | internal-dependencies | Pipeline that coordinates internal dependency analysis using Cypher queries and the |
| internalDependenciesMarkdown.sh | internal-dependencies | This script is dynamically triggered by "MarkdownReports.sh" when report "All" or "Markdown" are enabled. |
| internalDependenciesPython.sh | internal-dependencies | Generates path finding charts as SVG files using Python. |
| internalDependenciesVisualization.sh | internal-dependencies | This script is dynamically triggered by "VisualizationReports.sh" when report "All" or "Visualization" is enabled. |
| internalDependenciesSummary.sh | summary | Creates a Markdown report summarising all internal dependency analysis results. |
| artifactDependenciesCsv.sh | java | Executes artifact dependency Cypher queries to produce CSV reports for Java artifact analysis. |
| javaCsv.sh | java | Executes Java code quality and method metrics Cypher queries to produce CSV reports. |
| javaMarkdown.sh | java | This script is dynamically triggered by "MarkdownReports.sh" when report "All" or "Markdown" are enabled. |
| javaPython.sh | java | Generates Java analysis charts as SVG files using Python. |
| javaSummary.sh | summary | Creates a Markdown report summarising all Java code quality, method metrics, and artifact dependency analysis results. |
| configureNeo4j.sh | neo4j-management | Configures a (local) Neo4j Community Edition Graph Database (https://neo4j.com/download-center/#community). |
| detectNeo4j.sh | neo4j-management | Detects if Neo4j is running and outputs its installation directory. |
| detectNeo4jWindows.sh | neo4j-management | Detects if Neo4j is running on Windows from WSL or Git Bash. |
| setupNeo4j.sh | neo4j-management | Installs (download, unpack, get plugins, configure) a local Neo4j Graph Database (https://neo4j.com/download-center/#community). |
| setupNeo4jInitialPassword.sh | neo4j-management | Sets the initial password for the local Neo4j Graph Database (https://neo4j.com/download-center/#community). |
| startNeo4j.sh | neo4j-management | Starts the local Neo4j Graph Database. |
| stopNeo4j.sh | neo4j-management | Stops the local Neo4j Graph Database. |
| testConfigureNeo4j.sh | neo4j-management | Tests "configureNeo4j.sh". |
| useNeo4jHighMemoryProfile.sh | neo4j-management | Use the high memory profile and apply its configuration template on the local |
| waitForNeo4jHttpFunctions.sh | neo4j-management | Waits until the HTTP Transactions API of Neo4j Graph Database is available. |
| init.sh | Initializes a new analysis project by creating all necessary directories based on the given input parameter with the analysis name. | |
| activateCondaEnvironment.sh | scripts | Activates the Conda (Python package manager) environment "codegraph" with all packages needed to run the included Jupyter Notebooks and Python scripts. |
| activatePythonEnvironment.sh | scripts | Activates the .venv environment (Python build-in virtual environments) with all packages necessary to run the included Jupyter Notebooks and Python scripts. |
| analyze.sh | analysis | Coordinates the end-to-end analysis process, encompassing tool installation, graph generation, and report generation. |
| checkCompatibility.sh | scripts | Check environment dependencies and tool availability. |
| cleanupAfterReportGeneration.sh | scripts | Cleans up after report generation. This includes deleting empty files or in case no file is left deleting the report folder. |
| cloneGitRepository.sh | scripts | Provides safe-guarded (security checked parameters) git repository cloning. |
| detectChangedFiles.sh | scripts | Detect changed files in the artifacts directory or in a given list of paths |
| appendEnvironmentVariables.sh | documentation | Extracts the environment variable declarations including default values from a script file and appends it to a markdown file as table columns. |
| generateCypherReference.sh | documentation | Generates "CYPHER.md" containing a reference to all Cypher files in all directories and subdirectories. |
| generateEnvironmentVariableReference.sh | documentation | Runs "appendEnvironmentVariables.sh" for every script file in all directories and subdirectories. |
| generateScriptReference.sh | documentation | Generates "SCRIPTS.md" containing a reference to all scripts in all directories and subdirectories. |
| download.sh | scripts | Downloads a file into the directory of the environment variable SHARED_DOWNLOADS_DIRECTORY (or default "../downloads"). |
| downloadMavenArtifact.sh | scripts | Downloads an artifact from Maven Central (https://mvnrepository.com/repos/central) |
| downloadMavenArtifacts.sh | scripts | Uses Maven to download specified Maven artifacts from Maven Central. |
| downloadAntDesign.sh | downloader | Downloads the Typescript project ant-design (https://github.com/ant-design/ant-design) from GitHub using git clone. |
| downloadAxonFramework.sh | downloader | Downloads AxonFramework (https://developer.axoniq.io/axon-framework) artifacts from Maven Central. |
| downloadReactRouter.sh | downloader | Downloads react-router (https://github.com/remix-run/react-router) from GitHub using git clone. |
| downloadTypescriptProject.sh | downloader | Downloads the given version of a Typescript project from a git repository using git clone. |
| analyzeAntDesign.sh | examples | This is an example for the analysis of a the Typescript project "ant-design". |
| analyzeAxonFramework.sh | examples | This is an example for the analysis of the Java event-sourcing library "AxonFramework". |
| analyzeReactRouter.sh | examples | This is an example for the analysis of a the Typescript project "react-router". |
| detectLatestGitTag.sh | examples | Returns the latest tag of a remote repository given by its url. |
| executeJupyterNotebook.sh | scripts | Executes all steps in the given Jupyter Notebook (ipynb), stores it and converts it to Markdown (md) and PDF. |
| executeJupyterNotebookReport.sh | scripts | Executes the given Jupyter Notebook and puts all resulting files (ipynb, md, pdf) into an accordingly named directory within the "results" directory. |
| executeQuery.sh | scripts | Utilizes Neo4j's HTTP API to execute a Cypher query from an input file and provides the results in CSV format. |
| executeQueryFunctions.sh | scripts | Provides functions to execute Cypher queries using either "executeQuery.sh" or Neo4j's "cypher-shell". |
| findPathsToScan.sh | scripts | Finds all files and directories to scan and analyze and provides them as comma-separated list. |
| installJavaScriptDependencies.sh | scripts | This script triggers the installation of dependencies for JavaScript projects in the source folder. |
| embedMarkdownIncludes.sh | markdown | Processes template markdown (sysin) replacing placeholders like "" or "" with the contents of the specified markdown files. The files to include needs to be in the "includes" subdirectory. |
| formatQueryResultAsMarkdownTable.sh | markdown | Takes the input stream (Cypher query result in JSON format) and formats it as a Markdown table. |
| testEmbedMarkdownIncludes.sh | markdown | Tests template processing for markdown by embedding includes. |
| testFormatQueryResultAsMarkdownTable.sh | markdown | Tests formatting of Cypher query results as Markdown table. |
| operatingSystemFunctions.sh | scripts | Provides operating system dependent functions e.g. to detect Windows. |
| parseCsvFunctions.sh | scripts | Provides functions to parse strings in CSV format. |
| prepareAnalysis.sh | scripts | Prepares and validates the graph database before analysis |
| Default.sh | profiles | Sets (if any) settings variables for a default analysis. |
| Neo4j-latest-continue-on-scan-errors.sh | profiles | Sets all settings variables for an analysis with the latest version of Neo4j. |
| Neo4j-latest-high-memory.sh | profiles | Sets all settings variables for an analysis with Neo4j v5.x (newest version as of june 2023). |
| Neo4j-latest-low-memory-continue-on-scan-errors.sh | profiles | Sets all settings variables for a low memory, continue-on-error analysis with the latest version of Neo4j. |
| Neo4j-latest-low-memory.sh | profiles | Sets all settings variables for an analysis with Neo4j v5.x (newest version as of june 2023). |
| Neo4j-latest.sh | profiles | Sets all settings variables for an analysis with the latest version of Neo4j. |
| Neo4jv4-low-memory.sh | profiles | Sets all settings variables for an analysis with Neo4j v4.4.x (long term support (LTS) version as of may 2023). |
| Neo4jv4.sh | profiles | Sets all settings variables for an analysis with Neo4j v4.4.x (long term support (LTS) version as of may 2023). |
| Neo4jv5-continue-on-scan-errors.sh | profiles | Sets all settings variables for an analysis with Neo4j v5.x (newest version as of june 2023). |
| Neo4jv5-low-memory.sh | profiles | Sets all settings variables for an analysis with Neo4j v5.x (newest version as of june 2023). |
| Neo4jv5.sh | profiles | Sets all settings variables for an analysis with Neo4j v5.x (newest version as of june 2023). |
| projectionFunctions.sh | scripts | Provides functions to create and delete Graph Projections for Neo4j Graph Data Science. |
| CentralityCsv.sh | reports | Looks for centrality using the Graph Data Science Library of Neo4j and creates CSV reports. |
| CommunityCsv.sh | reports | Detects communities using the Graph Data Science Library of Neo4j and creates CSV reports. |
| NodeEmbeddingsCsv.sh | reports | Generates node embeddings using the Graph Data Science Library of Neo4j and creates CSV reports. |
| OverviewCsv.sh | reports | Executes "Overview" Cypher queries to get the "overview-csv" CSV reports. |
| SimilarityCsv.sh | reports | Looks for similarity using the Graph Data Science Library of Neo4j and creates CSV reports. |
| AllReports.sh | compilations | Runs all report scripts. |
| CsvReports.sh | compilations | Runs all CSV report scripts (no Python and Chromium required). |
| DatabaseCsvExportReports.sh | compilations | Exports the whole graph database as a CSV file using the APOC procedure "apoc.export.csv.all" |
| JupyterReports.sh | compilations | Runs all Jupyter Notebook report scripts. |
| MarkdownReports.sh | compilations | Runs all Markdown report scripts (no Chromium required, no Python required). |
| PythonReports.sh | compilations | Runs all Python report scripts (no Chromium required). |
| VisualizationReports.sh | compilations | Runs all Visualization reports. |
| resetAndScan.sh | scripts | Deletes all data in the Neo4j graph database and rescans the downloaded artifacts to create a new graph. |
| resetAndScanChanged.sh | scripts | Executes "resetAndScan.sh" only if "detectChangedFiles.sh" returns detected changes. |
| runTests.sh | scripts | Runs all test scripts (no Python and Chromium required). |
| scanTypescript.sh | scripts | Executes the npm package @jqassistant/ts-lc using npx to scan the Typescript projects in the source directory and create an intermediate json data file for the jQAssistant Typescript plugin. |
| setupJQAssistant.sh | scripts | Installs (download and unzip) jQAssistant (https://jqassistant.github.io/jqassistant/current). |
| sortOutExternalJavaJarFiles.sh | scripts | Sorts out jar files that don't contain one of the given package names (e.g. external libraries) and moves them into the IGNORED_JARS_DIRECTORY. |
| startNeo4j.sh | scripts | Deprecated: startNeo4j.sh has been moved to domains/neo4j-management/. |
| stopNeo4j.sh | scripts | Deprecated: stopNeo4j.sh has been moved to domains/neo4j-management/. |
| testAnalyzeDomainOption.sh | scripts | Tests "--domain" command line option of "analyze.sh". |
| testCloneGitRepository.sh | scripts | Tests "cloneGitRepository.sh". |
| testDetectChangedFiles.sh | scripts | Tests "detectChangedFiles.sh". |
| testDownloadMavenArtifacts.sh | scripts | Tests "downloadMavenArtifacts.sh". |
| testFilenameReferences.sh | scripts | Tests: scan all *.sh files (current directory including subdirectories) |
| testInstallJavaScriptDependencies.sh | scripts | Tests "installJavaScriptDependencies.sh". |
| convertQueryResultCsvToGraphVizDotFile.sh | visualization | Converts a Cypher query result in CSV format to a GraphViz DOT (https://graphviz.org/doc/info/lang.html) file for Visualization including layout templates. |
| renderGraphVizSVG.sh | visualization | Renders the given GraphViz file as a SVG image. |
| visualizeQueryResults.sh | visualization | Visualizes the Cypher query result (CSV format) using GraphViz and outputs it as SVG image. |