-
Notifications
You must be signed in to change notification settings - Fork 2
User Documentation
A description of the tool, outlining it’s purpose, expected inputs, and outputs
Prophet-evolution is a natural extension of the prophet tool with the purpose of preventing regressive changes to microservice architectures. This tool is currently focused on mapping microservice dependencies in Java Spring Boot projects and preventing changes to the microservice network that might degrade functionality considering these dependencies.
A group of git repositories that represent the microservice. Microservice can be within one repo or across many. The structure of input is shown below:
A comma-separated list with this structure: https://github.com/<owner>/<repo1>.git,…
JSON files describing the architecture of the microservice. This contains information on the controllers, services, repositories, and external API calls of the given microservice. This data will be used to analyze what microservices are dependent on each other and in what way.
In the output folder, there are several important files. The first of which is the msFlowList.json
file. This describes the flows from the endpoint of one microservice to the resulting repository or API call. The other files such as msRestCall
, msMethodList
, msMethodCallList
, msClassList
, and msFieldList
list the respective data in an organized way.
Requirements and dependencies necessary for using the project or library
- Maven 3.6+
- Java 11+ (11 Recommended)
Instructions for setting up the project locally
- Clone the repository:
git clone https://github.com/cloudhubs/prophet-evolution.git && cd prophet-evolution
Instructions and examples illustrating how to utilize the project's features and functionalities
Intellij:
- Provide application arguments
- Run the main function in
SemanticAnalysisCommand.java
file
Command Line:
- Compile:
mvn clean install -DskipTests
- Run with specified repositories:
java -jar target/semantics-1.0-SNAPSHOT-runner.jar 'https://github.com/<owner>/<repo1>.git,https://github.com/<owner>/<repo2>.git,...,https://github.com/<owner>/<repoN>.git'
- Run with default repositories:
java -jar target/semantics-1.0-SNAPSHOT-runner.jar