arquillian/arquillian-governor

System properties should take precedence over arquillian.xml

Opened this issue · 5 comments

When, for example, username and password for JIRA are defined in arquillian.xml but also provided as environment variable, latter should take precedence.

Current implementation takes only those which are defined in the file.

You basically expect the completely opposite behaviour that is currently implemented in Governor - the current implementation ignores values that are set as system properties when the values are set in arq.xml and you want to do it the other way around... To be honest I would choose you approach as well, as it is also implemented in arq-core: https://github.com/arquillian/arquillian-core/blob/master/config/impl-base/src/main/java/org/jboss/arquillian/config/impl/extension/PropertiesParser.java
So I'm very interested why it was done in this way - was there any good reason for it? Could you please shed some light on this @smiklosovic

That's correct. I think that's what you should generally expect when it comes to precedence. System properties take precedence over locally defined ones (e.g. mvn).

yeah why not :)

what about environment properties?

This can be always solved in arq.xml

Maybe we should remove those additional ones and just rely on what is available from core?

I think we should have following strategy:

  • properties in arquillian.xml
  • overwrite if their Governor counter parts defined as env / system properties

I wouldn't remove "counter parts" as they are already introduced and it would be confusing for the user.

By counterparts I mean for example redmine.governor.server (used in arquillian.xml as server under configuration for redmine).

And we can always use regular substitution provided by Arquillian Core: ${property_name:default_value}.