0
votes

I have the following target for my apache ant build.xml file:

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

I also have the following properties passed to my build using parameterized build in Jenkins:

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

So here comes my question: - how do I run exclusion for packages/plugins folder.

Please advise.

Thanks in advance.

P.S. Ant version is 1.9.3

1
how can chmod command add condition for exclusion of some rules? No way. - Vasily Bezruchkin

1 Answers

0
votes

If I understood your query correctly, you want to selectively give required execute permission on fileset you are considering for your deploy target copy over.

And for which code could look like :

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