<?xml version="1.0" encoding="UTF-8"?>
<project name="HelpshiftCustom">
  <target name="-code-gen">
    <!-- always merge manifest -->
    <mergemanifest
        appManifest="${manifest.abs.file}"
        outManifest="${out.manifest.abs.file}"
        enabled="${manifestmerger.enabled}">
      <library refid="project.library.manifest.file.path" />
    </mergemanifest>

    <do-only-if-manifest-hasCode
        elseText="hasCode = false. Skipping aidl/renderscript/R.java">
      <echo level="info">Handling aidl files...</echo>
      <aidl executable="${aidl}"
            framework="${project.target.framework.aidl}"
            libraryBinAidlFolderPathRefid="project.library.bin.aidl.folder.path"
            genFolder="${gen.absolute.dir}"
            aidlOutFolder="${out.aidl.absolute.dir}">
        <source path="${source.absolute.dir}"/>
      </aidl>

      <!-- renderscript generates resources so it must be called before aapt -->
      <echo level="info">----------</echo>
      <echo level="info">Handling RenderScript files...</echo>
      <!-- set the rs target prop in case it hasn't been set. -->
      <property name="renderscript.target" value="${project.minSdkVersion}" />
      <renderscript
          buildToolsRoot="${android.build.tools.dir}"
          genFolder="${gen.absolute.dir}"
          resFolder="${out.res.absolute.dir}"
          rsObjFolder="${out.rs.obj.absolute.dir}"
          libsFolder="${out.rs.libs.absolute.dir}"
          targetApi="${renderscript.target}"
          optLevel="${renderscript.opt.level}"
          supportMode="${renderscript.support.mode}"
          binFolder="${out.absolute.dir}"
          buildType="${build.is.packaging.debug}"
          previousBuildType="${build.last.is.packaging.debug}">
        <source path="${source.absolute.dir}"/>
      </renderscript>

      <echo level="info">----------</echo>
      <echo level="info">Handling Resources...</echo>
      <aapt executable="${aapt}"
            command="package"
            verbose="${verbose}"
            manifest="${out.manifest.abs.file}"
            originalManifestPackage="${project.app.package}"
            androidjar="${project.target.android.jar}"
            rfolder="${gen.absolute.dir}"
            nonConstantId="${android.library}"
            libraryResFolderPathRefid="project.library.res.folder.path"
            libraryPackagesRefid="project.library.packages"
            libraryRFileRefid="project.library.bin.r.file.path"
            ignoreAssets="${aapt.ignore.assets}"
            binFolder="${out.absolute.dir}"
            proguardFile="${out.absolute.dir}/proguard.txt">
        <res path="${out.res.absolute.dir}" />
        <res path="${resource.absolute.dir}" />
        <res path="${helpshift.res.parent}" />
      </aapt>

      <echo level="info">----------</echo>
      <echo level="info">Handling BuildConfig class...</echo>
      <buildconfig
          genFolder="${gen.absolute.dir}"
          package="${project.app.package}"
          buildType="${build.is.packaging.debug}"
          previousBuildType="${build.last.is.packaging.debug}"/>

    </do-only-if-manifest-hasCode>
  </target>
</project>
