Yes, I know, it's in my nature to keep all my code very flexible (and sometimes too complex )
I'll take a look at the ez-templates too...
I think that the Template Plugin should have (at least some basic) parameter support since the build steps
and post-build-steps can use parameters and they should be defined and shared somewhere.
The Template Job can then actually serve as a self-contained template.
Please correct me if I'm wrong in my opinion!
A (possible) easy (and yet pretty flexible) way would be to
- Add template parameter "Use parameter from other Job"
- Select Job name
- Select parameter name
The Template Plugin could then:
- Take name and value of the parameter.
Well, just as described above.
When another Job wants to have other parameter value(s), it just doesn't include the parameter from the template Job, but:
- When the other Job needs default value (e.g. String Parameter) : Add a String Parameter with the same name, but other default value.
- When the allowed values (e.g. Choice Parameter) needs to be overridden: Add a Choice Parameter with other choices
When including parameters with the same name from different _Template Job_s:
- The injected parameters would have the same name.
- IMHO, this is not a real issue since the user may expect other issues when using build-step from two different template jobs, using the same parameter name. God knows what the parameter value is used for in the build steps!
When the template Job changes a parameter name which is overridden in another Job:
- Then the other Job will not be updated, nor notified about the change...
Any others I overlooked?