Sonatype Nexus Raw repositories manager.
Downloads projects versions from external.config file & Uploads project version to Sonatype Nexus repository.
nexmanager <COMMAND> [FLAGS]By default download script searchs for external.config in current directory, but you can specify it by using flag --external-config.
You can create such file using touch external.config and fill it via VIM or use another tools to reach that goal
<project_name1> <version1>
# Comment
<project_name2> <version2> # Comment
...
| Command name | Utility |
|---|---|
| upload | Upload project version |
| download | Download versions of projects from external.config |
| config | Configure auth and server uri |
# Upload flags:
-a --auth (Optional if credentials saved to config)
Nexus user credentials. Format: <USER>:<PASSWORD>
-v --version (Required for this command)
Project version tag.
-p --path (Required for this command)
Path to project that will be uploaded
-m --merge (Optional)
Merge parameter
manual - Choose what to do while uploading every component
replace - Remove provided project version and upload a new one
overwrite - Overwrite files if they exist
append - Upload only new files
# Download flags:
-a --auth (Optional if credentials saved to config)
Nexus user credentials. Format: <USER>:<PASSWORD>
-p --platform (Optional)
Filters downloading components by platform if provided
-t --target (Optional)
Filters downloading components by target if provided
-e --external-config (Optional)
Path to external.config directory, current directory by default
-r --recursive (Optional)
Do recursive download if provided
-f --force (Optional)
Replaces all files
# Config flags: (One of them required for this command)
-a --auth
Configure auth credentials
-s -- server
Configure server uri
-p --print
Prints current config settingsRepository must be created by user via web interface, because sonatype nexus API does not support repository creation.
${project_name1} <- Repository name (Same as project name)
${project_name1}-${version_tag} <- Project name w/ version tag
${project_name1}
${platform}-${architecture}-${target} <- Build params
example_directory1
example_file1
example_file2
...
${project_name2}
...Go to nexus-manager directory and run this command to build .whl file
python3 setup.py bdist_wheelBuild .whl file or download it from Releases section, go to directory with that file and run command in such format to install tool
pip install Nexus_Manager-<version>-<params>.whl- Create test nexus Raw repository
- Make NexusRawDownload module
- Make NexusRawUpload module
- Check existing files (filename + sha1)
- Add platform/architecture/target download filter
- Add merge support for future CLI (--merge={manual, replace, overwrite, append})
- Add recursive download function
- Add handler for symbol link files
- Make command line interface
- Add config for server and user credentials
- Build WHL file