设置属性Ant的条件

时间:2014-11-14 10:01:36

标签: apache ant jenkins

我的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}"/>

所以我的问题出现了: - 如何为packages / plugins文件夹运行排除。

请告知。

提前致谢。

P.S。 Ant版本是1.9.3

1 个答案:

答案 0 :(得分:0)

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

代码如下:

<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>