Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
d61e40e4
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,发现更多精彩内容 >>
提交
d61e40e4
编写于
3月 25, 2020
作者:
K
Konstantin Tskhovrebov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add tests for setup native run gutters.
上级
39e1f03c
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
194 addition
and
0 deletion
+194
-0
idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/NativeRunConfigurationTest.kt
...lin/idea/codeInsight/gradle/NativeRunConfigurationTest.kt
+103
-0
idea/testData/gradle/nativeRunConfiguration/customEntryPointWithoutRunGutter/build.gradle.kts
...uration/customEntryPointWithoutRunGutter/build.gradle.kts
+21
-0
idea/testData/gradle/nativeRunConfiguration/customEntryPointWithoutRunGutter/gradle.properties
...ration/customEntryPointWithoutRunGutter/gradle.properties
+1
-0
idea/testData/gradle/nativeRunConfiguration/customEntryPointWithoutRunGutter/settings.gradle.kts
...tion/customEntryPointWithoutRunGutter/settings.gradle.kts
+10
-0
idea/testData/gradle/nativeRunConfiguration/customEntryPointWithoutRunGutter/src/macosMain/kotlin/sample/SampleMacos.kt
...thoutRunGutter/src/macosMain/kotlin/sample/SampleMacos.kt
+6
-0
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/build.gradle.kts
...nfiguration/multiplatformNativeRunGutter/build.gradle.kts
+27
-0
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/settings.gradle.kts
...guration/multiplatformNativeRunGutter/settings.gradle.kts
+10
-0
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/src/commonMain/kotlin/sample/SampleCommon.kt
...iveRunGutter/src/commonMain/kotlin/sample/SampleCommon.kt
+5
-0
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/src/macosMain/kotlin/sample/SampleMacos.kt
...ativeRunGutter/src/macosMain/kotlin/sample/SampleMacos.kt
+6
-0
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/src/macosTest/kotlin/sample/SampleTests.kt
...ativeRunGutter/src/macosTest/kotlin/sample/SampleTests.kt
+5
-0
未找到文件。
idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/NativeRunConfigurationTest.kt
0 → 100644
浏览文件 @
d61e40e4
/*
* 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.idea.codeInsight.gradle
import
com.intellij.codeInsight.daemon.LineMarkerInfo
import
com.intellij.execution.PsiLocation
import
com.intellij.execution.actions.ConfigurationContext
import
com.intellij.execution.actions.ConfigurationFromContext
import
com.intellij.openapi.vfs.VirtualFile
import
org.jetbrains.kotlin.gradle.GradleDaemonAnalyzerTestCase
import
org.jetbrains.kotlin.test.TagsTestDataUtil
import
org.jetbrains.plugins.gradle.service.execution.GradleRunConfiguration
import
org.junit.Test
import
org.junit.runners.Parameterized
import
java.net.URL
import
java.util.*
class
NativeRunConfigurationTest
:
GradleImportingTestCase
()
{
private
companion
object
{
private
const
val
DEFAULT_PLUGIN_VERSION
=
"1.4-M2"
private
val
latestPluginVersion
by
lazy
{
PluginVersionDownloader
.
getLatestDevVersion
()
?:
DEFAULT_PLUGIN_VERSION
}
@JvmStatic
@Parameterized
.
Parameters
(
name
=
"{index}: Gradle-{0}, KotlinGradlePlugin-{1}"
)
fun
data
():
Collection
<
Array
<
Any
>>
=
listOf
(
arrayOf
(
"6.0.1"
,
latestPluginVersion
))
}
override
fun
testDataDirName
():
String
=
"nativeRunConfiguration"
@JvmField
@Parameterized
.
Parameter
(
1
)
var
kotlinGradlePluginVersion
:
String
=
DEFAULT_PLUGIN_VERSION
@Test
fun
multiplatformNativeRunGutter
()
{
doTest
()
}
@Test
fun
customEntryPointWithoutRunGutter
()
{
doTest
()
}
override
fun
configureByFiles
(
properties
:
Map
<
String
,
String
>?):
List
<
VirtualFile
>
{
val
unitedProperties
=
HashMap
(
properties
?:
emptyMap
())
unitedProperties
[
"kotlin_plugin_version"
]
=
kotlinGradlePluginVersion
return
super
.
configureByFiles
(
unitedProperties
)
}
private
fun
doTest
()
{
val
files
=
importProjectFromTestData
()
val
project
=
myTestFixture
.
project
org
.
jetbrains
.
kotlin
.
gradle
.
checkFiles
(
files
.
filter
{
it
.
extension
==
"kt"
},
project
,
object
:
GradleDaemonAnalyzerTestCase
(
testLineMarkers
=
true
,
checkWarnings
=
false
,
checkInfos
=
false
,
rootDisposable
=
testRootDisposable
)
{
override
fun
renderAdditionalAttributeForTag
(
tag
:
TagsTestDataUtil
.
TagInfo
<
*
>):
String
?
{
val
lineMarkerInfo
=
tag
.
data
as
?
LineMarkerInfo
<
*
>
?:
return
null
val
gradleRunConfigs
=
lineMarkerInfo
.
extractConfigurations
().
filter
{
it
.
configuration
is
GradleRunConfiguration
}
val
runConfig
=
gradleRunConfigs
.
singleOrNull
()
// can we have more than one?
val
settings
=
(
runConfig
?.
configurationSettings
?.
configuration
as
?
GradleRunConfiguration
)
?.
settings
?:
return
null
return
"settings=\"${settings}\""
}
}
)
}
private
fun
LineMarkerInfo
<*>.
extractConfigurations
():
List
<
ConfigurationFromContext
>
{
val
location
=
PsiLocation
(
element
)
val
emptyContext
=
ConfigurationContext
.
createEmptyContextForLocation
(
location
)
return
emptyContext
.
configurationsFromContext
.
orEmpty
()
}
}
object
PluginVersionDownloader
{
fun
getLatestEapVersion
()
=
downloadVersions
(
EAP_URL
).
lastOrNull
()
fun
getLatestDevVersion
()
=
downloadVersions
(
DEV_URL
).
lastOrNull
()
private
fun
downloadVersions
(
url
:
String
):
List
<
String
>
{
return
versionRegexp
.
findAll
(
URL
(
url
).
readText
())
.
map
{
it
.
groupValues
[
1
].
removeSuffix
(
"/"
)
}
.
filter
{
it
.
isNotEmpty
()
&&
it
[
0
].
isDigit
()
}
.
toList
()
}
private
const
val
EAP_URL
=
"https://dl.bintray.com/kotlin/kotlin-eap/org/jetbrains/kotlin/jvm/org.jetbrains.kotlin.jvm.gradle.plugin/"
private
const
val
DEV_URL
=
"https://dl.bintray.com/kotlin/kotlin-dev/org/jetbrains/kotlin/jvm/org.jetbrains.kotlin.jvm.gradle.plugin/"
private
val
versionRegexp
=
"""href="([^"\\]+)"""".toRegex()
}
\ No newline at end of file
idea/testData/gradle/nativeRunConfiguration/customEntryPointWithoutRunGutter/build.gradle.kts
0 → 100644
浏览文件 @
d61e40e4
plugins
{
id
(
"org.jetbrains.kotlin.multiplatform"
)
version
(
"{{kotlin_plugin_version}}"
)
}
repositories
{
maven
(
"https://dl.bintray.com/kotlin/kotlin-eap"
)
maven
(
"https://dl.bintray.com/kotlin/kotlin-dev"
)
mavenLocal
()
}
kotlin
{
macosX64
(
"macos"
)
{
binaries
{
executable
{
entryPoint
=
"sample.foo"
}
}
}
sourceSets
{
val
macosMain
by
getting
{}
}
}
\ No newline at end of file
idea/testData/gradle/nativeRunConfiguration/customEntryPointWithoutRunGutter/gradle.properties
0 → 100644
浏览文件 @
d61e40e4
kotlin.import.noCommonSourceSets
=
true
\ No newline at end of file
idea/testData/gradle/nativeRunConfiguration/customEntryPointWithoutRunGutter/settings.gradle.kts
0 → 100644
浏览文件 @
d61e40e4
pluginManagement
{
repositories
{
maven
(
"https://dl.bintray.com/kotlin/kotlin-eap"
)
maven
(
"https://dl.bintray.com/kotlin/kotlin-dev"
)
mavenLocal
()
gradlePluginPortal
()
}
}
rootProject
.
name
=
"test"
\ No newline at end of file
idea/testData/gradle/nativeRunConfiguration/customEntryPointWithoutRunGutter/src/macosMain/kotlin/sample/SampleMacos.kt
0 → 100644
浏览文件 @
d61e40e4
package
sample
fun
main
()
{}
fun
foo
()
{}
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/build.gradle.kts
0 → 100644
浏览文件 @
d61e40e4
plugins
{
id
(
"org.jetbrains.kotlin.multiplatform"
)
version
(
"{{kotlin_plugin_version}}"
)
}
repositories
{
maven
(
"https://dl.bintray.com/kotlin/kotlin-eap"
)
maven
(
"https://dl.bintray.com/kotlin/kotlin-dev"
)
mavenLocal
()
}
kotlin
{
macosX64
(
"macos"
)
{
binaries
{
executable
{
entryPoint
=
"sample.main"
}
}
}
sourceSets
{
commonMain
{
dependencies
{
implementation
(
kotlin
(
"stdlib-common"
))
}
}
val
macosMain
by
getting
{
}
}
}
\ No newline at end of file
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/settings.gradle.kts
0 → 100644
浏览文件 @
d61e40e4
pluginManagement
{
repositories
{
maven
(
"https://dl.bintray.com/kotlin/kotlin-eap"
)
maven
(
"https://dl.bintray.com/kotlin/kotlin-dev"
)
mavenLocal
()
gradlePluginPortal
()
}
}
rootProject
.
name
=
"test"
\ No newline at end of file
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/src/commonMain/kotlin/sample/SampleCommon.kt
0 → 100644
浏览文件 @
d61e40e4
package
sample
fun
main
()
{
}
\ No newline at end of file
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/src/macosMain/kotlin/sample/SampleMacos.kt
0 → 100644
浏览文件 @
d61e40e4
package
sample
fun
<
l
in
e
Marker
descr="null"
sett
in
gs="run
DebugExecutableMacos
"
>
main
</
lineMarker
>()
{}
fun
foo
()
{}
idea/testData/gradle/nativeRunConfiguration/multiplatformNativeRunGutter/src/macosTest/kotlin/sample/SampleTests.kt
0 → 100644
浏览文件 @
d61e40e4
package
sample
fun
main
()
{
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录