puppetlabs / pdksync

Manage large sets of modules with automation built on top of PDK
Apache License 2.0
13 stars 29 forks source link

add a rake task to update module dependencies #158

Open attachmentgenie opened 3 years ago

attachmentgenie commented 3 years ago

Use Case

pdksync provides a method to "globally" manage requirement, it would be great to be able to manage dependencies in a similar way.

Describe the Solution You Would Like

bundle exec rake 'pdksync:update_dependencies[puppetlabs/stdlib,version_requirement,>= 6.0.0 < 9.0.0]'

Describe Alternatives You've Considered

extending the update_requirements task

bastelfreak commented 3 years ago

I'm not sure if that helps in any way, but at Vox Pupuli we use https://github.com/ekohl/metadata_json_deps which allows us to validate a metadata.json and checks all deps against newer versions. We have that also built into our modulesnc_config setup with another script to bump the version in all provided metadata.json files: https://github.com/voxpupuli/modulesync_config#checking-all-module-dependencies-against-the-forge

sanfrancrisko commented 3 years ago

You can achieve what you're looking to do, with an admittedly, clunky method of modifying the managed_modules.yml config between invocations of the pdksync:update_dependencies Rake task.

To define the module as part of the rake task is going to be counter to the design of pdksync - the idea is that you set all the modules you wish to perform the action on within the managed_modules.yml.