ANT 및 사용 가능한 작업 - 무언가를 사용할 수 없다면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/133710

  •  02-07-2019
  •  | 
  •  

문제

작업을 사용하면 재산이 리소스 (파일)를 사용할 수있는 경우에만 TRUE로 설정됩니다. 그렇지 않다면, 속성은 정의되지 않습니다.

속성의 값을 인쇄 할 때 리소스를 사용할 수있는 경우에도 적용되지만 그렇지 않으면 속성 이름을 인쇄합니다.

자원이있는 경우 속성을 일부 가치로 설정하는 방법이 있습니까? ~ 아니다 사용 가능? 사용 가능한 수표 전에 숙박 시설을 명시 적으로 설정하려고 시도했지만 ANT는 다음과 같습니다.

[available] DEPRECATED -  used to override an existing property.
[available]   Build file should not reuse the same property name for different values.
도움이 되었습니까?

해결책

not과 함께 조건을 사용할 수 있습니다.

http://ant.apache.org/manual/tasks/condition.html

  <condition property="fooDoesNotExist">
    <not>
      <available filepath="path/to/foo"/>
    </not>
  </condition>

다른 팁

<available filepath="/path/to/foo" property="foosThere" value="true"/>
<property name="foosThere" value="false"/>

FOOSTHERE의 할당은 가용성 점검으로 아직 TRUE로 설정되지 않은 경우에만 성공할 것입니다.

이 동작의 이유는 대상의 IF/가 아닌 경우입니다. 이러한 속성이있는 대상은 이름이있는 속성이 설정되지 않는 한/이면 실행됩니다. false로 설정되거나 True로 설정되면 차이가 없습니다. 따라서 사용 가능한 작업을 사용하여 속성을 설정 하고이 실행을 기준으로 (또는 그렇지 않음) 작업을 수행 할 수 있습니다. ANT의 속성이 불변이 없기 때문에 사용 가능한 작업 전에 속성을 설정하는 것은 해결책이 아닙니다. 일단 설정하면 변경할 수 없습니다.

이전에없는 경우 속성을 값으로 설정하는 세 가지 가능한 솔루션이 있습니다.

  1. 사용 가능한 작업을 NOT과 함께 사용합니다.
  2. 속성을 설정하는 작업을 만듭니다. 속성을 설정하면 속성이 설정되지 않은 경우에만 실행됩니다 (작업의 문의하지 않는 한).
  3. 당신은 단순히 속성을 설정합니다 ~ 후에 사용 가능한 호출. 부동산은 설정이없는 경우에만 변경되므로 원하는 작업을 수행합니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top