Skip to content

Latest commit

 

History

History
80 lines (78 loc) · 12.2 KB

File metadata and controls

80 lines (78 loc) · 12.2 KB

Scripts Reference

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.