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