<commit_before><?xml version="1.0" encoding="UTF-8"?>
<project name="MapsWithMe" default="help">

  <property name="arch" value="multiarch" />

  <condition property="build.type.multi">
    <equals arg1="${arch}" arg2="multiarch"/>
  </condition>

  <condition property="ndk.buildcommand.suffix" value=".cmd" else="">
    <os family="windows" />
  </condition>

  <target name="-setup-architectures">

    <if condition="${build.type.multi}">
      <then>
	<property name="mwm.ndk.abi" value="armeabi armeabi-v7a mips x86"/>
      </then>
      <else>
	<property name="mwm.ndk.abi" value="${arch}"/>
      </else>
    </if>

    <echo> ************************************************ </echo>
    <echo> ***** BUILDING THE FOLLOWING ARCHITECTURES ***** </echo>
    <echo> ***** ${mwm.ndk.abi}  </echo>
    <echo> ************************************************ </echo>

  </target>

  <property name="jni.absolute.dir" location="jni" />

  <target name="clean" depends="android_rules.clean">
    <exec executable="${ndk.dir}/ndk-build${ndk.buildcommand.suffix}" failonerror="true">
      <arg value="clean"/>
    </exec>
  </target>

  <target name="-ndk-production" depends="-setup-architectures">
    <exec executable="bash" failonerror="true">
      <env key="NDK_ABI_TO_BUILD" value="${mwm.ndk.abi}"/>
      <arg value="${mwm.tools.dir}/autobuild/android.sh"/>
      <arg value="production"/>
    </exec>
    <exec executable="touch">
      <arg value="${jni.absolute.dir}/com/mapswithme/core/jni_helper.cpp"/>
    </exec>
    <exec executable="${ndk.dir}/ndk-build${ndk.buildcommand.suffix}" failonerror="true">
      <arg value="NDK_DEBUG=0"/>
      <arg value="PRODUCTION=1"/>
      <arg value="V=1"/>
    </exec>
  </target>

  <target name="-set-production-mode" depends="android_rules.-set-mode-check">
    <property name="out.packaged.file" location="${out.absolute.dir}/${ant.project.name}-production-unsigned.apk" />
    <property name="out.final.file" location="${out.absolute.dir}/${ant.project.name}-production.apk" />
    <property name="build.is.mode.set" value="true" />

    <!-- record the current build target -->
    <property name="build.target" value="production" />
    
    <property name="build.is.instrumented" value="false" />

    <!-- production mode is only valid if the manifest does not explicitly                                                                                                     
         set debuggable to true. default is false. -->
    <xpath input="AndroidManifest.xml" expression="/manifest/application/@android:debuggable"
           output="build.is.packaging.debug" default="false"/>
    
    <!-- signing mode: production -->
    <property name="build.is.signing.debug" value="false" />
    
    <if condition="${build.is.packaging.debug}">
      <then>
        <echo>*************************************************</echo>
        <echo>****  Android Manifest has debuggable=true   ****</echo>
        <echo>** Doing DEBUG packaging with PRODUCTION keys ***</echo>
        <echo>*************************************************</echo>
      </then>
      <else>
        <!-- property only set in release mode.                                                                                                                            
             Useful for if/unless attributes in target node                                                                                                                
             when using Ant before 1.8 -->
        <property name="build.is.mode.release" value="true"/>
      </else>
    </if>
  </target>

  <target name="production" depends="-ndk-production, -set-production-mode,                                                                                
				     android_rules.-release-obfuscation-check, android_rules.-package, android_rules.-release-nosign"
          if="has.keystore" description="Production target - almost the same as release, but with real word config.">
    <!-- only create apk if *not* a library project -->
    <do-only-if-not-library elseText="Library project: do not create apk..." >
      <sequential>
        <property name="out.unaligned.file" location="${out.absolute.dir}/${ant.project.name}-production-unaligned.apk" />
        <!-- Signs the APK -->
        <echo>Signing final apk...</echo>
        <signjar
           jar="${out.packaged.file}"
           signedjar="${out.unaligned.file}"
           keystore="${key.store}"
           storepass="${key.store.password}"
           alias="${key.alias}"
           keypass="${key.alias.password}"
           verbose="${verbose}" />
	
        <!-- Zip aligns the APK -->
        <zipalign-helper in.package="${out.unaligned.file}"
                         out.package="${out.final.file}" />
        <echo>Release Package: ${out.final.file}</echo>
      </sequential>
    </do-only-if-not-library>
    <record-build-info />
  </target>

  <target name="-ndk-release" depends="-setup-architectures">
    <exec executable="bash" failonerror="true">
      <arg value="${mwm.tools.dir}/autobuild/android.sh"/>
      <arg value="release"/>
    </exec>
    <exec executable="touch">
      <arg value="${jni.absolute.dir}/com/mapswithme/core/jni_helper.cpp"/>
    </exec>
    <exec executable="${ndk.dir}/ndk-build${ndk.buildcommand.suffix}" failonerror="true">
      <arg value="NDK_DEBUG=0"/>
      <arg value="V=1"/>
    </exec>
  </target>

  <target name="release" depends="-ndk-release, android_rules.release">
  </target>

  <target name="-ndk-debug" depends="-setup-architectures">
    <exec executable="bash" failonerror="true">
      <arg value="${mwm.tools.dir}/autobuild/android.sh"/>
      <arg value="debug"/>
    </exec>
    <exec executable="touch">
      <arg value="${jni.absolute.dir}/com/mapswithme/core/jni_helper.cpp"/>
    </exec>
    <exec executable="${ndk.dir}/ndk-build${ndk.buildcommand.suffix}" failonerror="true">
      <arg value="NDK_DEBUG=1"/>
      <arg value="V=1"/>
    </exec>
  </target>

  <target name="debug" depends="-ndk-debug, android_rules.debug">
  </target>

</project>
<commit_msg>[android] Removed unnecessary touch because android modules correctly detect libs modification now<commit_after><?xml version="1.0" encoding="UTF-8"?>
<project name="MapsWithMe" default="help">

  <property name="arch" value="multiarch" />

  <condition property="build.type.multi">
    <equals arg1="${arch}" arg2="multiarch"/>
  </condition>

  <condition property="ndk.buildcommand.suffix" value=".cmd" else="">
    <os family="windows" />
  </condition>

  <target name="-setup-architectures">

    <if condition="${build.type.multi}">
      <then>
	<property name="mwm.ndk.abi" value="armeabi armeabi-v7a mips x86"/>
      </then>
      <else>
	<property name="mwm.ndk.abi" value="${arch}"/>
      </else>
    </if>

    <echo> ************************************************ </echo>
    <echo> ***** BUILDING THE FOLLOWING ARCHITECTURES ***** </echo>
    <echo> ***** ${mwm.ndk.abi}  </echo>
    <echo> ************************************************ </echo>

  </target>

  <property name="jni.absolute.dir" location="jni" />

  <target name="clean" depends="android_rules.clean">
    <exec executable="${ndk.dir}/ndk-build${ndk.buildcommand.suffix}" failonerror="true">
      <arg value="clean"/>
    </exec>
  </target>

  <target name="-ndk-production" depends="-setup-architectures">
    <exec executable="bash" failonerror="true">
      <env key="NDK_ABI_TO_BUILD" value="${mwm.ndk.abi}"/>
      <arg value="${mwm.tools.dir}/autobuild/android.sh"/>
      <arg value="production"/>
    </exec>
    <exec executable="${ndk.dir}/ndk-build${ndk.buildcommand.suffix}" failonerror="true">
      <arg value="NDK_DEBUG=0"/>
      <arg value="PRODUCTION=1"/>
      <arg value="V=1"/>
    </exec>
  </target>

  <target name="-set-production-mode" depends="android_rules.-set-mode-check">
    <property name="out.packaged.file" location="${out.absolute.dir}/${ant.project.name}-production-unsigned.apk" />
    <property name="out.final.file" location="${out.absolute.dir}/${ant.project.name}-production.apk" />
    <property name="build.is.mode.set" value="true" />

    <!-- record the current build target -->
    <property name="build.target" value="production" />
    
    <property name="build.is.instrumented" value="false" />

    <!-- production mode is only valid if the manifest does not explicitly                                                                                                     
         set debuggable to true. default is false. -->
    <xpath input="AndroidManifest.xml" expression="/manifest/application/@android:debuggable"
           output="build.is.packaging.debug" default="false"/>
    
    <!-- signing mode: production -->
    <property name="build.is.signing.debug" value="false" />
    
    <if condition="${build.is.packaging.debug}">
      <then>
        <echo>*************************************************</echo>
        <echo>****  Android Manifest has debuggable=true   ****</echo>
        <echo>** Doing DEBUG packaging with PRODUCTION keys ***</echo>
        <echo>*************************************************</echo>
      </then>
      <else>
        <!-- property only set in release mode.                                                                                                                            
             Useful for if/unless attributes in target node                                                                                                                
             when using Ant before 1.8 -->
        <property name="build.is.mode.release" value="true"/>
      </else>
    </if>
  </target>

  <target name="production" depends="-ndk-production, -set-production-mode,                                                                                
				     android_rules.-release-obfuscation-check, android_rules.-package, android_rules.-release-nosign"
          if="has.keystore" description="Production target - almost the same as release, but with real word config.">
    <!-- only create apk if *not* a library project -->
    <do-only-if-not-library elseText="Library project: do not create apk..." >
      <sequential>
        <property name="out.unaligned.file" location="${out.absolute.dir}/${ant.project.name}-production-unaligned.apk" />
        <!-- Signs the APK -->
        <echo>Signing final apk...</echo>
        <signjar
           jar="${out.packaged.file}"
           signedjar="${out.unaligned.file}"
           keystore="${key.store}"
           storepass="${key.store.password}"
           alias="${key.alias}"
           keypass="${key.alias.password}"
           verbose="${verbose}" />
	
        <!-- Zip aligns the APK -->
        <zipalign-helper in.package="${out.unaligned.file}"
                         out.package="${out.final.file}" />
        <echo>Release Package: ${out.final.file}</echo>
      </sequential>
    </do-only-if-not-library>
    <record-build-info />
  </target>

  <target name="-ndk-release" depends="-setup-architectures">
    <exec executable="bash" failonerror="true">
      <arg value="${mwm.tools.dir}/autobuild/android.sh"/>
      <arg value="release"/>
    </exec>
    <exec executable="${ndk.dir}/ndk-build${ndk.buildcommand.suffix}" failonerror="true">
      <arg value="NDK_DEBUG=0"/>
      <arg value="V=1"/>
    </exec>
  </target>

  <target name="release" depends="-ndk-release, android_rules.release">
  </target>

  <target name="-ndk-debug" depends="-setup-architectures">
    <exec executable="bash" failonerror="true">
      <arg value="${mwm.tools.dir}/autobuild/android.sh"/>
      <arg value="debug"/>
    </exec>
    <exec executable="${ndk.dir}/ndk-build${ndk.buildcommand.suffix}" failonerror="true">
      <arg value="NDK_DEBUG=1"/>
      <arg value="V=1"/>
    </exec>
  </target>

  <target name="debug" depends="-ndk-debug, android_rules.debug">
  </target>

</project>

{'fraction_non_alphanumeric': 0.2022209234365868, 'fraction_numerical': 0.0028387743174417635, 'mean_word_length': 2.406712172923777, 'pattern_counts': {'":': 0, '<': 242, '<?xml version=': 2, '>': 242, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 34, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2938440', 'n_tokens_mistral': 3521, 'n_tokens_neox': 3375, 'n_words': 640}