MCD - Maven Central Repository Downloader
MCD is a microservice that downloads the jar file for a given library from Maven Central Repository.
How it works?
MCD is receiving the list of libraries to download via GRPC. The process is designed as a pipeline.
The libraries should be given respecting the group:artifact:version format. The preparation phase creates the initial download link which is used in the fetch phase to perform the download of the jar file for the library. In case of a failed download, the retry phase constructs a different link and tries to download the library.
Extracting the class names from the jar is done via zipinfo
and regular expressions. Finally, all the extracted data is persisted into a Postgres database.
Integration
Libraries are received as input from DTA via GRPC call. After the processing is done by MCD, a call is made to LUA for further analysis.