이렇게 사용 가능한 태그에 변수를 설정할 수 있습니까?개미에서 사용 가능한 작업
<available file="${inf.root}/schema_params/@{componame}-schema.sql"
type="file"
variable="schema.file" />
사용 가능한 태그에서 변수 대신 속성을 사용하면 값이 변경되지 않기 때문입니다. 하지만 런타임에 그것을 변경하고 싶습니다. 아래 코드는 내 구성 요소 목록을 통해 1 파일 검사를 복사하고 싶습니다. 파일이 존재한다면 복사하고 옮겨야합니다. 그렇지 않으면 나는 논리를 건너 뛰어야한다. 나는이 코드를 사용 해달라고하면 파일이 존재하는 경우 schema.params.file, scripts.dir가 true로 설정되어있는 경우 그러나 일이 뭐죠 그것은 다음 반복에 overided되지 않고, 첫 번째 반복에서
<var name="schema.params.file" unset="true"/>
<property name="schema.params.file" value="false"/>
<var name="scripts.dir" unset="true"/>
<property name="scripts.dir" value="false"/>
에도 비록 파일 doenot가 존재한다면. 그래서 위의 코드를 추가했습니다.하지만 항상 위의 코드에 의해 값은 false로 다시 설정됩니다. 어떻게이 2 schema.params.file, 모든 반복에서 scripts.dir을 무시하는 문제를 극복 할 수 있습니까?
<for list="${[email protected]{componentname}}" param="installableid" delimiter="${line.separator}">
<sequential>
<available file="${infinys.root}/schema_params/@{componentname}-schema_params.sql"
type="file"
property="schema.params.file" />
<available file="${stage.dir}/@{componentname}/@{installableid}/schema/install/scripts"
type="dir" property="scripts.dir"/>
<if>
<and>
<equals arg1="true" arg2="${schema.params.file}" />
<equals arg1="true" arg2="${scripts.dir}" />
</and>
<then>
<copy file="${infinys.root}/schema_params/@{componentname}-schema_params.sql"
todir="${stage.dir}/@{componentname}/@{installableid}/schema/install/scripts"
failonerror="false" />
<move file="${stage.dir}/@{componentname}/@{installableid}/schema/install/scripts/@{componentname}-schema_params.sql"
tofile="${stage.dir}/@{componentname}/@{installableid}/schema/install/scripts/schema_params.sql"
failonerror="false"/>
<chmod file="${stage.dir}/@{componentname}/@{installableid}/schema/install/scripts/schema_params.sql" perm="775"/>
<var name="schema.params.file" unset="true"/>
<property name="schema.params.file" value="false"/>
<var name="scripts.dir" unset="true"/>
<property name="scripts.dir" value="false"/>
</then>
</if>
</sequential>
</for>