【问题标题】:Condition on set property Ant设置属性 Ant 的条件
【发布时间】:2015-01-11 16:31:12
【问题描述】:

我的 apache ant build.xml 文件有以下目标:

 <target name="deploy" depends="replace" description="Prepare subrion core files for deploying">
  <copy todir="${source}" includeEmptyDirs="true">
   <fileset dir="${basedir}/src">
    <include name="**/*"/>
    <exclude name="**/.git/**" />
    <exclude name="**/.gitignore" />
    <exclude name="packages/**/*"/>
    <exclude name="plugins/**/*"/>
    <exclude name="templates/**/*"/>
   </fileset>
  </copy>

  <copy todir="${source}/plugins/fancybox" includeEmptyDirs="true">
    <fileset dir="${basedir}/src/plugins/fancybox"/>
  </copy>

  <copy todir="${source}/plugins/kcaptcha" includeEmptyDirs="true">
    <fileset dir="${basedir}/src/plugins/kcaptcha"/>
  </copy>

  <copy todir="${source}/plugins/personal_blog" includeEmptyDirs="true">
    <fileset dir="${basedir}/src/plugins/personal_blog"/>
  </copy>

  <copy todir="${source}/templates/common" includeEmptyDirs="true">
    <fileset dir="${basedir}/src/templates/common"/>
  </copy>

  <copy todir="${source}/templates/startup" includeEmptyDirs="true">
    <fileset dir="${basedir}/src/templates/startup"/>
  </copy>

  <mkdir dir="${source}/tmp"/>
  <mkdir dir="${source}/uploads"/>
 </target>

我还使用 Jenkins 中的参数化构建将以下属性传递给我的构建:

 <property name="ispackages" value="${env.PACKAGES}"/>
 <property name="isplugins" value="${env.PLUGINS}"/>

所以我的问题来了: - 我如何运行包/插件文件夹的排除。

请指教。

提前致谢。

附: Ant版本是1.9.3

【问题讨论】:

标签: apache ant jenkins


【解决方案1】:

如果我正确理解您的查询,您希望有选择地为您正在考虑部署目标副本的文件集提供所需的执行权限。

哪些代码可能看起来像:

<fileset dir="${basedir}/src" id="required.src.fileset">
    <include name="**/*"/>
    <exclude name="**/.git/**" />
    <exclude name="**/.gitignore" />
    <exclude name="packages/**/*"/>
    <exclude name="plugins/**/*"/>
    <exclude name="templates/**/*"/>
   </fileset>

<copy todir="${source}" includeEmptyDirs="true">
    <fileset refid="required.src.fileset"/>
</copy>

<chmod perm="744">
     <fileset refid="required.src.fileset"/>
   </chmod>

【讨论】:

  • 请原谅我的英语。我只想在我的属性是 packages 设置为 false 时执行 规则。
  • 您可以定义条件文件集以应用权限然后使用&lt;istrue value="${ispackages}"/&gt; ??
  • 谢谢 :) 我就是这么做的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
  • 2020-01-08
  • 2012-10-16
相关资源
最近更新 更多