This application will scan all maven
repos items and store them to MySQL
database.
Requriments
17
or later3.9.3
or laterBuild the Source Code
rm -rf dist/ target/
mvn clean package install dependency:tree org.codehaus.mojo:versions-maven-plugin:2.16.0:display-dependency-updates
How to Run the Tool
zip
file generated inside dist
folder, Unzip the fileetc
folder, edit the config.properties
file
jakarta.persistence.jdbc.url
for the MySQL hostnamejakarta.persistence.jdbc.user
for the usernamejakarta.persistence.jdbc.password
for the passwordbin
folder, run either of the following commands
bin $
./run.sh central
bin $
./run.sh spring
central
match to repos-central.properties
file for maven central reposspring
match to repos-spring.properties
file for spring repositoryBuild Docker Image
sudo docker build -t fuiny/mavendb .
Check the images
sudo docker images
Environment variables
MAVENDB_MYSQL_HOST
- MySQL DB Hostname or IPMAVENDB_MYSQL_PORT
- MySQL DB TCP PortMAVENDB_MYSQL_USER
- MySQL DB UsernameMAVENDB_MYSQL_PASS
- MySQL DB PasswordMAVENDB_ARGS
- The mavendb
jar file input parameters, samples as bellow
-r central
- Run against Central
Maven-r spring
- Run against Spring
MavenRun
sudo docker run -it --rm fuiny/mavendb
sudo docker run -e MAVENDB_MYSQL_HOST=192.168.1.110 -it --rm fuiny/mavendb
192.168.1.110
is the MySQL DB Host AddressMAVENDB_MYSQL_PORT
, MAVENDB_MYSQL_USER
, MAVENDB_MYSQL_PASS
, MAVENDB_ARGS
are the default valuessudo docker run -e MAVENDB_MYSQL_HOST=192.168.1.110 -e MAVENDB_ARGS='-r central' -it --rm fuiny/mavendb
A Docker Compose file has been configured
Step 1. Config
innodb_buffer_pool_size
in docker-compose.yml based on hardware Buffer Pool Settings based on OS RAM Size
OS RAM : innodb_buffer_pool_size , innodb_buffer_pool_instances
16 GB 10G , 10
32 GB 20G , 20
64 GB 40G , 20
128 GB 80G , 20
Step 2. Run
Ubuntu
/Linux
users
./docker-compose-run.sh
./docker-compose-run.sh
innodb_buffer_pool_size
--innodb_buffer_pool_size=24G
will work for maven central scanpowershell -ExecutionPolicy Bypass -File .\docker-compose-run.ps1
Sep 2023
, on a machine with innodb_buffer_pool_size=40G
, the execution time for maven central is 5.6
hours
44,758,974
artifacts.Step 3. Access The data
group_id
: org.apache.commons
artifact_id
: commons-lang3
Maven Settings
conf/settings.xml
username
is the github login userpassword
is the github user's token<server>
<id>github.com</id>
<username></username>
<password></password>
</server>
Publish site
mvn clean site site:stage scm-publish:publish-scm