/*
 * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
 */

rootProject.name = 'kotlinx.coroutines'
enableFeaturePreview('GRADLE_METADATA')

def module(String path) {
    int i = path.lastIndexOf('/')
    def name = path.substring(i + 1)
    include(name)
    project(":$name").projectDir = file(path)
}

// ---------------------------

include('benchmarks')
include('knit')
include('site')

module('binary-compatibility-validator')

module('common/kotlinx-coroutines-core-common')

module('core/kotlinx-coroutines-core')
module('core/kotlinx-coroutines-test')
module('core/kotlinx-coroutines-debug')
module('core/stdlib-stubs')

module('integration/kotlinx-coroutines-guava')
module('integration/kotlinx-coroutines-jdk8')
module('integration/kotlinx-coroutines-slf4j')
module('integration/kotlinx-coroutines-play-services')

module('reactive/kotlinx-coroutines-reactive')
module('reactive/kotlinx-coroutines-reactor')
module('reactive/kotlinx-coroutines-rx2')
module('reactive/kotlinx-coroutines-rx-example')

module('ui/kotlinx-coroutines-android')
module('ui/kotlinx-coroutines-android/android-unit-tests')
module('ui/kotlinx-coroutines-javafx')
module('ui/kotlinx-coroutines-swing')

module('js/kotlinx-coroutines-core-js')
module('js/js-stub')
module('js/example-frontend-js')

module('native/kotlinx-coroutines-core-native')
