/*
 * 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')

include "kotlinx-coroutines-core"

module('kotlinx-coroutines-test')
module('kotlinx-coroutines-debug')
module('stdlib-stubs')
module('kotlinx-coroutines-bom')


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/js-stub')
module('js/example-frontend-js')
