Hello!

On 2017-03-01T15:49:10 -0600
Curtis Rueden <ctrue...@wisc.edu> wrote:
>
> If what you want is to ensure the property is simply non-empty, or matching
> a particular regex, then take a look at the requireProperty enforcer rule
> [1].
> 
> Or if your goal is to make sure that a property value _differs_ from the
> value defined in an ancestor, the requirePropertyDiverges rule [2] might be
> for you.

I do actually want to enforce this, the issue is that I only want to
enforce it as far as the first ancestor. My current projects look like
this (where indentation indicates inheritance):

  + io7m-jtensors
    + io7m-jtensors-core
    + io7m-jtensors-tests
    + io7m-jtensors-ieee754b16
    + ...
  + io7m-r2
    + io7m-r2-core
    + io7m-r2-shaders
    + ...

I want to move to:

  + io7m-ancestor
    + io7m-jtensors
      + io7m-jtensors-core
      + io7m-jtensors-tests
      + io7m-jtensors-ieee754b16
      + ...
    + io7m-r2
      + io7m-r2-core
      + io7m-r2-shaders
      + ...

So I want to enforce that io7m-jtensors and io7m-r2 override the
required properties (and elements such as issueManagement), but I don't
want to propagate that requirement to the individual submodules of
io7m-jtensors such as io7m-jtensors-core, because this would introduce
pointless redundancy. I have around 50 top-level projects to manage in
this form, so any redundancy that can be eliminated really needs to be!

I'm not sure the enforcer plugin is able to express this "only redefine
once" aspect of the above. Am I wrong?

M

Attachment: pgpqJtii9lFmz.pgp
Description: OpenPGP digital signature

Reply via email to