Customizing your module configuration
PDK uses a default template to configure modules. You can customize this configuration by specifying your own custom template or by customizing specific template settings.
Specifying a custom template
You can specify a custom template when creating a new module or when converting an existing module.
Fork the default template from the pdk-template project on GitHub, and make any changes you need. If you must change the Gemfile or Rakefile, do so carefully and test your changes. Major changes to the Gemfile or Rakefile of the default template can cause errors with PDK.
Run either the pdk convert or the pdk new module command with the
--template-url option. For example:
pdk convert --template-url https://github.com/myrepo/custom-module-template
Customizing the default template
You can customize the default template on an existing module, whether you created it with PDK or you are converting it to PDK. To customize a new module, first create the module with PDK, and then apply any changes you want to the template.
To customize the default template, update the .sync.yml file in your module.
This file must be in the top directory of the module and must be in a valid YAML
format. When you convert or update a module, PDK reads the .sync.yml file and
applies those changes to the relevant files.
In the sync.yml file, specify the file you want to manage with a top-level
key, such as appveyor.yml. Then add keys, indented two spaces, to change
configuration of that file. For example:
Setting
delete: truedeletes the named file, even if it is supplied through the module template.Setting
unmanaged: trueignores the the named file, even if it is supplied through the module template.To see a complete updated list of
sync.ymlsettings, see thepdk-templateREADME.
For example, this .sync.yml file removes the appveyor.yml file from the
module. It also changes the Travis CI configuration to use Ruby version 2.1.9
and to run the command bundle exec rake rubocop as the test script in the
module.
appveyor.yml:
delete: true
.travis.yml:
extras:
-rvm: 2.1.9
script: bundle exec rake rubocop
Update a module with template changes
Update your module to keep it current with PDK or custom module template changes.
Before you begin Ensure that the module you are updating is compatible with PDK version 1.3.0 or later. If the module was created with versions of PDK earlier than 1.3.0, convert the module to the current template with the pdk convert command. See the page about converting modules for more information.
The pdk update function updates your module based on the template you used
when you created or converted your module. If there have been any changes to
that template, PDK updates your module to incorporate them.
To check for template changes without making changes, run update with the
--noop option. This option runs the command in "no operation" mode, which
shows what changes would be made, but doesn't actually make them.
From the command line, change into the module's directory with
cd <MODULE_NAME>Run the update command:
pdk updateIf any module metadata is missing, respond to PDK prompts to provide metadata information.
Confirm the change summary PDK displays and either continue or cancel the update.
Result:
Whether you confirm or cancel changes, PDK generates a detailed change report,
update_report.txt, in the top directory of the module. This report is updated
every time you run the update command.
If you confirm changes, PDK applies the reported changes to the module.