mirror of
https://github.com/jlengrand/openapi-generator.git
synced 2026-03-10 08:31:23 +00:00
Taught Scala-cask to publish JS model files (#18413)
* Taught Scala-cask to publish JS model files * cask fix for generated FILES
This commit is contained in:
@@ -134,7 +134,7 @@ public class ScalaCaskServerCodegen extends AbstractScalaCodegen implements Code
|
||||
|
||||
@Override
|
||||
public String testPackage() {
|
||||
return "src/test/scala";
|
||||
return "jvm/src/test/scala";
|
||||
}
|
||||
|
||||
public String toModelTestFilename(String name) {
|
||||
@@ -166,8 +166,8 @@ public class ScalaCaskServerCodegen extends AbstractScalaCodegen implements Code
|
||||
modelPackage = ensureProp(CodegenConstants.MODEL_PACKAGE, basePackage + ".model");
|
||||
|
||||
|
||||
final String apiPath = "src/main/scala/" + apiPackage.replace('.', '/');
|
||||
final String modelPath = "src/main/scala/" + modelPackage.replace('.', '/');
|
||||
final String apiPath = "jvm/src/main/scala/" + apiPackage.replace('.', '/');
|
||||
final String modelPath = "shared/src/main/scala/" + modelPackage.replace('.', '/');
|
||||
|
||||
final List<String> appFullPath = Arrays.stream(apiPath.split("/")).collect(Collectors.toList());
|
||||
final String appFolder = String.join("/", appFullPath.subList(0, appFullPath.size() - 1));
|
||||
@@ -186,7 +186,7 @@ public class ScalaCaskServerCodegen extends AbstractScalaCodegen implements Code
|
||||
supportingFiles.add(new SupportingFile("Dockerfile.mustache", "example", "Dockerfile"));
|
||||
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
|
||||
supportingFiles.add(new SupportingFile("build.sbt.mustache", "", "build.sbt"));
|
||||
supportingFiles.add(new SupportingFile("bulidAndPublish.yml.mustache", "", ".github/workflows/bulidAndPublish.yml"));
|
||||
supportingFiles.add(new SupportingFile("buildAndPublish.yml.mustache", "", ".github/workflows/buildAndPublish.yml"));
|
||||
supportingFiles.add(new SupportingFile("build.sc.mustache", "", "build.sc"));
|
||||
supportingFiles.add(new SupportingFile(".scalafmt.conf.mustache", "", ".scalafmt.conf"));
|
||||
supportingFiles.add(new SupportingFile("gitignore.mustache", "", ".gitignore"));
|
||||
@@ -274,6 +274,16 @@ public class ScalaCaskServerCodegen extends AbstractScalaCodegen implements Code
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String apiFileFolder() {
|
||||
return outputFolder + "/jvm/" + sourceFolder + "/" + apiPackage().replace('.', File.separatorChar);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String modelFileFolder() {
|
||||
return outputFolder + "/shared/" + sourceFolder + "/" + modelPackage().replace('.', File.separatorChar);
|
||||
}
|
||||
|
||||
static String capitalise(String p) {
|
||||
if (p.length() < 2) {
|
||||
return p.toUpperCase(Locale.ROOT);
|
||||
@@ -323,7 +333,7 @@ public class ScalaCaskServerCodegen extends AbstractScalaCodegen implements Code
|
||||
String jsonOpenAPI = SerializerUtils.toJsonString(openAPI);
|
||||
|
||||
try {
|
||||
String outputFile = getOutputDir() + "/" + getResourceFolder() + "/openapi.json";
|
||||
String outputFile = getOutputDir() + "/jvm/" + getResourceFolder() + "/openapi.json";
|
||||
FileUtils.writeStringToFile(new File(outputFile), jsonOpenAPI, StandardCharsets.UTF_8);
|
||||
LOGGER.info("wrote file to {}", outputFile);
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -1,23 +1,45 @@
|
||||
name := "{{artifactId}}"
|
||||
organization:="{{groupId}}"
|
||||
version := "0.0.1-SNAPSHOT"
|
||||
scalaVersion := "3.3.1"
|
||||
scalafmtOnCompile := true
|
||||
libraryDependencies ++= Seq(
|
||||
"com.lihaoyi" %% "cask" % "0.9.2" ,
|
||||
"com.lihaoyi" %% "upickle" % "3.2.0",
|
||||
"org.scalatest" %% "scalatest" % "3.2.18" % Test
|
||||
ThisBuild / name := "{{artifactId}}"
|
||||
ThisBuild / organization := "{{groupId}}"
|
||||
ThisBuild / version := "0.0.1-SNAPSHOT"
|
||||
ThisBuild / scalaVersion := "3.4.1"
|
||||
ThisBuild / scalafmtOnCompile := true
|
||||
|
||||
// Common settings
|
||||
lazy val commonSettings = Seq(
|
||||
libraryDependencies ++= Seq(
|
||||
"com.lihaoyi" %%% "upickle" % "3.2.0",
|
||||
"org.scalatest" %%% "scalatest" % "3.2.18" % Test
|
||||
)
|
||||
)
|
||||
|
||||
publishMavenStyle := true
|
||||
|
||||
lazy val app = crossProject(JSPlatform, JVMPlatform).in(file(".")).
|
||||
settings(commonSettings).
|
||||
jvmSettings(
|
||||
libraryDependencies += "com.lihaoyi" %% "cask" % "0.9.2"
|
||||
).
|
||||
jsSettings(
|
||||
scalaJSUseMainModuleInitializer := true,
|
||||
)
|
||||
|
||||
|
||||
lazy val root = project.in(file(".")).
|
||||
aggregate(app.js, app.jvm).
|
||||
settings(
|
||||
publish := {},
|
||||
publishLocal := {},
|
||||
)
|
||||
|
||||
|
||||
ThisBuild / publishMavenStyle := true
|
||||
|
||||
val githubUser = "{{{gitUserId}}}"
|
||||
val githubRepo = "{{{gitRepoId}}}"
|
||||
publishTo := Some("GitHub Package Registry" at s"https://maven.pkg.github.com/$githubUser/$githubRepo")
|
||||
ThisBuild / publishTo := Some("GitHub Package Registry" at s"https://maven.pkg.github.com/$githubUser/$githubRepo")
|
||||
|
||||
sys.env.get("GITHUB_TOKEN") match {
|
||||
case Some(token) if !token.isEmpty =>
|
||||
credentials += Credentials(
|
||||
ThisBuild / credentials += Credentials(
|
||||
"GitHub Package Registry",
|
||||
"maven.pkg.github.com",
|
||||
githubUser,
|
||||
|
||||
@@ -28,8 +28,8 @@ object {{artifactId}} extends SbtModule with ScalafmtModule with PublishModule {
|
||||
ivy"com.lihaoyi::upickle:3.2.0"
|
||||
)
|
||||
|
||||
override def sources = T.sources(millSourcePath / os.up / "src" / "main" / "scala")
|
||||
override def resources = T.sources(millSourcePath / os.up / "src" / "main" / "resources")
|
||||
override def sources = T.sources(millSourcePath / os.up / "shared" / "src" / "main" / "scala")
|
||||
override def resources = T.sources(millSourcePath / os.up / "shared" / "src" / "main" / "resources")
|
||||
|
||||
object test extends SbtModuleTests {
|
||||
def ivyDeps = Agg(
|
||||
|
||||
@@ -30,10 +30,7 @@ jobs:
|
||||
${{{openbrackets}}} runner.os {{{closebrackets}}}-sbt-
|
||||
|
||||
- name: Build with sbt
|
||||
run: sbt clean compile
|
||||
|
||||
- name: Test with sbt
|
||||
run: sbt test
|
||||
run: sbt clean compile test
|
||||
|
||||
- name: Publish to GitHub Packages
|
||||
run: sbt publish
|
||||
@@ -1,3 +1,4 @@
|
||||
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")
|
||||
|
||||
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
|
||||
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
|
||||
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.2.0")
|
||||
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.16.0")
|
||||
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.2.0")
|
||||
@@ -30,10 +30,7 @@ jobs:
|
||||
${{ runner.os }}-sbt-
|
||||
|
||||
- name: Build with sbt
|
||||
run: sbt clean compile
|
||||
|
||||
- name: Test with sbt
|
||||
run: sbt test
|
||||
run: sbt clean compile test
|
||||
|
||||
- name: Publish to GitHub Packages
|
||||
run: sbt publish
|
||||
@@ -1,4 +1,4 @@
|
||||
.github/workflows/bulidAndPublish.yml
|
||||
.github/workflows/buildAndPublish.yml
|
||||
.gitignore
|
||||
.scalafmt.conf
|
||||
README.md
|
||||
@@ -7,33 +7,33 @@ build.sbt
|
||||
build.sc
|
||||
example/Dockerfile
|
||||
example/Server.scala
|
||||
jvm/src/main/scala/sample/cask/AppRoutes.scala
|
||||
jvm/src/main/scala/sample/cask/BaseApp.scala
|
||||
jvm/src/main/scala/sample/cask/ExampleApp.scala
|
||||
jvm/src/main/scala/sample/cask/api/OpenApiRoutes.scala
|
||||
jvm/src/main/scala/sample/cask/api/PetRoutes.scala
|
||||
jvm/src/main/scala/sample/cask/api/PetRoutes.scala
|
||||
jvm/src/main/scala/sample/cask/api/PetService.scala
|
||||
jvm/src/main/scala/sample/cask/api/StoreRoutes.scala
|
||||
jvm/src/main/scala/sample/cask/api/StoreRoutes.scala
|
||||
jvm/src/main/scala/sample/cask/api/StoreService.scala
|
||||
jvm/src/main/scala/sample/cask/api/UserRoutes.scala
|
||||
jvm/src/main/scala/sample/cask/api/UserRoutes.scala
|
||||
jvm/src/main/scala/sample/cask/api/UserService.scala
|
||||
jvm/src/main/scala/sample/cask/api/package.scala
|
||||
jvm/src/main/scala/sample/cask/package.scala
|
||||
project/build.properties
|
||||
project/plugins.sbt
|
||||
src/main/scala/sample/cask/AppRoutes.scala
|
||||
src/main/scala/sample/cask/BaseApp.scala
|
||||
src/main/scala/sample/cask/ExampleApp.scala
|
||||
src/main/scala/sample/cask/api/OpenApiRoutes.scala
|
||||
src/main/scala/sample/cask/api/PetRoutes.scala
|
||||
src/main/scala/sample/cask/api/PetRoutes.scala
|
||||
src/main/scala/sample/cask/api/PetService.scala
|
||||
src/main/scala/sample/cask/api/StoreRoutes.scala
|
||||
src/main/scala/sample/cask/api/StoreRoutes.scala
|
||||
src/main/scala/sample/cask/api/StoreService.scala
|
||||
src/main/scala/sample/cask/api/UserRoutes.scala
|
||||
src/main/scala/sample/cask/api/UserRoutes.scala
|
||||
src/main/scala/sample/cask/api/UserService.scala
|
||||
src/main/scala/sample/cask/api/package.scala
|
||||
src/main/scala/sample/cask/model/ApiResponse.scala
|
||||
src/main/scala/sample/cask/model/ApiResponseData.scala
|
||||
src/main/scala/sample/cask/model/Category.scala
|
||||
src/main/scala/sample/cask/model/CategoryData.scala
|
||||
src/main/scala/sample/cask/model/Order.scala
|
||||
src/main/scala/sample/cask/model/OrderData.scala
|
||||
src/main/scala/sample/cask/model/Pet.scala
|
||||
src/main/scala/sample/cask/model/PetData.scala
|
||||
src/main/scala/sample/cask/model/Tag.scala
|
||||
src/main/scala/sample/cask/model/TagData.scala
|
||||
src/main/scala/sample/cask/model/User.scala
|
||||
src/main/scala/sample/cask/model/UserData.scala
|
||||
src/main/scala/sample/cask/model/package.scala
|
||||
src/main/scala/sample/cask/package.scala
|
||||
shared/src/main/scala/sample/cask/model/ApiResponse.scala
|
||||
shared/src/main/scala/sample/cask/model/ApiResponseData.scala
|
||||
shared/src/main/scala/sample/cask/model/Category.scala
|
||||
shared/src/main/scala/sample/cask/model/CategoryData.scala
|
||||
shared/src/main/scala/sample/cask/model/Order.scala
|
||||
shared/src/main/scala/sample/cask/model/OrderData.scala
|
||||
shared/src/main/scala/sample/cask/model/Pet.scala
|
||||
shared/src/main/scala/sample/cask/model/PetData.scala
|
||||
shared/src/main/scala/sample/cask/model/Tag.scala
|
||||
shared/src/main/scala/sample/cask/model/TagData.scala
|
||||
shared/src/main/scala/sample/cask/model/User.scala
|
||||
shared/src/main/scala/sample/cask/model/UserData.scala
|
||||
shared/src/main/scala/sample/cask/model/package.scala
|
||||
|
||||
@@ -1,23 +1,45 @@
|
||||
name := "scala-cask-petstore"
|
||||
organization:="cask.groupId"
|
||||
version := "0.0.1-SNAPSHOT"
|
||||
scalaVersion := "3.3.1"
|
||||
scalafmtOnCompile := true
|
||||
libraryDependencies ++= Seq(
|
||||
"com.lihaoyi" %% "cask" % "0.9.2" ,
|
||||
"com.lihaoyi" %% "upickle" % "3.2.0",
|
||||
"org.scalatest" %% "scalatest" % "3.2.18" % Test
|
||||
ThisBuild / name := "scala-cask-petstore"
|
||||
ThisBuild / organization := "cask.groupId"
|
||||
ThisBuild / version := "0.0.1-SNAPSHOT"
|
||||
ThisBuild / scalaVersion := "3.4.1"
|
||||
ThisBuild / scalafmtOnCompile := true
|
||||
|
||||
// Common settings
|
||||
lazy val commonSettings = Seq(
|
||||
libraryDependencies ++= Seq(
|
||||
"com.lihaoyi" %%% "upickle" % "3.2.0",
|
||||
"org.scalatest" %%% "scalatest" % "3.2.18" % Test
|
||||
)
|
||||
)
|
||||
|
||||
publishMavenStyle := true
|
||||
|
||||
lazy val app = crossProject(JSPlatform, JVMPlatform).in(file(".")).
|
||||
settings(commonSettings).
|
||||
jvmSettings(
|
||||
libraryDependencies += "com.lihaoyi" %% "cask" % "0.9.2"
|
||||
).
|
||||
jsSettings(
|
||||
scalaJSUseMainModuleInitializer := true,
|
||||
)
|
||||
|
||||
|
||||
lazy val root = project.in(file(".")).
|
||||
aggregate(app.js, app.jvm).
|
||||
settings(
|
||||
publish := {},
|
||||
publishLocal := {},
|
||||
)
|
||||
|
||||
|
||||
ThisBuild / publishMavenStyle := true
|
||||
|
||||
val githubUser = "GIT_USER_ID"
|
||||
val githubRepo = "GIT_REPO_ID"
|
||||
publishTo := Some("GitHub Package Registry" at s"https://maven.pkg.github.com/$githubUser/$githubRepo")
|
||||
ThisBuild / publishTo := Some("GitHub Package Registry" at s"https://maven.pkg.github.com/$githubUser/$githubRepo")
|
||||
|
||||
sys.env.get("GITHUB_TOKEN") match {
|
||||
case Some(token) if !token.isEmpty =>
|
||||
credentials += Credentials(
|
||||
ThisBuild / credentials += Credentials(
|
||||
"GitHub Package Registry",
|
||||
"maven.pkg.github.com",
|
||||
githubUser,
|
||||
|
||||
@@ -28,8 +28,8 @@ object scala-cask-petstore extends SbtModule with ScalafmtModule with PublishMod
|
||||
ivy"com.lihaoyi::upickle:3.2.0"
|
||||
)
|
||||
|
||||
override def sources = T.sources(millSourcePath / os.up / "src" / "main" / "scala")
|
||||
override def resources = T.sources(millSourcePath / os.up / "src" / "main" / "resources")
|
||||
override def sources = T.sources(millSourcePath / os.up / "shared" / "src" / "main" / "scala")
|
||||
override def resources = T.sources(millSourcePath / os.up / "shared" / "src" / "main" / "resources")
|
||||
|
||||
object test extends SbtModuleTests {
|
||||
def ivyDeps = Agg(
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* OpenAPI spec version: 1.0.0
|
||||
*
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* NOTE: This class is auto generated by OpenAPI Generator.
|
||||
*
|
||||
* https://openapi-generator.tech
|
||||
*/
|
||||
|
||||
// this model was generated using modelTest.mustache
|
||||
@@ -3,10 +3,12 @@
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* OpenAPI spec version: 1.0.0
|
||||
*
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* NOTE: This class is auto generated by OpenAPI Generator.
|
||||
*
|
||||
* https://openapi-generator.tech
|
||||
*/
|
||||
|
||||
// this model was generated using modelTest.mustache
|
||||
@@ -3,10 +3,12 @@
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* OpenAPI spec version: 1.0.0
|
||||
*
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* NOTE: This class is auto generated by OpenAPI Generator.
|
||||
*
|
||||
* https://openapi-generator.tech
|
||||
*/
|
||||
|
||||
// this model was generated using modelTest.mustache
|
||||
@@ -3,10 +3,12 @@
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* OpenAPI spec version: 1.0.0
|
||||
*
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* NOTE: This class is auto generated by OpenAPI Generator.
|
||||
*
|
||||
* https://openapi-generator.tech
|
||||
*/
|
||||
|
||||
// this model was generated using modelTest.mustache
|
||||
@@ -3,10 +3,12 @@
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* OpenAPI spec version: 1.0.0
|
||||
*
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* NOTE: This class is auto generated by OpenAPI Generator.
|
||||
*
|
||||
* https://openapi-generator.tech
|
||||
*/
|
||||
|
||||
// this model was generated using modelTest.mustache
|
||||
@@ -3,10 +3,12 @@
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* OpenAPI spec version: 1.0.0
|
||||
*
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* NOTE: This class is auto generated by OpenAPI Generator.
|
||||
*
|
||||
* https://openapi-generator.tech
|
||||
*/
|
||||
|
||||
// this model was generated using modelTest.mustache
|
||||
@@ -1,3 +1,4 @@
|
||||
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")
|
||||
|
||||
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
|
||||
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
|
||||
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.2.0")
|
||||
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.16.0")
|
||||
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.2.0")
|
||||
Reference in New Issue
Block a user