d5fbe59a3e
This is a large commit, which introduces general API for working with
abstraction of Platform.
- Add new abstraction to 'core' - SimplePlatform - which represents
exactly one platform
- Clients are strongly prohibited to create instances of SimplePlatform
by hand, instead, corresponding *Platforms abstraction should be used
(e.g. JvmPlatforms, JsPlatforms, KonanPlatforms)
- Move TargetPlatform to 'core', it represents now a collection of
SimplePlatforms
- Clients are strongly encouraged to use TargetPlatform
(not SimplePlatform) in API, to enforce checks for multiplatform
- Provide a helper-extensions to work with TargetPlatform
(in particular, for getting a specific component platform)
- Remove MultiTargetPlatform in favour of TargetPlatform
- Notably, this commit leaves another widely used duplicated abstraction,
namely, IdePlatform. For the sake sanity, removal of IdePlatform is
extracted in the separate commit.
21 lines
505 B
Kotlin
21 lines
505 B
Kotlin
|
|
plugins {
|
|
kotlin("jvm")
|
|
id("jps-compatible")
|
|
}
|
|
|
|
dependencies {
|
|
compile(project(":core:util.runtime"))
|
|
compile(project(":compiler:frontend"))
|
|
compile(project(":compiler:frontend.java"))
|
|
compile(project(":js:js.frontend"))
|
|
compileOnly(project(":kotlin-reflect-api"))
|
|
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
|
|
compileOnly(intellijDep()) { includeIntellijCoreJarDependencies(project) }
|
|
}
|
|
|
|
sourceSets {
|
|
"main" { projectDefault() }
|
|
"test" {}
|
|
}
|