Add support for multiple port allocations

Change-Id: I156bccebdd392cd4a912599b5a2c815587e77134
Emit deprecation warning on old format use with gerrit trigger

Inform end-users that the old yaml format for gerrit trigger has been
deprecated and support will be removed sometime after the next release.

Change-Id: Idd04aee949b2ea05ffadb766fe7222a65ffb8052
Write cache to file on CacheStorage object delete

Use a destructor to write out the cache to file when the cache object
object goes out of scope, which will typically be on exit.

This ensures that the CacheStorage class behaviour is fully
encapsulated and doesn't require a caller to be aware to ensure the
cache is saved when finished. Although it may still do so.

Take care to preserve a references to any required modules since python
does not guarantee that any global modules will not be unloaded before
the destructor is called.

Change-Id: I2b066ceff5e23a725132569df85c004cd58b367a
doc change: remove duplicate general job parameters

This change adds a test to validate the general job parameters and uses
that test as documentation for the general module.   It also replaces the
doc of the general params in the top level definitions.rst with references
to the general module.

Change-Id: I3df04d69186ca49d7297f8141855a4c72c73be1e
Add support for the S3 Publisher plugin

Change-Id: Ia918596276e49d5876bc232fce760e270a829335
report exactly which jobs will be deleted.

Using the glob parameters option to delete jobs, like so..
jenkins-jobs --conf jenkins_jobs.ini delete --path defs/cmd-002.yaml *bar*

JJB would report the following:

  INFO:root:Deleting jobs in [*bar*]

This change provides better info on exactly which jobs will get deleted.
Now the log will report:

  INFO:jenkins_jobs.builder:Removing jenkins jobs: bar001, bar002

Change-Id: Iabac8104115860f2fb4f4cc0a4a10101559d470c
Merge "doc change: remove duplicate general job parameters"
Merge "report exactly which jobs will be deleted."
Merge "Add support for the S3 Publisher plugin"
Add support for the matrix-combinations plugin

This plugin allows a user to choose which matrix combinations
they want to run, as opposed to the default behaviour where
jenkins runs all combinations

Requires the Jenkins Matrix Combinations Plugin:
https://wiki.jenkins-ci.org/display/JENKINS/Matrix+Combinations+Plugin

Change-Id: I13205c81aa11523a4c3fc373820eb74863d0c7ca
add test for globbed parameters feature

add a test to verify commmand processing of the globbed parameters
feature to delete jobs.

Change-Id: Ib13a2c644388ac65cb1af5728019912d6452d852
Merge "Emit deprecation warning on old format use with gerrit trigger"
Add MongoDB plugin support

Change-Id: I54dd77fb9697445b41b033347bc39eeef3b0f00b
Merge "add test for globbed parameters feature"
Merge "Add support for multiple port allocations"
Merge "Write cache to file on CacheStorage object delete"
Add perlcritic capability to violations method

Since new jenkins-violation plugin already have support for it
- https://wiki.jenkins-ci.org/display/JENKINS/Violations

Change-Id: Iad2c1fb5771322682d072cbe8183134994e83ac1
Merge "Add support for the matrix-combinations plugin"
Merge "Add perlcritic capability to violations method"
Merge "Add MongoDB plugin support"