I think I figured out where we missed each other.
If a JVM argument is used to point to the user.properties.file that carries over to the subproject. Properties defined in the suite or module, as you point out, do not unless you pass them on explicitly.
So for future reference to explain why the wiki is right
[xml]
<project name="module" default="module">
<property name="module-only" value="Only in the module" />
<property name="module-passed" value="Passed on explicitly" />
<target name="module">
<echo>Value of module-only: ${module-only}</echo>
<echo>Value of module-passed: ${module-passed}</echo>
<echo>Value of JVM-arg: ${JVM-arg}</echo>
<ant antfile="subproject.xml" inheritall="false" inheritrefs="false" target="subproject">
<property name="module-passed" value="${module-passed}" />
</ant>
</target>
</project>[/xml]
[xml]
<project name="subproject">
<target name="subproject">
<echo>Value of module-only: ${module-only}</echo>
<echo>Value of module-passed: ${module-passed}</echo>
<echo>Value of JVM-arg: ${JVM-arg}</echo>
</target>
</project>[/xml]
$ ant -DJVM-arg="From the command line"
module:
[echo] Value of module-only: Only in the module
[echo] Value of module-passed: Passed on explicitly
[echo] Value of JVM-arg: From the command line
subproject:
[echo] Value of module-only: ${module-only}
[echo] Value of module-passed: Passed on explicitly
[echo] Value of JVM-arg: From the command line