project(':validating') {
    jmh {
        include = 'validating.jmh.*'
    }
}

project(':collectiontopics') {
    dependencies {
        compile project(':typeinfo')
        compile project(':collections')
    }
    jmh {
        include = 'collectiontopics.jmh.*'
    }
}

project(':lowlevel') {
    dependencies {
        compile project(':enums')
    }
}

project(':strings') {
    dependencies {
        compile project(':generics')
    }
}

project(':serialization') {
    configurations.all {
        resolutionStrategy {
            force 'xml-apis:xml-apis:1.0.b2'
        }
    }
    dependencies {
        compile 'com.io7m.xom:xom:1.2.10'
    }
}

project(':interfaces') {
    dependencies {
        compile project(':polymorphism')
    }
}

project(':hiding') {
    dependencies {
        compile project(':com')
    }
}

project(':generics') {
    dependencies {
        compile project(':typeinfo')
    }
}

project(':collections') {
    dependencies {
        compile project(':typeinfo')
    }
}

configure(subprojects - project(':onjava')) {
    dependencies {
        compile project(':onjava')
        compile 'com.google.guava:guava:21.0-rc2'
        compileOnly "org.openjdk.jmh:jmh-core:${jmh.jmhVersion}"
    }
}