Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
skiko
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liuqiang
skiko
Commits
4b9b9ad1
Commit
4b9b9ad1
authored
Dec 21, 2021
by
Alexey Tsvetkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix versions generation
parent
e4cf4694
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
25 deletions
+36
-25
build.gradle.kts
skiko/build.gradle.kts
+36
-25
No files found.
skiko/build.gradle.kts
View file @
4b9b9ad1
...
@@ -3,6 +3,7 @@ import org.gradle.crypto.checksum.Checksum
...
@@ -3,6 +3,7 @@ import org.gradle.crypto.checksum.Checksum
import
org.gradle.api.tasks.testing.AbstractTestTask
import
org.gradle.api.tasks.testing.AbstractTestTask
import
org.jetbrains.compose.internal.publishing.MavenCentralProperties
import
org.jetbrains.compose.internal.publishing.MavenCentralProperties
import
org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import
org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import
org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import
org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import
org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import
org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
import
org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
import
org.gradle.api.tasks.testing.logging.TestExceptionFormat
import
org.gradle.api.tasks.testing.logging.TestExceptionFormat
...
@@ -23,7 +24,6 @@ fun targetSuffix(os: OS, arch: Arch): String {
...
@@ -23,7 +24,6 @@ fun targetSuffix(os: OS, arch: Arch): String {
val
skiko
=
SkikoProperties
(
rootProject
)
val
skiko
=
SkikoProperties
(
rootProject
)
val
buildType
=
skiko
.
buildType
val
buildType
=
skiko
.
buildType
val
generatedKotlin
=
"$buildDir/kotlin/commonMain"
allprojects
{
allprojects
{
group
=
"org.jetbrains.skiko"
group
=
"org.jetbrains.skiko"
...
@@ -218,6 +218,7 @@ kotlin {
...
@@ -218,6 +218,7 @@ kotlin {
compilations
.
all
{
compilations
.
all
{
kotlinOptions
.
jvmTarget
=
"11"
kotlinOptions
.
jvmTarget
=
"11"
}
}
generateVersion
(
targetOs
,
targetArch
)
}
}
if
(
supportAndroid
)
{
if
(
supportAndroid
)
{
...
@@ -226,6 +227,8 @@ kotlin {
...
@@ -226,6 +227,8 @@ kotlin {
compilations
.
all
{
compilations
.
all
{
kotlinOptions
.
jvmTarget
=
"11"
kotlinOptions
.
jvmTarget
=
"11"
}
}
// todo: what is the actual target arch? what does "jvm(android)" target even mean?
generateVersion
(
OS
.
Android
,
targetArch
)
}
}
}
}
...
@@ -240,6 +243,7 @@ kotlin {
...
@@ -240,6 +243,7 @@ kotlin {
}
}
}
}
binaries
.
executable
()
binaries
.
executable
()
generateVersion
(
OS
.
Wasm
,
Arch
.
Wasm
)
}
}
}
}
...
@@ -412,6 +416,8 @@ kotlin {
...
@@ -412,6 +416,8 @@ kotlin {
fun
configureNativeTarget
(
os
:
OS
,
arch
:
Arch
,
target
:
KotlinNativeTarget
)
{
fun
configureNativeTarget
(
os
:
OS
,
arch
:
Arch
,
target
:
KotlinNativeTarget
)
{
if
(!
os
.
isCompatibleWithHost
)
return
if
(!
os
.
isCompatibleWithHost
)
return
target
.
generateVersion
(
os
,
arch
)
val
targetString
=
"${os.id}-${arch.id}"
val
targetString
=
"${os.id}-${arch.id}"
val
unzipper
=
registerOrGetSkiaDirProvider
(
os
,
arch
)
val
unzipper
=
registerOrGetSkiaDirProvider
(
os
,
arch
)
...
@@ -859,26 +865,38 @@ if (hostOs == OS.MacOS) {
...
@@ -859,26 +865,38 @@ if (hostOs == OS.MacOS) {
}
}
}
}
val
generateVersion
=
generateVersionTask
(
targetOs
,
targetArch
)
fun
KotlinTarget
.
generateVersion
(
fun
Project
.
generateVersionTask
(
targetOs
:
OS
,
targetOs
:
OS
,
targetArch
:
Arch
targetArch
:
Arch
)
=
registerSkikoTask
<
DefaultTask
>(
"generateVersion"
,
targetOs
,
targetArch
)
{
)
{
val
outDir
=
generatedKotlin
val
targetName
=
this
.
name
file
(
outDir
).
mkdirs
()
val
generatedDir
=
project
.
layout
.
buildDirectory
.
dir
(
"generated/$targetName"
)
val
out
=
"$outDir/Version.kt"
val
generateVersionTask
=
project
.
registerSkikoTask
<
DefaultTask
>(
"generateVersion"
,
targetOs
,
targetArch
)
{
outputs
.
dir
(
outDir
)
inputs
.
property
(
"buildType"
,
buildType
.
id
)
doFirst
{
outputs
.
dir
(
generatedDir
)
val
target
=
"${targetOs.id}-${targetArch.id}"
doFirst
{
val
skiaTag
=
project
.
property
(
"dependencies.skia.$target"
)
as
String
val
outDir
=
generatedDir
.
get
().
asFile
File
(
out
).
writeText
(
"""
outDir
.
deleteRecursively
()
package org.jetbrains.skiko
outDir
.
mkdirs
()
object Version {
val
out
=
"$outDir/Version.kt"
val skiko = "${skiko.deployVersion}"
val skia = "${skiaTag}"
val
target
=
"${targetOs.id}-${targetArch.id}"
val
skiaTag
=
project
.
property
(
"dependencies.skia.$target"
)
as
String
File
(
out
).
writeText
(
"""
package org.jetbrains.skiko
object Version {
val skiko = "${skiko.deployVersion}"
val skia = "${skiaTag}"
}
"""
.
trimIndent
()
)
}
}
"""
.
trimIndent
())
}
val
compilation
=
compilations
[
"main"
]
?:
error
(
"Could not find 'main' compilation for target '$this'"
)
compilation
.
compileKotlinTaskProvider
.
configure
{
dependsOn
(
generateVersionTask
)
(
this
as
AbstractCompile
).
source
(
generatedDir
.
get
().
asFile
)
}
}
}
}
...
@@ -1135,17 +1153,10 @@ if (skiko.isCIBuild || mavenCentral.signArtifacts) {
...
@@ -1135,17 +1153,10 @@ if (skiko.isCIBuild || mavenCentral.signArtifacts) {
afterEvaluate
{
afterEvaluate
{
tasks
.
withType
<
KotlinCompile
>().
configureEach
{
// this one is actually KotlinJvmCompile
tasks
.
withType
<
KotlinCompile
>().
configureEach
{
// this one is actually KotlinJvmCompile
dependsOn
(
generateVersion
)
source
(
generatedKotlin
)
if
(
name
==
"compileTestKotlinJvm"
)
{
if
(
name
==
"compileTestKotlinJvm"
)
{
kotlinOptions
.
freeCompilerArgs
+=
"-Xopt-in=kotlin.RequiresOptIn"
kotlinOptions
.
freeCompilerArgs
+=
"-Xopt-in=kotlin.RequiresOptIn"
}
}
}
}
tasks
.
withType
<
KotlinNativeCompile
>().
configureEach
{
dependsOn
(
generateVersion
)
source
(
generatedKotlin
)
}
}
}
// Kotlin/JS has a bug preventing compilation on non-x86 Linux machines,
// Kotlin/JS has a bug preventing compilation on non-x86 Linux machines,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment