Skip to content

Commit 48b3c2d

Browse files
committed
Setup simple build.gradle.kts
1 parent cbacdbd commit 48b3c2d

6 files changed

Lines changed: 94 additions & 108 deletions

File tree

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinMiskServerCodegen.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ public class KotlinMiskServerCodegen extends AbstractKotlinCodegen {
3333
protected String apiVersion = "1.0.0-SNAPSHOT";
3434

3535
public static final String ROOT_PACKAGE = "rootPackage";
36-
3736
public static final String PROJECT_NAME = "projectName";
3837

3938
final Logger LOGGER = LoggerFactory.getLogger(KotlinMiskServerCodegen.class);
@@ -50,15 +49,15 @@ public String getName() {
5049

5150
@Override
5251
public String getHelp() {
53-
return "Generates a kotlin-misk server.";
52+
return "Generates a kotlin-misk server with Protocol Buffers models.";
5453
}
5554

5655
public KotlinMiskServerCodegen() {
5756
super();
5857

5958
modifyFeatureSet(features -> features
6059
.includeDocumentationFeatures(DocumentationFeature.Readme)
61-
.wireFormatFeatures(EnumSet.of(WireFormatFeature.JSON, WireFormatFeature.XML))
60+
.wireFormatFeatures(EnumSet.of(WireFormatFeature.PROTOBUF))
6261
.securityFeatures(EnumSet.noneOf(
6362
SecurityFeature.class
6463
))
@@ -92,6 +91,8 @@ public KotlinMiskServerCodegen() {
9291
apiTemplateFiles.put("apiController.mustache", "Controller.kt");
9392
apiTemplateFiles.put("apiImpl.mustache", "Impl.kt");
9493
apiTemplateFiles.put("apiInterface.mustache", ".kt");
94+
//modelTemplateFiles.put("model.mustache", ".proto");
95+
modelTemplateFiles.put("model.mustache", ".kt");
9596

9697
apiPackage = rootPackage + ".api";
9798
modelPackage = rootPackage + ".model";
@@ -102,9 +103,16 @@ public KotlinMiskServerCodegen() {
102103
updateOption(CodegenConstants.MODEL_PACKAGE, modelPackage);
103104
additionalProperties.put(ROOT_PACKAGE, rootPackage);
104105

105-
//supportingFiles.add(new SupportingFile("pom.mustache", "", "pom.xml"));
106+
// Add supporting files
106107
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
107-
108+
supportingFiles.add(new SupportingFile("build.gradle.kts.mustache", "", "build.gradle.kts"));
109+
supportingFiles.add(new SupportingFile("settings.gradle.kts.mustache", "", "settings.gradle.kts"));
110+
supportingFiles.add(new SupportingFile("gradle.properties.mustache", "", "gradle.properties"));
111+
112+
// Create directories
113+
supportingFiles.add(new SupportingFile("", "proto", ".gitkeep"));
114+
supportingFiles.add(new SupportingFile("", "src/main/kotlin", ".gitkeep"));
115+
supportingFiles.add(new SupportingFile("", "src/test/kotlin", ".gitkeep"));
108116
}
109117

110118
@Override
@@ -146,5 +154,3 @@ private static Map<String, String> getMappings() {
146154
return result;
147155
}
148156
}
149-
150-
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
@Suppress("DSL_SCOPE_VIOLATION")
2+
plugins {
3+
id("org.jetbrains.kotlin.jvm") version "2.0.21"
4+
//id("com.squareup.wire") version "5.2.1"
5+
}
6+
7+
group = "{{groupId}}"
8+
version = "{{artifactVersion}}"
9+
10+
dependencies {
11+
implementation("com.squareup.misk:misk:2025.02.11.123913-8a41324")
12+
//implementation("com.squareup.wire:wire-runtime:5.2.1")
13+
14+
testImplementation("com.squareup.misk:misk-testing:2025.02.11.123913-8a41324")
15+
testImplementation("org.junit.jupiter:junit-jupiter:5.9.2")
16+
}
17+
18+
sourceSets {
19+
main {
20+
kotlin {
21+
srcDirs("src/main/kotlin")
22+
}
23+
resources {
24+
srcDirs("src/main/resources")
25+
}
26+
}
27+
}
28+
29+
/*
30+
wire {
31+
sourcePath {
32+
srcDir("src/main/kotlin")
33+
}
34+
kotlin {
35+
javaInterop = true
36+
}
37+
}
38+
*/
39+
40+
kotlin {
41+
jvmToolchain(17)
42+
}

modules/openapi-generator/src/main/resources/kotlin-misk/build.gradle.mustache

Lines changed: 0 additions & 38 deletions
This file was deleted.
Lines changed: 24 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,31 @@
1-
{{>partial_header}}
2-
syntax = "proto3";
1+
package {{package}}
32

4-
package {{#lambda.lowercase}}{{{packageName}}};{{/lambda.lowercase}}
5-
6-
{{#imports}}
7-
{{#import}}
8-
import public "{{{modelPackage}}}/{{{import}}}.proto";
9-
{{/import}}
3+
import java.util.Objects
4+
{{#imports}}import {{import}}
105
{{/imports}}
6+
{{#serializableModel}}
7+
import java.io.Serializable
8+
{{/serializableModel}}
9+
{{#useBeanValidation}}
10+
import {{javaxPackage}}.validation.constraints.DecimalMax
11+
import {{javaxPackage}}.validation.constraints.DecimalMin
12+
import {{javaxPackage}}.validation.constraints.Email
13+
import {{javaxPackage}}.validation.constraints.Max
14+
import {{javaxPackage}}.validation.constraints.Min
15+
import {{javaxPackage}}.validation.constraints.NotNull
16+
import {{javaxPackage}}.validation.constraints.Pattern
17+
import {{javaxPackage}}.validation.constraints.Size
18+
import {{javaxPackage}}.validation.Valid
19+
{{/useBeanValidation}}
20+
{{#swagger2AnnotationLibrary}}
21+
import io.swagger.v3.oas.annotations.media.Schema
22+
{{/swagger2AnnotationLibrary}}
23+
{{#swagger1AnnotationLibrary}}
24+
import io.swagger.annotations.ApiModelProperty
25+
{{/swagger1AnnotationLibrary}}
1126

1227
{{#models}}
1328
{{#model}}
14-
{{#isEnum}}{{>enum}}{{/isEnum}}{{^isEnum}}message {{classname}} {
15-
16-
{{#oneOf}}
17-
{{#-first}}
18-
oneof {{classVarName}} {
19-
{{#vars}}
20-
{{#description}}
21-
// {{{.}}}
22-
{{/description}}
23-
{{#vendorExtensions.x-protobuf-type}}{{{.}}} {{/vendorExtensions.x-protobuf-type}}{{{vendorExtensions.x-protobuf-data-type}}} {{{name}}} = {{vendorExtensions.x-protobuf-index}}{{#vendorExtensions.x-protobuf-packed}} [packed=true]{{/vendorExtensions.x-protobuf-packed}};
24-
{{/vars}}
25-
}
26-
{{/-first}}
27-
{{/oneOf}}
28-
{{^oneOf}}
29-
{{#vars}}
30-
{{#description}}
31-
// {{{.}}}
32-
{{/description}}
33-
{{^isEnum}}
34-
{{#vendorExtensions.x-protobuf-type}}{{{.}}} {{/vendorExtensions.x-protobuf-type}}{{{vendorExtensions.x-protobuf-data-type}}} {{{name}}} = {{vendorExtensions.x-protobuf-index}}{{#vendorExtensions.x-protobuf-packed}} [packed=true]{{/vendorExtensions.x-protobuf-packed}}{{#vendorExtensions.x-protobuf-json-name}} [json_name="{{vendorExtensions.x-protobuf-json-name}}"]{{/vendorExtensions.x-protobuf-json-name}};
35-
{{/isEnum}}
36-
{{#isEnum}}
37-
enum {{enumName}} {
38-
{{#allowableValues}}
39-
{{#enumVars}}
40-
{{{name}}} = {{{protobuf-enum-index}}};
41-
{{/enumVars}}
42-
{{/allowableValues}}
43-
}
44-
45-
{{enumName}} {{name}} = {{vendorExtensions.x-protobuf-index}};
46-
{{/isEnum}}
47-
48-
{{/vars}}
49-
{{/oneOf}}
50-
}
51-
{{/isEnum}}
29+
{{#isEnum}}{{>enumClass}}{{/isEnum}}{{^isEnum}}{{>dataClass}}{{/isEnum}}
5230
{{/model}}
5331
{{/models}}

modules/openapi-generator/src/main/resources/kotlin-misk/proto.gradle.mustache

Lines changed: 0 additions & 17 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
pluginManagement {
2+
repositories {
3+
gradlePluginPortal()
4+
mavenCentral()
5+
}
6+
}
7+
8+
dependencyResolutionManagement {
9+
repositories {
10+
mavenCentral()
11+
}
12+
}
13+
14+
include(":models")
15+
rootProject.name = "{{artifactId}}"

0 commit comments

Comments
 (0)