When you need to configure something in Arquillian you use arquillian.xml. For example in case to configure the webdriver in Drone/Graphene you do something like:
<extension qualifier="webdriver">
<property name="browser">${browser}</property>
</extension>
I ask myself could we do the same but with .properties? So for example the same example could be rewiriten to:
arquillian.extension.webdriver.browser=safari
or in case of containers:
<container qualifier="container1" default="true">
<configuration>
<property name="tomcatHome">target/tomcat-embedded-6-standby</property>
<property name="workDir">work</property>
</configuration>
</container>
can be expressed as:
arquillian.container.container1.default=true
arquillian.container.container1.configuration.tomcatHome=target/tomcat...
arquillian.container.container1.configuration.workDir=work
You may wonder why I am suggesting this change too. Well my first idea is to give people the opportunity to choose xml or .properties. But after that there is another idea. And it is that you can configure/override values using system properties for example:
-Darquillian.container.container1.default=true -Darquillian.container.container1.configuration.workDir=work
In this way we are going to support setting system properties natively, so no more hacks with Maven which is a different hack from Gradle and different from Ant. In this way for example in you Jenkins you will be able to set properties directly. And of course also we can extend this to environment variables as well so you can inject the configuration inside a Docker container using Dockerfile.
WDYT?