Settings per profile

How would I create settings per Profile/Ruleset.
We have Rulesets per release. (When checking in code for release 4.1, Ruleset "4.1" is used etc.)
Now I have created a rule which checks some unwanted code, but it should only do so for codes "a,b,c" from 4.1 onwards and "a,b,c,d,e,f" from 4.2 onwards.
In the prolint.properties.p I can add settings, but they are for all profiles.
I would like some settings in the profile-directory.
Any suggestions on how to implement this?

Niek

- Adding a prolint.properties.p in the profile-directory introduces the problem of deleting the properties from the super when changing rulesets
- theRule has no input parameter ProfileDirectory or CustomProfile as far as I know. And prolint.p:GetProfileDirectory has no output parameter So I can't even use "run in calling-proc" to get the ProfileDirectory and reading some config from there.
- Adding a persist-directory to the profile-directory perhaps? And adding the run in prolint.p, this would load and unload the procedure.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
jurjen's picture

Re: Settings per profile

Yes I can imagine that each release (or more trivial: each product) requires different settings. Probably different rules are switched on/off, different prolint.properties apply, but maybe also different filters, different ignore-lists, probably different roundtable settings, and so on, what not.

So... to solve this rigorously, you would have to have a concept like "project" or "context" which is a bag for all configurable options of whole prolint, not just the options that apply to a profile. Anything less is a compromise.

But then, I also imagine that each release, or each product, has its own sourcecode directories, its own database(s) and its own Progress AVM process with their own propath's. So why not give them each release/product their own private copy of the Prolint directory? That way you can adjust settings for each release completely independent of other releases. Simple and complete.