Open mcqueenorama opened 9 years ago
How about supporting the same plugin for different repos, like this nexus plugin used several different repos. For example, our Nexus has many repos in it. In the yaml config I want to give them all their proper names, but the name is directly linked to the plugin. It looks like as it is now, the user would need to specify different apis to have this effect.
In the config yaml file I add a new optional field, plugin. If no plugin is specified, the default existing behaviour. If plugin is specified, then use name as name for the yaml section only, and use the driver field value to identify the plugin.
If this were done, I could use a repo names my_releases, and my_snapshots, and both use the nexus plugin.
I like your proposal regarding the plugin to support multiple repos. I might even want to break the current behavior ; for this to decide I want to explore the idea in code.
say we have repo and plugin definitions.
each repo definition can optionally specify that it requires some plugin. If no plugin is specified then artifacts are stored only on the local filesystem.
plugins will look in the .artreyu file for credentials if needed.
repos definitions have the url.
to make autodiscover work, we could have a snapshots
field.
api: 1
plugins:
- name: nexus
user: admin
password: ****
repositories:
- name: local
path: /Users/you/artreyu
- name: nexus-releases
plugin: nexus
snapshots: false
url: https://yours.com/nexus
path: /content/repositories/releases
- name: nexus-snapshots
plugin: nexus
snapshots: true
url: https://yours.com/nexus
path: /content/repositories/snapshots
How would you advise me to patch this to support different directory structures? The only difference is the releases/snapshots convention you've got.