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
71d274ad
Unverified
Commit
71d274ad
authored
Sep 29, 2021
by
alexander-gorshenev
Committed by
GitHub
Sep 29, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Publish skiko as mpp library (#219)
parent
290578db
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
27 additions
and
47 deletions
+27
-47
blank.yml
.github/workflows/blank.yml
+1
-1
build.gradle.kts
samples/SkiaJsSample/build.gradle.kts
+5
-6
build.gradle.kts
samples/SkiaNativeSample/build.gradle.kts
+1
-2
build.gradle.kts
skiko/build.gradle.kts
+17
-34
properties.kt
skiko/buildSrc/src/main/kotlin/properties.kt
+1
-3
build.gradle.kts
skiko/ci/build.gradle.kts
+1
-1
gradle.properties
skiko/gradle.properties
+1
-0
No files found.
.github/workflows/blank.yml
View file @
71d274ad
...
@@ -90,7 +90,7 @@ jobs:
...
@@ -90,7 +90,7 @@ jobs:
source ./emsdk_env.sh
source ./emsdk_env.sh
cd ..
cd ..
./gradlew -Pskiko.wasm.enabled=true jsTest
./gradlew -Pskiko.wasm.enabled=true jsTest
./gradlew -Pskiko.wasm.enabled=true publishSkikoWasmRuntimePublicationToMavenLocal
publishSkikoJsRuntimePublicationToMavenLocal
./gradlew -Pskiko.wasm.enabled=true publishSkikoWasmRuntimePublicationToMavenLocal
windows
:
windows
:
runs-on
:
windows-2019
runs-on
:
windows-2019
steps
:
steps
:
...
...
samples/SkiaJsSample/build.gradle.kts
View file @
71d274ad
...
@@ -39,15 +39,14 @@ kotlin {
...
@@ -39,15 +39,14 @@ kotlin {
}
}
sourceSets
{
sourceSets
{
val
commonMain
by
getting
{}
val
commonMain
by
getting
{
dependencies
{
implementation
(
"org.jetbrains.skiko:skiko:$version"
)
}
}
val
jsMain
by
getting
{
val
jsMain
by
getting
{
dependsOn
(
commonMain
)
dependsOn
(
commonMain
)
dependencies
{
// This one is tricky - it has js and wasm binaries required for final linking.
// We cannot use it directly but need to extract data from there.
implementation
(
"org.jetbrains.skiko:skiko-js-runtime:$version"
)
}
resources
.
setSrcDirs
(
resources
.
srcDirs
)
resources
.
setSrcDirs
(
resources
.
srcDirs
)
resources
.
srcDirs
(
unzipTask
.
map
{
it
.
destinationDir
})
resources
.
srcDirs
(
unzipTask
.
map
{
it
.
destinationDir
})
}
}
...
...
samples/SkiaNativeSample/build.gradle.kts
View file @
71d274ad
...
@@ -52,7 +52,7 @@ kotlin {
...
@@ -52,7 +52,7 @@ kotlin {
sourceSets
{
sourceSets
{
val
commonMain
by
getting
{
val
commonMain
by
getting
{
dependencies
{
dependencies
{
implementation
(
kotlin
(
"stdlib-common"
)
)
implementation
(
"org.jetbrains.skiko:skiko:$version"
)
}
}
}
}
...
@@ -66,7 +66,6 @@ kotlin {
...
@@ -66,7 +66,6 @@ kotlin {
dependsOn
(
nativeMain
)
dependsOn
(
nativeMain
)
dependencies
{
dependencies
{
implementation
(
"org.jetbrains.kotlinx:kotlinx-coroutines-core-macosx64:1.5.2"
)
implementation
(
"org.jetbrains.kotlinx:kotlinx-coroutines-core-macosx64:1.5.2"
)
implementation
(
"org.jetbrains.skiko:skiko-native-runtime-$target:$version"
)
}
}
}
}
}
}
...
...
skiko/build.gradle.kts
View file @
71d274ad
...
@@ -740,7 +740,7 @@ val skikoWasmJar by project.tasks.registering(Jar::class) {
...
@@ -740,7 +740,7 @@ val skikoWasmJar by project.tasks.registering(Jar::class) {
// disable unexpected native publications (default C++ publications are failing)
// disable unexpected native publications (default C++ publications are failing)
tasks
.
withType
<
AbstractPublishToMaven
>().
configureEach
{
tasks
.
withType
<
AbstractPublishToMaven
>().
configureEach
{
doFirst
{
doFirst
{
if
(!
publication
.
name
.
startsWith
(
"skiko"
))
{
if
(!
publication
.
isSkikoPublication
(
))
{
throw
StopExecutionException
(
"Publication '${publication.name}' is disabled"
)
throw
StopExecutionException
(
"Publication '${publication.name}' is disabled"
)
}
}
}
}
...
@@ -777,8 +777,16 @@ tasks.withType<Test>().configureEach {
...
@@ -777,8 +777,16 @@ tasks.withType<Test>().configureEach {
}
}
}
}
fun
Publication
.
isSkikoPublication
()
=
fun
Publication
.
isSkikoPublication
():
Boolean
{
(
this
as
?
MavenPublication
)
?.
name
?.
startsWith
(
"skiko"
)
==
true
val
component
=
(
this
as
?
org
.
gradle
.
api
.
publish
.
maven
.
internal
.
publication
.
DefaultMavenPublication
)
?.
component
// Don't publish libraries included into jvm-runtime-*.
// Or whatever `cpp-library` considers their public api.
if
(
component
is
CppBinary
||
component
?.
javaClass
?.
simpleName
==
"MainLibraryVariant"
)
return
false
return
true
}
fun
Task
.
disable
()
{
fun
Task
.
disable
()
{
enabled
=
false
enabled
=
false
...
@@ -800,14 +808,14 @@ afterEvaluate {
...
@@ -800,14 +808,14 @@ afterEvaluate {
}
}
}
}
// Disable publishing Gradle Metadata, because it seems unnecessary at the moment.
// Gradle metadata for default C++ publications fails.
// Also generating metadata for default C++ publications fails
tasks
.
withType
(
GenerateModuleMetadata
::
class
).
configureEach
{
tasks
.
withType
(
GenerateModuleMetadata
::
class
).
configureEach
{
if
(!
this
.
publication
.
get
().
isSkikoPublication
())
{
disable
()
disable
()
}
}
}
// Disable publishing for default publications, because
// Publishing for default C++ publications fails.
// publishing for default C++ publications fails
tasks
.
withType
<
AbstractPublishToMaven
>().
configureEach
{
tasks
.
withType
<
AbstractPublishToMaven
>().
configureEach
{
if
(!
publication
.
isSkikoPublication
())
{
if
(!
publication
.
isSkikoPublication
())
{
disable
()
disable
()
...
@@ -860,39 +868,14 @@ publishing {
...
@@ -860,39 +868,14 @@ publishing {
}
}
}
}
}
}
create
<
MavenPublication
>(
"skikoMetadata"
)
{
artifactId
=
SkikoArtifacts
.
metadataArtifactId
afterEvaluate
{
artifact
(
project
.
tasks
.
named
(
"metadataJar"
).
get
())
}
}
create
<
MavenPublication
>(
"skikoJvm"
)
{
artifactId
=
SkikoArtifacts
.
commonArtifactId
afterEvaluate
{
artifact
(
skikoJvmJar
.
map
{
it
.
archiveFile
.
get
()
})
}
}
create
<
MavenPublication
>(
"skikoJvmRuntime"
)
{
create
<
MavenPublication
>(
"skikoJvmRuntime"
)
{
artifactId
=
SkikoArtifacts
.
runtimeArtifactIdFor
(
targetOs
,
targetArch
)
artifactId
=
SkikoArtifacts
.
runtimeArtifactIdFor
(
targetOs
,
targetArch
)
afterEvaluate
{
afterEvaluate
{
artifact
(
skikoJvmRuntimeJar
.
map
{
it
.
archiveFile
.
get
()
})
artifact
(
skikoJvmRuntimeJar
.
map
{
it
.
archiveFile
.
get
()
})
}
}
}
}
if
(
supportNative
)
{
create
<
MavenPublication
>(
"skikoNativeRuntime"
)
{
artifactId
=
SkikoArtifacts
.
nativeRuntimeArtifactIdFor
(
targetOs
,
targetArch
)
afterEvaluate
{
artifact
(
project
.
tasks
.
withType
(
KotlinNativeCompile
::
class
.
java
)
.
single
{
it
.
name
.
startsWith
(
"compileKotlin"
)
}
// Exclude compileTestKotlin.
.
outputs
.
files
.
single
{
it
.
name
.
endsWith
(
".klib"
)
})
}
}
}
create
<
MavenPublication
>(
"skikoJsRuntime"
)
{
artifactId
=
SkikoArtifacts
.
jsArtifactId
artifact
(
project
.
tasks
.
named
(
"jsJar"
).
get
())
}
if
(
supportWasm
)
{
if
(
supportWasm
)
{
create
<
MavenPublication
>(
"skikoWasmRuntime"
)
{
create
<
MavenPublication
>(
"skikoWasmRuntime"
)
{
artifactId
=
SkikoArtifacts
.
jsWasmArtifactId
artifactId
=
SkikoArtifacts
.
jsWasmArtifactId
...
...
skiko/buildSrc/src/main/kotlin/properties.kt
View file @
71d274ad
...
@@ -147,9 +147,7 @@ class SkikoProperties(private val myProject: Project) {
...
@@ -147,9 +147,7 @@ class SkikoProperties(private val myProject: Project) {
object
SkikoArtifacts
{
object
SkikoArtifacts
{
// names are also used in samples, e.g. samples/SkijaInjectSample/build.gradle
// names are also used in samples, e.g. samples/SkijaInjectSample/build.gradle
val
commonArtifactId
=
"skiko-jvm"
val
jvmArtifactId
=
"skiko-jvm"
val
metadataArtifactId
=
"skiko-metadata"
val
jsArtifactId
=
"skiko-js-runtime"
val
jsWasmArtifactId
=
"skiko-js-wasm-runtime"
val
jsWasmArtifactId
=
"skiko-js-wasm-runtime"
fun
runtimeArtifactIdFor
(
os
:
OS
,
arch
:
Arch
)
=
fun
runtimeArtifactIdFor
(
os
:
OS
,
arch
:
Arch
)
=
"skiko-jvm-runtime-${targetId(os, arch)}"
"skiko-jvm-runtime-${targetId(os, arch)}"
...
...
skiko/ci/build.gradle.kts
View file @
71d274ad
...
@@ -20,7 +20,7 @@ dependencies {
...
@@ -20,7 +20,7 @@ dependencies {
}
}
}
}
skikoDep
(
SkikoArtifacts
.
common
ArtifactId
)
skikoDep
(
SkikoArtifacts
.
jvm
ArtifactId
)
skikoDep
(
SkikoArtifacts
.
runtimeArtifactIdFor
(
OS
.
Windows
,
Arch
.
X64
))
skikoDep
(
SkikoArtifacts
.
runtimeArtifactIdFor
(
OS
.
Windows
,
Arch
.
X64
))
skikoDep
(
SkikoArtifacts
.
runtimeArtifactIdFor
(
OS
.
Linux
,
Arch
.
X64
))
skikoDep
(
SkikoArtifacts
.
runtimeArtifactIdFor
(
OS
.
Linux
,
Arch
.
X64
))
skikoDep
(
SkikoArtifacts
.
runtimeArtifactIdFor
(
OS
.
Linux
,
Arch
.
Arm64
))
skikoDep
(
SkikoArtifacts
.
runtimeArtifactIdFor
(
OS
.
Linux
,
Arch
.
Arm64
))
...
...
skiko/gradle.properties
View file @
71d274ad
kotlin.code.style
=
official
kotlin.code.style
=
official
deploy.version
=
0.0.0
deploy.version
=
0.0.0
kotlin.mpp.enableGranularSourceSetsMetadata
=
true
dependencies.skia.windows-x64
=
m94-fd7c5792ca
dependencies.skia.windows-x64
=
m94-fd7c5792ca
dependencies.skia.linux-x64
=
m94-fd7c5792ca
dependencies.skia.linux-x64
=
m94-fd7c5792ca
...
...
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