Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
2d068a42
K
kotlin
项目概览
硅谷海盗
/
kotlin
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kotlin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2d068a42
编写于
6月 08, 2020
作者:
I
Ilya Goncharov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Gradle, JS] Use common isMain for KotlinCompilation
上级
24568058
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
44 addition
and
49 deletion
+44
-49
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt
...rains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt
+8
-19
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
...kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
+1
-1
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt
...etbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt
+2
-2
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt
...ins/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt
+4
-3
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/KotlinCompilationsModuleGroups.kt
...dle/plugin/mpp/internal/KotlinCompilationsModuleGroups.kt
+3
-2
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt
.../jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt
+12
-10
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt
...ns/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt
+2
-1
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt
...brains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt
+2
-1
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt
...tlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt
+1
-1
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt
...e/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt
+1
-1
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinRootNpmResolver.kt
...n/gradle/targets/js/npm/resolver/KotlinRootNpmResolver.kt
+2
-2
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinJsSubTarget.kt
.../kotlin/gradle/targets/js/subtargets/KotlinJsSubTarget.kt
+2
-1
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt
...n/gradle/targets/native/KotlinNativeTargetConfigurator.kt
+2
-3
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetPreset.kt
.../kotlin/gradle/targets/native/KotlinNativeTargetPreset.kt
+2
-2
未找到文件。
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt
浏览文件 @
2d068a42
/*
* Copyright 2010-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package
org.jetbrains.kotlin.compilerRunner
...
...
@@ -28,21 +17,21 @@ import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import
org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments
import
org.jetbrains.kotlin.cli.common.messages.MessageCollector
import
org.jetbrains.kotlin.daemon.client.CompileServiceSession
import
org.jetbrains.kotlin.daemon.common.
*
import
org.jetbrains.kotlin.daemon.common.
CompilerId
import
org.jetbrains.kotlin.gradle.dsl.kotlinExtensionOrNull
import
org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
import
org.jetbrains.kotlin.gradle.logging.kotlinDebug
import
org.jetbrains.kotlin.gradle.plugin.internal.state.TaskLoggers
import
org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import
org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import
org.jetbrains.kotlin.gradle.
tasks.KotlinCompileTaskData
import
org.jetbrains.kotlin.gradle.
plugin.internal.state.TaskLoggers
import
org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaTarget
import
org.jetbrains.kotlin.gradle.plugin.mpp.isMain
import
org.jetbrains.kotlin.gradle.plugin.mpp.ownModuleName
import
org.jetbrains.kotlin.gradle.tasks.KotlinCompileTaskData
import
org.jetbrains.kotlin.gradle.utils.archivePathCompatible
import
org.jetbrains.kotlin.gradle.utils.newTmpFile
import
org.jetbrains.kotlin.gradle.utils.relativeToRoot
import
org.jetbrains.kotlin.incremental.IncrementalModuleInfo
import
org.jetbrains.kotlin.incremental.IncrementalModuleEntry
import
org.jetbrains.kotlin.incremental.IncrementalModuleInfo
import
java.io.File
import
java.lang.ref.WeakReference
...
...
@@ -210,7 +199,7 @@ internal open class GradleCompilerRunner(protected val task: Task) {
}
}
if
(
compilation
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
)
{
if
(
compilation
.
isMain
()
)
{
if
(
isMultiplatformProject
)
{
(
project
.
tasks
.
findByName
(
target
.
artifactsTaskName
)
as
?
AbstractArchiveTask
)
?.
let
{
jarTask
->
jarToModule
[
jarTask
.
archivePathCompatible
.
canonicalFile
]
=
module
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
浏览文件 @
2d068a42
...
...
@@ -407,7 +407,7 @@ internal class KotlinCommonSourceSetProcessor(
override
fun
doTargetSpecificProcessing
()
{
project
.
tasks
.
findByName
(
kotlinCompilation
.
compileAllTaskName
)
!!
.
dependsOn
(
kotlinTask
)
// can be missing (e.g. in case of tests)
if
(
kotlinCompilation
.
compilationName
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
)
{
if
(
kotlinCompilation
.
isMain
()
)
{
project
.
tasks
.
findByName
(
kotlinCompilation
.
target
.
artifactsTaskName
)
?.
dependsOn
(
kotlinTask
)
}
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetConfigurator.kt
浏览文件 @
2d068a42
/*
* Copyright 2010-20
18
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-20
20
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
...
...
@@ -352,7 +352,7 @@ abstract class KotlinOnlyTargetConfigurator<KotlinCompilationType : KotlinCompil
target
.
compilations
.
all
{
compilation
->
buildCompilationProcessor
(
compilation
).
run
()
if
(
compilation
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
)
{
if
(
compilation
.
isMain
()
)
{
sourcesJarTask
(
compilation
,
target
.
targetName
,
target
.
targetName
.
toLowerCase
())
}
}
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt
浏览文件 @
2d068a42
...
...
@@ -17,7 +17,6 @@ import org.gradle.api.publish.PublicationContainer
import
org.gradle.api.publish.PublishingExtension
import
org.gradle.api.publish.maven.MavenPublication
import
org.gradle.api.publish.maven.internal.publication.MavenPublicationInternal
import
org.gradle.api.publish.maven.tasks.AbstractPublishToMaven
import
org.gradle.api.tasks.compile.AbstractCompile
import
org.gradle.jvm.tasks.Jar
import
org.gradle.util.ConfigureUtil
...
...
@@ -36,7 +35,9 @@ import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService
import
org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin
import
org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset
import
org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled
import
org.jetbrains.kotlin.gradle.utils.*
import
org.jetbrains.kotlin.gradle.utils.SingleWarningPerBuild
import
org.jetbrains.kotlin.gradle.utils.checkGradleCompatibility
import
org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import
org.jetbrains.kotlin.konan.target.HostManager
import
org.jetbrains.kotlin.konan.target.KonanTarget.*
import
org.jetbrains.kotlin.konan.target.presetName
...
...
@@ -371,7 +372,7 @@ internal fun Project.setupGeneralKotlinExtensionParameters() {
CompilationSourceSetUtil
.
compilationsBySourceSets
(
project
).
filterValues
{
compilations
->
compilations
.
any
{
// kotlin main compilation
it
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
it
.
isMain
()
// android compilation which is NOT in tested variant
||
(
it
as
?
KotlinJvmAndroidCompilation
)
?.
let
{
getTestedVariantData
(
it
.
androidVariant
)
==
null
}
==
true
}
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/KotlinCompilationsModuleGroups.kt
浏览文件 @
2d068a42
/*
* Copyright 2010-20
19
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-20
20
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
...
...
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.internal
import
org.gradle.api.Project
import
org.gradle.api.plugins.ExtraPropertiesExtension
import
org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import
org.jetbrains.kotlin.gradle.plugin.mpp.isMain
/** This is a disjoint-set union-like approach to having a module name that is equal across associated compilations, as the compiler
* now requires that to properly compile internal calls to friend classes. Associating a compilation with another one leads to their
...
...
@@ -40,7 +41,7 @@ internal class KotlinCompilationsModuleGroups {
listOf
(
aLeader
,
bLeader
).
run
{
/** heuristically choose the new leader: choose `main` when possible, don't choose `*test*` when there's an alternative,
* if that didn't work, choose the first name lexicographically */
val
newLeader
=
singleOrNull
{
it
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
}
val
newLeader
=
singleOrNull
{
it
.
isMain
()
}
?:
singleOrNull
{
it
.
name
.
contains
(
"main"
,
true
)
}
?:
singleOrNull
{
!
it
.
name
.
contains
(
"test"
,
true
)
}
?:
minBy
{
it
.
name
}
!!
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt
浏览文件 @
2d068a42
/*
* Copyright 2010-2018
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
* Copyright 2010-2020
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package
org.jetbrains.kotlin.gradle.plugin.mpp
...
...
@@ -18,7 +18,6 @@ import org.gradle.api.tasks.TaskProvider
import
org.gradle.api.tasks.TaskState
import
org.gradle.api.tasks.bundling.AbstractArchiveTask
import
org.gradle.util.ConfigureUtil
import
org.jetbrains.kotlin.fir.resolve.getOrPut
import
org.jetbrains.kotlin.gradle.dsl.*
import
org.jetbrains.kotlin.gradle.plugin.*
import
org.jetbrains.kotlin.gradle.plugin.mpp.internal.KotlinCompilationsModuleGroups
...
...
@@ -26,8 +25,6 @@ import org.jetbrains.kotlin.gradle.plugin.sources.defaultSourceSetLanguageSettin
import
org.jetbrains.kotlin.gradle.plugin.sources.getSourceSetHierarchy
import
org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
import
org.jetbrains.kotlin.gradle.tasks.locateTask
import
org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation
import
org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import
org.jetbrains.kotlin.gradle.utils.*
import
java.util.*
import
java.util.concurrent.Callable
...
...
@@ -39,6 +36,9 @@ internal fun KotlinCompilation<*>.composeName(prefix: String? = null, suffix: St
return
lowerCamelCaseName
(
prefix
,
targetNamePart
,
compilationNamePart
,
suffix
)
}
internal
fun
KotlinCompilation
<*>.
isMain
():
Boolean
=
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
abstract
class
AbstractKotlinCompilation
<
T
:
KotlinCommonOptions
>(
target
:
KotlinTarget
,
override
val
compilationName
:
String
...
...
@@ -74,7 +74,7 @@ abstract class AbstractKotlinCompilation<T : KotlinCommonOptions>(
get
()
=
lowerCamelCaseName
(
target
.
disambiguationClassifier
.
takeIf
{
target
!
is
KotlinMetadataTarget
},
when
{
compilationName
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
&&
target
is
KotlinMetadataTarget
->
isMain
()
&&
target
is
KotlinMetadataTarget
->
KotlinSourceSet
.
COMMON_MAIN_SOURCE_SET_NAME
// corner case: main compilation of the metadata target compiles commonMain
else
->
compilationName
}
...
...
@@ -207,12 +207,14 @@ abstract class AbstractKotlinCompilation<T : KotlinCommonOptions>(
*/
internal
open
val
friendArtifacts
:
FileCollection
get
()
=
with
(
target
.
project
)
{
if
(
associateWithTransitiveClosure
.
any
{
it
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
})
{
if
(
associateWithTransitiveClosure
.
any
{
it
.
isMain
()
})
{
// In case the main artifact is transitively added to the test classpath via a test dependency on another module
// that depends on this module's production part, include the main artifact in the friend artifacts, lazily:
files
(
provider
{
listOfNotNull
(
tasks
.
withType
(
AbstractArchiveTask
::
class
.
java
).
findByName
(
target
.
artifactsTaskName
)
?.
archivePathCompatible
)
listOfNotNull
(
tasks
.
withType
(
AbstractArchiveTask
::
class
.
java
).
findByName
(
target
.
artifactsTaskName
)
?.
archivePathCompatible
)
}
)
}
else
files
()
...
...
@@ -260,7 +262,7 @@ internal val KotlinCompilation<*>.ownModuleName: String
val
project
=
target
.
project
val
baseName
=
project
.
convention
.
findPlugin
(
BasePluginConvention
::
class
.
java
)
?.
archivesBaseName
?:
project
.
name
val
suffix
=
if
(
compilationName
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
)
""
else
"_$compilationName"
val
suffix
=
if
(
isMain
()
)
""
else
"_$compilationName"
return
filterModuleName
(
"$baseName$suffix"
)
}
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsBinaryContainer.kt
浏览文件 @
2d068a42
...
...
@@ -11,6 +11,7 @@ import org.gradle.api.plugins.ExtensionAware
import
org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import
org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import
org.jetbrains.kotlin.gradle.plugin.mpp.KotlinTargetWithBinaries
import
org.jetbrains.kotlin.gradle.plugin.mpp.isMain
import
org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
import
org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
import
org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode.DEVELOPMENT
...
...
@@ -140,7 +141,7 @@ constructor(
jsBinaryType
:
KotlinJsBinaryType
?
)
=
lowerCamelCaseName
(
compilation
.
name
.
let
{
if
(
it
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
)
null
else
it
}
,
if
(
compilation
.
isMain
())
null
else
compilation
.
name
,
mode
.
name
.
toLowerCase
(),
jsBinaryType
?.
name
?.
toLowerCase
()
)
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt
浏览文件 @
2d068a42
...
...
@@ -13,6 +13,7 @@ import org.gradle.language.base.plugins.LifecycleBasePlugin
import
org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator
import
org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import
org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests
import
org.jetbrains.kotlin.gradle.plugin.mpp.isMain
import
org.jetbrains.kotlin.gradle.plugin.whenEvaluated
import
org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
import
org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
...
...
@@ -148,7 +149,7 @@ abstract class KotlinJsIrSubTarget(
private
fun
configureMain
()
{
target
.
compilations
.
all
{
compilation
->
if
(
compilation
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
)
{
if
(
compilation
.
isMain
()
)
{
configureMain
(
compilation
)
}
}
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt
浏览文件 @
2d068a42
...
...
@@ -72,7 +72,7 @@ open class KotlinJsIrTargetConfigurator(kotlinPluginVersion: String) :
)
// Configure FQ module name to avoid cyclic dependencies in klib manifests (see KT-36721).
val
baseName
=
if
(
compilation
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
)
{
val
baseName
=
if
(
compilation
.
isMain
()
)
{
target
.
project
.
name
}
else
{
"${target.project.name}_${compilation.name}"
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt
浏览文件 @
2d068a42
...
...
@@ -59,7 +59,7 @@ internal class KotlinCompilationNpmResolver(
it
.
dependsOn
(
nodeJs
.
npmInstallTask
)
it
.
dependsOn
(
packageJsonTaskHolder
)
}.
also
{
packageJsonTask
->
if
(
compilation
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
)
{
if
(
compilation
.
isMain
()
)
{
project
.
tasks
.
withType
(
Zip
::
class
.
java
)
.
named
(
npmProject
.
target
.
artifactsTaskName
)
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinRootNpmResolver.kt
浏览文件 @
2d068a42
...
...
@@ -7,8 +7,8 @@ package org.jetbrains.kotlin.gradle.targets.js.npm.resolver
import
org.gradle.api.Project
import
org.gradle.api.Task
import
org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import
org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import
org.jetbrains.kotlin.gradle.plugin.mpp.isMain
import
org.jetbrains.kotlin.gradle.targets.js.dukat.DukatRootResolverPlugin
import
org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
import
org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
...
...
@@ -68,7 +68,7 @@ internal class KotlinRootNpmResolver internal constructor(
fun
findDependentResolver
(
src
:
Project
,
target
:
Project
):
List
<
KotlinCompilationNpmResolver
>?
{
// todo: proper finding using KotlinTargetComponent.findUsageContext
val
targetResolver
=
this
[
target
]
val
mainCompilations
=
targetResolver
.
compilationResolvers
.
filter
{
it
.
compilation
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
}
val
mainCompilations
=
targetResolver
.
compilationResolvers
.
filter
{
it
.
compilation
.
isMain
()
}
return
if
(
mainCompilations
.
isNotEmpty
())
{
//TODO[Ilya Goncharov] Hack for Mixed mode of legacy and IR tooling
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinJsSubTarget.kt
浏览文件 @
2d068a42
...
...
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator
import
org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import
org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests
import
org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import
org.jetbrains.kotlin.gradle.plugin.mpp.isMain
import
org.jetbrains.kotlin.gradle.plugin.whenEvaluated
import
org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
import
org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
...
...
@@ -138,7 +139,7 @@ abstract class KotlinJsSubTarget(
private
fun
configureMain
()
{
target
.
compilations
.
all
{
compilation
->
if
(
compilation
.
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
)
{
if
(
compilation
.
isMain
()
)
{
configureMain
(
compilation
)
}
}
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetConfigurator.kt
浏览文件 @
2d068a42
/*
* Copyright 2010-20
18
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-20
20
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
...
...
@@ -17,7 +17,6 @@ import org.gradle.api.internal.plugins.DefaultArtifactPublicationSet
import
org.gradle.api.plugins.BasePlugin
import
org.gradle.api.tasks.Copy
import
org.gradle.api.tasks.Exec
import
org.gradle.api.tasks.TaskProvider
import
org.gradle.language.base.plugins.LifecycleBasePlugin
import
org.jetbrains.kotlin.gradle.plugin.KotlinCompilation.Companion.MAIN_COMPILATION_NAME
import
org.jetbrains.kotlin.gradle.plugin.KotlinCompilation.Companion.TEST_COMPILATION_NAME
...
...
@@ -170,7 +169,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget>(
project
.
tasks
.
getByName
(
compilation
.
compileAllTaskName
).
dependsOn
(
compileTask
)
if
(
compilation
.
compilationName
==
MAIN_COMPILATION_NAME
)
{
if
(
compilation
.
isMain
()
)
{
compilation
as
?
KotlinNativeCompilation
?:
error
(
"Main shared-Native compilation is not yet supported!"
)
project
.
tasks
.
getByName
(
compilation
.
target
.
artifactsTaskName
).
apply
{
...
...
libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetPreset.kt
浏览文件 @
2d068a42
/*
* Copyright 2010-20
18
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-20
20
JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
...
...
@@ -150,7 +150,7 @@ internal val KonanTarget.enabledOnCurrentHost
get
()
=
HostManager
().
isEnabled
(
this
)
internal
val
AbstractKotlinNativeCompilation
.
isMainCompilation
:
Boolean
get
()
=
name
==
KotlinCompilation
.
MAIN_COMPILATION_NAME
get
()
=
isMain
()
// KonanVersion doesn't provide an API to compare versions,
// so we have to transform it to KotlinVersion first.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录