<commit_before>package com.beust.kobalt.api

import com.beust.kobalt.TestConfig
import com.beust.kobalt.api.annotation.Directive
import com.beust.kobalt.internal.IProjectInfo
import com.beust.kobalt.maven.dependency.MavenDependency
import com.beust.kobalt.misc.KFiles
import java.util.*

open class Project(
        @Directive open var name: String,
        @Directive open var version: String? = null,
        @Directive open var directory: String = ".",
        @Directive open var buildDirectory: String = KFiles.KOBALT_BUILD_DIR,
        @Directive open var group: String? = null,
        @Directive open var artifactId: String? = null,
        @Directive open var packaging: String? = null,
        @Directive open var dependencies: Dependencies? = null,
        @Directive open var sourceSuffix : String = "",
        @Directive open var description : String = "",
        @Directive open var scm : Scm? = null,
        @Directive open var url: String? = null,
        @Directive open var licenses: List<License> = arrayListOf<License>(),
        @Directive open var packageName: String? = group,
        val projectInfo: IProjectInfo) : IBuildConfig {

    val testConfigs = arrayListOf<TestConfig>()

    override var buildConfig : BuildConfig? = null //BuildConfig()

    val projectProperties = ProjectProperties()

    override fun equals(other: Any?): Boolean {
        return name == (other as Project).name
    }

    override fun hashCode(): Int {
        return name.hashCode()
    }

    //
    // Directories
    //

    @Directive
    fun sourceDirectories(init: Sources.() -> Unit) : Sources {
        val sources = Sources(this, sourceDirectories)
        sources.init()
        return sources
    }

    var sourceDirectories : HashSet<String> = hashSetOf()
        get() = if (field.isEmpty()) projectInfo.defaultSourceDirectories else field
        set(value) {
            field = value
        }

    @Directive<commit_msg>Tests not running without a test {}.<commit_after>package com.beust.kobalt.api

import com.beust.kobalt.TestConfig
import com.beust.kobalt.api.annotation.Directive
import com.beust.kobalt.internal.IProjectInfo
import com.beust.kobalt.maven.dependency.MavenDependency
import com.beust.kobalt.misc.KFiles
import java.util.*

open class Project(
        @Directive open var name: String,
        @Directive open var version: String? = null,
        @Directive open var directory: String = ".",
        @Directive open var buildDirectory: String = KFiles.KOBALT_BUILD_DIR,
        @Directive open var group: String? = null,
        @Directive open var artifactId: String? = null,
        @Directive open var packaging: String? = null,
        @Directive open var dependencies: Dependencies? = null,
        @Directive open var sourceSuffix : String = "",
        @Directive open var description : String = "",
        @Directive open var scm : Scm? = null,
        @Directive open var url: String? = null,
        @Directive open var licenses: List<License> = arrayListOf<License>(),
        @Directive open var packageName: String? = group,
        val projectInfo: IProjectInfo) : IBuildConfig {

    val testConfigs = arrayListOf(TestConfig(this))

    override var buildConfig : BuildConfig? = null //BuildConfig()

    val projectProperties = ProjectProperties()

    override fun equals(other: Any?): Boolean {
        return name == (other as Project).name
    }

    override fun hashCode(): Int {
        return name.hashCode()
    }

    //
    // Directories
    //

    @Directive
    fun sourceDirectories(init: Sources.() -> Unit) : Sources {
        val sources = Sources(this, sourceDirectories)
        sources.init()
        return sources
    }

    var sourceDirectories : HashSet<String> = hashSetOf()
        get() = if (field.isEmpty()) projectInfo.defaultSourceDirectories else field
        set(value) {
            field = value
        }

    @Directive
{'fraction_non_alphanumeric': 0.09910828025477707, 'fraction_numerical': 0.0, 'mean_word_length': 2.8190661478599224, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, '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': '2771473', 'n_tokens_mistral': 1126, 'n_tokens_neox': 1089, 'n_words': 319}