Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit90e4369

Browse files
committed
Generate Moshi adapters
This is supposed to be faster than using reflection.
1 parent41455d0 commit90e4369

File tree

13 files changed

+50
-18
lines changed

13 files changed

+50
-18
lines changed

‎build.gradle.kts‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,25 @@ plugins {
1616
id("org.jetbrains.changelog") version"2.2.0"
1717
// Gradle Qodana Plugin
1818
id("org.jetbrains.qodana") version"0.1.13"
19+
// Generate Moshi adapters.
20+
id("com.google.devtools.ksp") version"1.9.23-1.0.19"
1921
}
2022

2123
group= properties("pluginGroup")
2224
version= properties("pluginVersion")
2325

2426
dependencies {
25-
implementation("com.squareup.retrofit2:retrofit:2.9.0")
26-
// define a BOM and its version
2727
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.12.0"))
28-
implementation("com.squareup.retrofit2:converter-moshi:2.9.0")
2928
implementation("com.squareup.okhttp3:okhttp")
3029
implementation("com.squareup.okhttp3:logging-interceptor")
3130

32-
implementation("org.zeroturnaround:zt-exec:1.12") {
33-
exclude("org.slf4j")
34-
}
31+
implementation("com.squareup.moshi:moshi:1.15.1")
32+
ksp("com.squareup.moshi:moshi-kotlin-codegen:1.15.1")
33+
34+
implementation("com.squareup.retrofit2:retrofit:2.9.0")
35+
implementation("com.squareup.retrofit2:converter-moshi:2.9.0")
36+
37+
implementation("org.zeroturnaround:zt-exec:1.12")
3538

3639
testImplementation(kotlin("test"))
3740
}

‎src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt‎

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import com.coder.gateway.util.sha1
1919
importcom.intellij.openapi.diagnostic.Logger
2020
importcom.intellij.openapi.progress.ProgressIndicator
2121
importcom.squareup.moshi.Json
22+
importcom.squareup.moshi.JsonClass
23+
importcom.squareup.moshi.JsonDataException
2224
importcom.squareup.moshi.Moshi
2325
importorg.zeroturnaround.exec.ProcessExecutor
2426
importjava.io.EOFException
@@ -33,6 +35,14 @@ import java.nio.file.StandardCopyOption
3335
importjava.util.zip.GZIPInputStream
3436
importjavax.net.ssl.HttpsURLConnection
3537

38+
/**
39+
* Version output from the CLI's version command.
40+
*/
41+
@JsonClass(generateAdapter=true)
42+
internaldata classVersion(
43+
@Json(name="version")valversion:String,
44+
)
45+
3646
/**
3747
* Do as much as possible to get a valid, up-to-date CLI.
3848
*
@@ -325,13 +335,6 @@ class CoderCLIManager(
325335
}
326336
}
327337

328-
/**
329-
* Version output from the CLI's version command.
330-
*/
331-
privatedata classVersion(
332-
@Json(name="version")valversion:String,
333-
)
334-
335338
/**
336339
* Return the binary version.
337340
*
@@ -341,10 +344,12 @@ class CoderCLIManager(
341344
val raw= exec("version","--output","json")
342345
try {
343346
val json=Moshi.Builder().build().adapter(Version::class.java).fromJson(raw)
344-
if (json?.version==null) {
347+
if (json?.version==null|| json.version.isBlank()) {
345348
throwMissingVersionException("No version found in output")
346349
}
347350
returnSemVer.parse(json.version)
351+
}catch (exception:JsonDataException) {
352+
throwMissingVersionException("No version found in output")
348353
}catch (exception:EOFException) {
349354
throwMissingVersionException("No version found in output")
350355
}

‎src/main/kotlin/com/coder/gateway/sdk/v2/models/BuildInfo.kt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
packagecom.coder.gateway.sdk.v2.models
22

33
importcom.squareup.moshi.Json
4+
importcom.squareup.moshi.JsonClass
45

56
/**
67
* Contains build information for a Coder instance.
@@ -11,6 +12,7 @@ import com.squareup.moshi.Json
1112
*
1213
* @param version the semantic version of the build.
1314
*/
15+
@JsonClass(generateAdapter=true)
1416
data classBuildInfo(
1517
@Json(name="external_url")valexternalUrl:String,
1618
@Json(name="version")valversion:String

‎src/main/kotlin/com/coder/gateway/sdk/v2/models/CreateWorkspaceBuildRequest.kt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
packagecom.coder.gateway.sdk.v2.models
22

33
importcom.squareup.moshi.Json
4+
importcom.squareup.moshi.JsonClass
45
importjava.util.UUID
56

7+
@JsonClass(generateAdapter=true)
68
data classCreateWorkspaceBuildRequest(
79
// Use to update the workspace to a new template version.
810
@Json(name="template_version_id")valtemplateVersionID:UUID?,

‎src/main/kotlin/com/coder/gateway/sdk/v2/models/Response.kt‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
packagecom.coder.gateway.sdk.v2.models
22

33
importcom.squareup.moshi.Json
4+
importcom.squareup.moshi.JsonClass
45

6+
@JsonClass(generateAdapter=true)
57
data classValidation (
68
@Json(name="field")valfield:String,
79
@Json(name="detail")valdetail:String,
810
)
911

12+
@JsonClass(generateAdapter=true)
1013
data classResponse (
1114
@Json(name="message")valmessage:String,
1215
@Json(name="detail")valdetail:String,

‎src/main/kotlin/com/coder/gateway/sdk/v2/models/Template.kt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
packagecom.coder.gateway.sdk.v2.models
22

33
importcom.squareup.moshi.Json
4+
importcom.squareup.moshi.JsonClass
45
importjava.util.UUID
56

7+
@JsonClass(generateAdapter=true)
68
data classTemplate(
79
@Json(name="id")valid:UUID,
810
@Json(name="active_version_id")valactiveVersionID:UUID,
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
packagecom.coder.gateway.sdk.v2.models
22

33
importcom.squareup.moshi.Json
4+
importcom.squareup.moshi.JsonClass
45

6+
@JsonClass(generateAdapter=true)
57
data classUser(
68
@Json(name="username")valusername:String,
79
)

‎src/main/kotlin/com/coder/gateway/sdk/v2/models/Workspace.kt‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@ package com.coder.gateway.sdk.v2.models
22

33
importcom.coder.gateway.models.WorkspaceAgentListModel
44
importcom.squareup.moshi.Json
5-
importjava.util.*
5+
importcom.squareup.moshi.JsonClass
6+
importjava.util.UUID
67

78
/**
8-
* Represents a deployment of a template. It references a specific version and can be updated.
9+
* Represents a deployment of a template. It references a specific version and
10+
* can be updated.
911
*/
12+
@JsonClass(generateAdapter=true)
1013
data classWorkspace(
1114
@Json(name="id")valid:UUID,
1215
@Json(name="template_id")valtemplateID:UUID,

‎src/main/kotlin/com/coder/gateway/sdk/v2/models/WorkspaceAgent.kt‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ package com.coder.gateway.sdk.v2.models
33
importcom.coder.gateway.util.Arch
44
importcom.coder.gateway.util.OS
55
importcom.squareup.moshi.Json
6-
importjava.util.*
6+
importcom.squareup.moshi.JsonClass
7+
importjava.util.UUID
78

9+
@JsonClass(generateAdapter=true)
810
data classWorkspaceAgent(
911
@Json(name="id")valid:UUID,
1012
@Json(name="status")valstatus:WorkspaceAgentStatus,

‎src/main/kotlin/com/coder/gateway/sdk/v2/models/WorkspaceBuild.kt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
packagecom.coder.gateway.sdk.v2.models
22

33
importcom.squareup.moshi.Json
4+
importcom.squareup.moshi.JsonClass
45
importjava.util.UUID
56

67
/**
78
* WorkspaceBuild is an at-point representation of a workspace state.
89
* BuildNumbers start at 1 and increase by 1 for each subsequent build.
910
*/
11+
@JsonClass(generateAdapter=true)
1012
data classWorkspaceBuild(
1113
@Json(name="template_version_id")valtemplateVersionID:UUID,
1214
@Json(name="resources")valresources:List<WorkspaceResource>,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp