<commit_before><project name="Ceylon SDK" basedir="." default="test">

    <property file="build.properties" />
    <property name="ceylon.verbosity" value="false"/>
    <property name="ceylon.executable" value="${ceylon.main.dir}/dist/dist/bin/ceylon"/>
    <property name="out.repo" location="${basedir}/modules"/>
    <property name="deps.repo" location="${basedir}/test-deps"/>
    <property name="test.repo" location="${basedir}/modules"/>
    
    <property name="osgi" location="${basedir}/osgi" />
    <property name="osgi.p2" location="${osgi}/p2" />
    <property name="osgi.dist" location="${osgi}/dist" />
    <property name="osgi.build" location="${osgi}/build" />
    <property name="osgi.dist.plugins" location="${osgi.dist}/plugins" />
    
    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
        <classpath>
            <pathelement location="${ceylon.main.dir}/lib/ant-contrib-1.0b3.jar"/>
        </classpath>
    </taskdef>

    <taskdef resource="taskdef.properties">
        <classpath>
            <pathelement path="${ceylon.main.dir}/lib/org.osgi.impl.bundle.repoindex.ant-2.1.2.jar" />
        </classpath>
    </taskdef>

    <taskdef resource="aQute/bnd/ant/taskdef.properties"
          classpath="${ceylon.main.dir}/lib/biz.aQute.bnd-2.3.0.jar"/>

    <!-- Local repository -->
    <property name="ceylon.repo.dir" location="${user.home}/.ceylon/repo" />
    
    <path id="ant-tasks">
        <pathelement location="${ceylon.ant.lib}"/>
    </path>
    
    <target name="ceylondefs" unless="ceylondefined">
        <property name="ceylondefined" value="true" />

        <typedef resource="com/redhat/ceylon/ant/antlib.xml" classpathref="ant-tasks"/>

        <reposet id="reposet.compile.test">
            <repo url="${out.repo}"/>
            <repo url="${deps.repo}"/><!-- Needed for h2.jar dep of test.ceylon.dbc -->
        </reposet>
    
        <reposet id="reposet.run.test">
            <reposet refid="reposet.compile.test"/>
            <repo url="${test.repo}"/>
        </reposet>
    
        <moduleset id="modules.sdk.jvm">
            <module name="ceylon.collection"/>
            <module name="ceylon.dbc"/>
            <module name="ceylon.decimal"/>
            <module name="ceylon.file"/>
            <module name="ceylon.html"/>
            <module name="ceylon.interop.java"/>
            <module name="ceylon.io"/>
            <module name="ceylon.json"/>
            <module name="ceylon.locale"/>
            <module name="ceylon.logging"/>
            <module name="ceylon.math"/>
            <module name="ceylon.net"/>
            <module name="ceylon.numeric"/>
            <module name="ceylon.process"/>
            <module name="ceylon.promise"/>
            <module name="ceylon.random"/>
            <module name="ceylon.regex"/>
            <module name="ceylon.test"/>
            <module name="ceylon.time"/>
            <module name="ceylon.transaction"/>
            <module name="ceylon.unicode"/>
            <module name="ceylon.whole"/>
            <module name="com.redhat.ceylon.war"/>
        </moduleset>

        <moduleset id="modules.sdk.js">
            <module name="ceylon.collection"/>
            <module name="ceylon.html"/>
            <module name="ceylon.interop.browser"/>
            <module name="ceylon.json"/>
            <module name="ceylon.locale"/>
            <module name="ceylon.logging"/>
            <module name="ceylon.numeric"/>
            <module name="ceylon.promise"/>
            <module name="ceylon.random"/>
            <module name="ceylon.regex"/>
            <module name="ceylon.test"/>
            <module name="ceylon.time"/>
            <module name="ceylon.whole"/>
        </moduleset>
	
        <moduleset id="modules.sdk.doc">
            <module name="ceylon.collection"/>
            <module name="ceylon.dbc"/>
            <module name="ceylon.decimal"/>
            <module name="ceylon.file"/>
            <module name="ceylon.html"/>
            <module name="ceylon.interop.browser"/>
            <module name="ceylon.interop.java"/>
            <module name="ceylon.io"/>
            <module name="ceylon.json"/>
            <module name="ceylon.locale"/>
            <module name="ceylon.logging"/>
            <module name="ceylon.math"/>
            <module name="ceylon.net"/>
            <module name="ceylon.numeric"/>
            <module name="ceylon.process"/>
            <module name="ceylon.promise"/>
            <module name="ceylon.regex"/>
            <module name="ceylon.random"/>
            <module name="ceylon.test"/>
            <module name="ceylon.time"/>
            <module name="ceylon.transaction"/>
            <module name="ceylon.unicode"/>
            <module name="ceylon.whole"/>
            <module name="com.redhat.ceylon.war"/>
        </moduleset>

        <moduleset id="modules.test.jvm">
            <module name="test.ceylon.test.suite"/>        
            <module name="test.ceylon.math"/>
            <module name="test.ceylon.collection"/>
            <module name="test.ceylon.file"/>
            <module name="test.ceylon.io"/>
            <module name="test.ceylon.json"/>
            <module name="test.ceylon.net"/>
            <module name="test.ceylon.numeric"/>
            <module name="test.ceylon.process"/>
            <module name="test.ceylon.promise"/>
            <module name="test.ceylon.random"/>
            <module name="test.ceylon.time"/>
            <module name="test.ceylon.dbc"/>
            <module name="test.ceylon.decimal"/>
            <module name="test.ceylon.interop.java"/>
            <module name="test.ceylon.unicode"/>
            <module name="test.ceylon.html"/>
            <module name="test.ceylon.locale"/>
            <module name="test.ceylon.logging"/>
            <module name="test.ceylon.regex"/>
            <module name="test.ceylon.transaction"/>
            <module name="test.ceylon.whole.common"/>
            <module name="test.ceylon.whole.jvm"/>
        </moduleset>

        <moduleset id="modules.test.js">
            <module name="test.ceylon.test.suite"/>
            <module name="test.ceylon.collection"/>
            <module name="test.ceylon.html"/>
            <module name="test.ceylon.json"/>
            <module name="test.ceylon.numeric"/>
            <module name="test.ceylon.promise"/>
            <module name="test.ceylon.random"/>
            <module name="test.ceylon.time"/>
            <module name="test.ceylon.locale"/>
            <module name="test.ceylon.regex"/>
            <module name="test.ceylon.whole.common"/>
        </moduleset>
    </target>
    
    <target name="clean"
        description="Deletes the test-modules and modules directories">
        <delete dir="${out.repo}"/>
        <delete dir="${test.repo}"/>
        <delete dir="${osgi.dist}"/>
        <delete dir="${osgi.build}"/>
    </target>
    
    <target name="compile-jvm" depends="ceylondefs"><commit_msg>Add ceylon.buffer to modules.{sdk,test}.{jvm,js} in build.xml<commit_after><project name="Ceylon SDK" basedir="." default="test">

    <property file="build.properties" />
    <property name="ceylon.verbosity" value="false"/>
    <property name="ceylon.executable" value="${ceylon.main.dir}/dist/dist/bin/ceylon"/>
    <property name="out.repo" location="${basedir}/modules"/>
    <property name="deps.repo" location="${basedir}/test-deps"/>
    <property name="test.repo" location="${basedir}/modules"/>
    
    <property name="osgi" location="${basedir}/osgi" />
    <property name="osgi.p2" location="${osgi}/p2" />
    <property name="osgi.dist" location="${osgi}/dist" />
    <property name="osgi.build" location="${osgi}/build" />
    <property name="osgi.dist.plugins" location="${osgi.dist}/plugins" />
    
    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
        <classpath>
            <pathelement location="${ceylon.main.dir}/lib/ant-contrib-1.0b3.jar"/>
        </classpath>
    </taskdef>

    <taskdef resource="taskdef.properties">
        <classpath>
            <pathelement path="${ceylon.main.dir}/lib/org.osgi.impl.bundle.repoindex.ant-2.1.2.jar" />
        </classpath>
    </taskdef>

    <taskdef resource="aQute/bnd/ant/taskdef.properties"
          classpath="${ceylon.main.dir}/lib/biz.aQute.bnd-2.3.0.jar"/>

    <!-- Local repository -->
    <property name="ceylon.repo.dir" location="${user.home}/.ceylon/repo" />
    
    <path id="ant-tasks">
        <pathelement location="${ceylon.ant.lib}"/>
    </path>
    
    <target name="ceylondefs" unless="ceylondefined">
        <property name="ceylondefined" value="true" />

        <typedef resource="com/redhat/ceylon/ant/antlib.xml" classpathref="ant-tasks"/>

        <reposet id="reposet.compile.test">
            <repo url="${out.repo}"/>
            <repo url="${deps.repo}"/><!-- Needed for h2.jar dep of test.ceylon.dbc -->
        </reposet>
    
        <reposet id="reposet.run.test">
            <reposet refid="reposet.compile.test"/>
            <repo url="${test.repo}"/>
        </reposet>
    
        <moduleset id="modules.sdk.jvm">
            <module name="ceylon.buffer"/>
            <module name="ceylon.collection"/>
            <module name="ceylon.dbc"/>
            <module name="ceylon.decimal"/>
            <module name="ceylon.file"/>
            <module name="ceylon.html"/>
            <module name="ceylon.interop.java"/>
            <module name="ceylon.io"/>
            <module name="ceylon.json"/>
            <module name="ceylon.locale"/>
            <module name="ceylon.logging"/>
            <module name="ceylon.math"/>
            <module name="ceylon.net"/>
            <module name="ceylon.numeric"/>
            <module name="ceylon.process"/>
            <module name="ceylon.promise"/>
            <module name="ceylon.random"/>
            <module name="ceylon.regex"/>
            <module name="ceylon.test"/>
            <module name="ceylon.time"/>
            <module name="ceylon.transaction"/>
            <module name="ceylon.unicode"/>
            <module name="ceylon.whole"/>
            <module name="com.redhat.ceylon.war"/>
        </moduleset>

        <moduleset id="modules.sdk.js">
            <module name="ceylon.buffer"/>
            <module name="ceylon.collection"/>
            <module name="ceylon.html"/>
            <module name="ceylon.interop.browser"/>
            <module name="ceylon.json"/>
            <module name="ceylon.locale"/>
            <module name="ceylon.logging"/>
            <module name="ceylon.numeric"/>
            <module name="ceylon.promise"/>
            <module name="ceylon.random"/>
            <module name="ceylon.regex"/>
            <module name="ceylon.test"/>
            <module name="ceylon.time"/>
            <module name="ceylon.whole"/>
        </moduleset>
	
        <moduleset id="modules.sdk.doc">
            <module name="ceylon.collection"/>
            <module name="ceylon.dbc"/>
            <module name="ceylon.decimal"/>
            <module name="ceylon.file"/>
            <module name="ceylon.html"/>
            <module name="ceylon.interop.browser"/>
            <module name="ceylon.interop.java"/>
            <module name="ceylon.io"/>
            <module name="ceylon.json"/>
            <module name="ceylon.locale"/>
            <module name="ceylon.logging"/>
            <module name="ceylon.math"/>
            <module name="ceylon.net"/>
            <module name="ceylon.numeric"/>
            <module name="ceylon.process"/>
            <module name="ceylon.promise"/>
            <module name="ceylon.regex"/>
            <module name="ceylon.random"/>
            <module name="ceylon.test"/>
            <module name="ceylon.time"/>
            <module name="ceylon.transaction"/>
            <module name="ceylon.unicode"/>
            <module name="ceylon.whole"/>
            <module name="com.redhat.ceylon.war"/>
        </moduleset>

        <moduleset id="modules.test.jvm">
            <module name="test.ceylon.buffer"/>
            <module name="test.ceylon.test.suite"/>        
            <module name="test.ceylon.math"/>
            <module name="test.ceylon.collection"/>
            <module name="test.ceylon.file"/>
            <module name="test.ceylon.io"/>
            <module name="test.ceylon.json"/>
            <module name="test.ceylon.net"/>
            <module name="test.ceylon.numeric"/>
            <module name="test.ceylon.process"/>
            <module name="test.ceylon.promise"/>
            <module name="test.ceylon.random"/>
            <module name="test.ceylon.time"/>
            <module name="test.ceylon.dbc"/>
            <module name="test.ceylon.decimal"/>
            <module name="test.ceylon.interop.java"/>
            <module name="test.ceylon.unicode"/>
            <module name="test.ceylon.html"/>
            <module name="test.ceylon.locale"/>
            <module name="test.ceylon.logging"/>
            <module name="test.ceylon.regex"/>
            <module name="test.ceylon.transaction"/>
            <module name="test.ceylon.whole.common"/>
            <module name="test.ceylon.whole.jvm"/>
        </moduleset>

        <moduleset id="modules.test.js">
            <module name="test.ceylon.buffer"/>
            <module name="test.ceylon.test.suite"/>
            <module name="test.ceylon.collection"/>
            <module name="test.ceylon.html"/>
            <module name="test.ceylon.json"/>
            <module name="test.ceylon.numeric"/>
            <module name="test.ceylon.promise"/>
            <module name="test.ceylon.random"/>
            <module name="test.ceylon.time"/>
            <module name="test.ceylon.locale"/>
            <module name="test.ceylon.regex"/>
            <module name="test.ceylon.whole.common"/>
        </moduleset>
    </target>
    
    <target name="clean"
        description="Deletes the test-modules and modules directories">
        <delete dir="${out.repo}"/>
        <delete dir="${test.repo}"/>
        <delete dir="${osgi.dist}"/>
        <delete dir="${osgi.build}"/>
    </target>
    
    <target name="compile-jvm" depends="ceylondefs">
{'fraction_non_alphanumeric': 0.17564138708767973, 'fraction_numerical': 0.0016915703411333521, 'mean_word_length': 2.034431137724551, 'pattern_counts': {'":': 0, '<': 311, '<?xml version=': 0, '>': 311, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 3}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7071504', 'n_tokens_mistral': 4159, 'n_tokens_neox': 4089, 'n_words': 646}