This document serves as a reference for all scripts in the current directory 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 |
---|---|---|
activateCondaEnvironment.sh | Activates the Conda (Python package manager) environment "codegraph" with all packages needed to execute the Jupyter Notebooks. | |
analyze.sh | analysis | Coordinates the end-to-end analysis process, encompassing tool installation, graph generation, and report generation. |
cleanupAfterReportGeneration.sh | Cleans up after report generation. This includes deleting empty files or in case no file is left deleting the report folder. | |
copyPackageJsonFiles.sh | Copies all package.json files inside the source directory into the artifacts/npm-package-json directory. | |
createAggregatedGitLogCsv.sh | 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 | 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. | |
detectChangedFiles.sh | 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 this directory and its subdirectories. |
generateEnvironmentVariableReference.sh | documentation | Runs "appendEnvironmentVariable.sh" for every script file in the current directory and its sub directories. |
generateScriptReference.sh | documentation | Generates "SCRIPTS.md" containing a reference to all scripts in this directory and its subdirectories. |
download.sh | Downloads a file into the directory of the environment variable SHARED_DOWNLOADS_DIRECTORY (or default "../downloads"). | |
downloadMavenArtifact.sh | Downloads an artifact from Maven Central (https://mvnrepository.com/repos/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 | Executes all steps in the given Jupyter Notebook (ipynb), stores it and converts it to Markdown (md) and PDF. | |
executeJupyterNotebookReport.sh | Executes the given Jupyter Notebook and puts all resulting files (ipynb, md, pdf) into an accordingly named directory within the "results" directory. | |
executeQuery.sh | Utilizes Neo4j's HTTP API to execute a Cypher query from an input file and provides the results in CSV format. | |
executeQueryFunctions.sh | Provides functions to execute Cypher queries using either "executeQuery.sh" or Neo4j's "cypher-shell". | |
findPathsToScan.sh | Finds all files and directories to scan and analyze and provides them as comma-separated list. | |
importGit.sh | 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. | |
operatingSystemFunctions.sh | Provides operating system dependent functions e.g. to detect Windows. | |
parseCsvFunctions.sh | Provides functions to parse strings in CSV format. | |
prepareAnalysis.sh | Prepares and validates the graph database before analysis | |
Default.sh | profiles | Sets (if any) settings variables for a default analysis. |
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 | Provides functions to create and delete Graph Projections for Neo4j Graph Data Science. | |
ArtifactDependenciesCsv.sh | reports | Executes "Artifact_Dependencies" Cypher queries to get the "artifact-dependencies-csv" CSV reports. |
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. |
ExternalDependenciesCsv.sh | reports | Executes "External_Dependencies" Cypher queries to get the "external-dependencies-csv" CSV reports. |
GraphVisualization.sh | reports | DEPRECATED: Creates the "graph-visualization" report using the (now deprecated) nodejs project "graph-visualization". |
InternalDependenciesCsv.sh | reports | Executes "Internal_Dependencies" Cypher queries to get the "internal-dependencies-csv" CSV reports. |
InternalDependenciesVisualization.sh | reports | Executes selected "Internal_Dependencies" Cypher queries for GraphViz visualization. |
JavaCsv.sh | reports | Executes "Java" Cypher queries to get the "java-csv" CSV reports. |
NodeEmbeddingsCsv.sh | reports | Generates node embeddings using the Graph Data Science Library of Neo4j and creates CSV reports. |
ObjectOrientedDesignMetricsCsv.sh | reports | Executes "Metrics" Cypher queries to get the "object-oriented-design-metrics-csv" CSV reports. |
OverviewCsv.sh | reports | Executes "Overview" Cypher queries to get the "overview-csv" CSV reports. |
PathFindingCsv.sh | reports | Uses path finding algorithms from the Graph Data Science Library of Neo4j and creates CSV reports. |
PathFindingVisualization.sh | reports | Executes selected "Path_Finding" Cypher queries for GraphViz visualization. |
SimilarityCsv.sh | reports | Looks for similarity using the Graph Data Science Library of Neo4j and creates CSV reports. |
TopologicalSortCsv.sh | reports | Applies the Topological Sorting algorithm for directed acyclic graphs (DAG) to order code units by their dependencies |
VisibilityMetricsCsv.sh | reports | Executes "Visibility" Cypher queries to get the "visibility-metrics-csv" 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. |
VisualizationReports.sh | compilations | Runs all Visualization reports. |
resetAndScan.sh | Deletes all data in the Neo4j graph database and rescans the downloaded artifacts to create a new graph. | |
resetAndScanChanged.sh | Executes "resetAndScan.sh" only if "detectChangedFiles.sh" returns detected changes. | |
runTests.sh | Runs all test scripts (no Python and Chromium required). | |
scanTypescript.sh | 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 | Installs (download and unzip) jQAssistant (https://jqassistant.github.io/jqassistant/current). | |
setupNeo4j.sh | Installs (download, unpack, get plugins, configure) a local Neo4j Graph Database (https://neo4j.com/download-center/#community). | |
setupNeo4jInitialPassword.sh | Sets the initial password for the local Neo4j Graph Database (https://neo4j.com/download-center/#community). | |
sortOutExternalJavaJarFiles.sh | 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 | Starts the local Neo4j Graph Database. | |
stopNeo4j.sh | Stops the local Neo4j Graph Database. | |
testDetectChangedFiles.sh | Tests "detectChangedFiles.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. |
visualizeQueryResults.sh | visualization | Visualizes the Cypher query result (CSV format) using GraphViz and outputs it as SVG image. |
waitForNeo4jHttpFunctions.sh | Waits until the HTTP Transactions API of Neo4j Graph Database is available. |