Skip to content

Commit 5b54e90

Browse files
committed
Multi kmp module integration samples
which fails because Wire doesn't support adding resources to kmp modules
1 parent 1db7e4d commit 5b54e90

File tree

8 files changed

+194
-13
lines changed

8 files changed

+194
-13
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
plugins {
2+
kotlin("multiplatform")
3+
id("com.squareup.wire")
4+
}
5+
6+
kotlin {
7+
val hostOs = System.getProperty("os.name")
8+
val isMingwX64 = hostOs.startsWith("Windows")
9+
val nativeTarget = when {
10+
hostOs == "Mac OS X" -> macosX64("native")
11+
hostOs == "Linux" -> linuxX64("native")
12+
isMingwX64 -> mingwX64("native")
13+
else -> throw GradleException("Host OS is not supported in Kotlin/Native.")
14+
}
15+
16+
nativeTarget.apply {
17+
binaries {
18+
executable {
19+
entryPoint = "main"
20+
}
21+
}
22+
}
23+
sourceSets {
24+
val commonMain by getting
25+
val nativeMain by getting
26+
val nativeTest by getting
27+
}
28+
}
29+
30+
dependencies {
31+
protoPath(project(":samples:multi-platform-multi-module:geology-native"))
32+
}
33+
34+
wire {
35+
sourcePath {
36+
srcDir("src/main/proto")
37+
}
38+
39+
sourcePath {
40+
srcProject(":samples:multi-platform-multi-module:location-js")
41+
include("squareup/location/continent.proto")
42+
}
43+
44+
kotlin {
45+
}
46+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
syntax = "proto2";
2+
3+
package squareup.dinosaurs;
4+
5+
option java_package = "com.squareup.dinosaurs";
6+
7+
import "squareup/geology/period.proto";
8+
import "squareup/location/continent.proto";
9+
10+
message Dinosaur {
11+
/** Common name of this dinosaur, like "Stegosaurus". */
12+
optional string name = 1;
13+
14+
/** URLs with images of this dinosaur. */
15+
repeated string picture_urls = 2;
16+
17+
optional double length_meters = 3;
18+
optional double mass_kilograms = 4;
19+
optional squareup.geology.Period period = 5;
20+
optional squareup.location.Continent continent = 6;
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
plugins {
2+
kotlin("multiplatform")
3+
id("com.squareup.wire")
4+
}
5+
6+
kotlin {
7+
val hostOs = System.getProperty("os.name")
8+
val isMingwX64 = hostOs.startsWith("Windows")
9+
val nativeTarget = when {
10+
hostOs == "Mac OS X" -> macosX64("native")
11+
hostOs == "Linux" -> linuxX64("native")
12+
isMingwX64 -> mingwX64("native")
13+
else -> throw GradleException("Host OS is not supported in Kotlin/Native.")
14+
}
15+
16+
nativeTarget.apply {
17+
binaries {
18+
executable {
19+
entryPoint = "main"
20+
}
21+
}
22+
}
23+
sourceSets {
24+
val commonMain by getting
25+
val nativeMain by getting
26+
val nativeTest by getting
27+
}
28+
}
29+
30+
wire {
31+
protoLibrary = true
32+
33+
kotlin {
34+
}
35+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
syntax = "proto2";
2+
3+
package squareup.geology;
4+
5+
option java_package = "com.squareup.geology";
6+
7+
enum Period {
8+
/** 145.5 million years ago — 66.0 million years ago. */
9+
CRETACEOUS = 1;
10+
11+
/** 201.3 million years ago — 145.0 million years ago. */
12+
JURASSIC = 2;
13+
14+
/** 252.17 million years ago — 201.3 million years ago. */
15+
TRIASSIC = 3;
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
plugins {
2+
kotlin("js")
3+
id("com.squareup.wire")
4+
}
5+
6+
repositories {
7+
mavenCentral()
8+
}
9+
10+
kotlin {
11+
js(IR) {
12+
binaries.executable()
13+
browser {
14+
commonWebpackConfig {
15+
cssSupport {
16+
enabled.set(true)
17+
}
18+
}
19+
}
20+
nodejs {
21+
}
22+
}
23+
}
24+
25+
wire {
26+
protoLibrary = true
27+
28+
kotlin {
29+
}
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
syntax = "proto2";
2+
3+
package squareup.location;
4+
5+
option java_package = "com.squareup.location";
6+
7+
enum Continent {
8+
AFRICA = 0;
9+
AMERICA = 1;
10+
ANTARCTICA = 2;
11+
ASIA = 3;
12+
AUSTRALIA = 4;
13+
EUROPE = 5;
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
syntax = "proto2";
2+
3+
package squareup.location;
4+
5+
option java_package = "com.squareup.location";
6+
7+
enum Planet {
8+
MERCURY = 0;
9+
VENUS = 1;
10+
EARTH = 2;
11+
MARS = 3;
12+
JUPITER = 4;
13+
SATURN = 5;
14+
URANUS = 6;
15+
NEPTUNE = 7;
16+
}

Diff for: settings.gradle.kts

+16-13
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,22 @@ includeBuild("build-logic") {
4242
}
4343
}
4444

45-
include(":samples:simple-sample")
46-
include(":samples:android-app-java-sample")
47-
include(":samples:android-app-kotlin-sample")
48-
include(":samples:android-app-variants-sample")
49-
include(":samples:android-lib-java-sample")
50-
include(":samples:android-lib-kotlin-sample")
51-
include(":samples:js")
52-
include(":samples:native")
53-
include(":samples:wire-codegen-sample")
54-
include(":samples:wire-grpc-sample:client")
55-
include(":samples:wire-grpc-sample:protos")
56-
include(":samples:wire-grpc-sample:server")
57-
include(":samples:wire-grpc-sample:server-plain")
45+
// include(":samples:simple-sample")
46+
// include(":samples:android-app-java-sample")
47+
// include(":samples:android-app-kotlin-sample")
48+
// include(":samples:android-app-variants-sample")
49+
// include(":samples:android-lib-java-sample")
50+
// include(":samples:android-lib-kotlin-sample")
51+
// include(":samples:js")
52+
include(":samples:multi-platform-multi-module:dinosaurs-native")
53+
include(":samples:multi-platform-multi-module:geology-native")
54+
include(":samples:multi-platform-multi-module:location-js")
55+
// include(":samples:native")
56+
// include(":samples:wire-codegen-sample")
57+
// include(":samples:wire-grpc-sample:client")
58+
// include(":samples:wire-grpc-sample:protos")
59+
// include(":samples:wire-grpc-sample:server")
60+
// include(":samples:wire-grpc-sample:server-plain")
5861
include(":wire-benchmarks")
5962
include(":wire-golden-files")
6063
include(":wire-gradle-plugin-playground")

0 commit comments

Comments
 (0)