Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ jobs:

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ jobs:

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
Expand Down
11 changes: 9 additions & 2 deletions api-server-stubs-ktor/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,22 @@ fabrikt {
suspendModifier = enabled
completionStage = enabled
}
typeOverrides {
uuid = String
}
}
generate("mavenConnector") {
apiFile = rootProject.layout.projectDirectory.file("redocly/build/bundled/maven-connector-v1.yaml")
apiFile = rootProject.layout.projectDirectory.file("redocly/bundled/maven-connector-v1.yaml")
basePackage = "org.modelix.services.maven_connector.stubs"
}
generate("repository") {
apiFile = rootProject.layout.projectDirectory.file("redocly/build/bundled/repository-v3.yaml")
apiFile = rootProject.layout.projectDirectory.file("redocly/bundled/repository-v3.yaml")
basePackage = "org.modelix.services.repository.stubs"
}
generate("workspaces") {
apiFile = rootProject.layout.projectDirectory.file("redocly/bundled/workspaces-v1.yaml")
basePackage = "org.modelix.services.workspaces.stubs"
}
}

tasks.withType<FabriktGenerateTask> {
Expand Down
11 changes: 7 additions & 4 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,12 @@ fun computeVersion(): String {
versionFile.readText().trim()
} else {
val gitVersion: groovy.lang.Closure<String> by extra
val version = gitVersion()
versionFile.writeText(version)
version
gitVersion()
.let {
// Normalize the version so that is always a valid NPM version.
if (it.matches("""\d+\.\d+.\d+-.*""".toRegex())) it else "0.0.1-$it"
}
.also { versionFile.writeText(it) }
}
}

Expand All @@ -30,9 +33,9 @@ subprojects {
apply(plugin = "maven-publish")

repositories {
mavenLocal()
maven { url = uri("https://artifacts.itemis.cloud/repository/maven-mps/") }
mavenCentral()
mavenLocal()
}

publishing {
Expand Down
1 change: 1 addition & 0 deletions client-ts/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ fun registerNpmPackageTasks(
"npmRepository" to "https://artifacts.itemis.cloud/repository/npm-open/",
"npmVersion" to project.version.toString(),
"npmName" to "@modelix/$npmPackageName",
"supportsES6" to "true",
)
gitUserId = "modelix"
gitRepoId = "modelix.openapi"
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@
},
"dependencies": {
"@stoplight/spectral-cli": "^6.14.2"
}
},
"packageManager": "[email protected]+sha512.0486e394640d3c1fb3c9d43d49cf92879ff74f8516959c235308f5a8f62e2e19528a65cdc2a3058f587cde71eba3d5b56327c8c33a97e4c4051ca48a10ca2d5f"
}
55 changes: 54 additions & 1 deletion redocly/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,61 @@
import com.github.gradle.node.npm.task.NpmTask
import org.gradle.kotlin.dsl.register

plugins {
base
alias(libs.plugins.node)
}

tasks.named("npm_run_join") {
tasks.assemble {
dependsOn("npm_run_bundle")
}

val bundledDir = layout.projectDirectory.dir("bundled")
val publicationFile = bundledDir.file("modelix-openapi-specifications-${project.version}.tgz")

val updateVersionTask = tasks.register<NpmTask>("updatePackageVersion") {
workingDir.set(bundledDir.asFile)
npmCommand = listOf("version")
args.set(listOf(
project.version.toString(),
"--allow-same-version"
))
}

val npmPackTask =
tasks.register<NpmTask>("npmPack") {
group = "build"
dependsOn("npm_run_bundle")
dependsOn(updateVersionTask)

workingDir.set(bundledDir.asFile)
npmCommand = listOf("pack")
}

val npmPublishTask =
tasks.register<NpmTask>("npmPublish") {
group = "publishing"
dependsOn(npmPackTask)

inputs.file(publicationFile)

workingDir.set(bundledDir.asFile)
npmCommand.set(listOf("publish"))
args.set(
listOf(
publicationFile.asFile.absolutePath,
"--registry=https://artifacts.itemis.cloud/repository/npm-open/",
"--//artifacts.itemis.cloud/repository/npm-open/:_authToken=${project.findProperty(
"artifacts.itemis.cloud.npm.token",
)}",
),
)
}

tasks.assemble {
dependsOn(npmPackTask)
}

tasks.publish {
dependsOn(npmPublishTask)
}
2 changes: 2 additions & 0 deletions redocly/bundled/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.tgz
*.yaml
25 changes: 25 additions & 0 deletions redocly/bundled/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "@modelix/openapi-specifications",
"version": "0.0.1-SNAPSHOT.4",
"description": "OpenApi yaml files of the Modelix services",
"homepage": "https://modelix.org/",
"repository": {
"type": "git",
"url": "https://github.com/modelix/modelix.openapi.git"
},
"license": "Apache 2.0",
"files": [
"./*.yaml"
],
"scripts": {
"bundle": "redocly bundle",
"package": "npm pack",
"update-version": "npm version 0.0.1-SNAPSHOT.4"
},
"publishConfig": {
"registry": "https://artifacts.itemis.cloud/repository/npm-open/"
},
"devDependencies": {
"@redocly/cli": "^1.34.2"
}
}
3 changes: 1 addition & 2 deletions redocly/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
"@redocly/cli": "^1.34.2"
},
"scripts": {
"bundle": "redocly bundle",
"join": "redocly join build/bundled/**/*.yaml --output=build/joined.yaml"
"bundle": "redocly bundle"
}
}
9 changes: 7 additions & 2 deletions redocly/redocly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,16 @@ plugins:
apis:
repository@v3:
root: ../specifications/repository/v3/repository.yaml
output: ./build/bundled/repository-v3.yaml
output: ./bundled/repository-v3.yaml
decorators:
plugin/use-server-path: {}
maven-connector@v1:
root: ../specifications/maven-connector/v1/maven.yaml
output: ./build/bundled/maven-connector-v1.yaml
output: ./bundled/maven-connector-v1.yaml
decorators:
plugin/use-server-path: {}
workspaces@v1:
root: ../specifications/workspaces/v1/workspaces.yaml
output: ./bundled/workspaces-v1.yaml
decorators:
plugin/use-server-path: {}
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
rootProject.name = "modelix.openapi"

include("redocly")
include("client-ts")
//include("client-ts")
include("api-server-stubs-ktor")
2 changes: 1 addition & 1 deletion specifications/lionweb/bulk/v2024.1/lionweb.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
openapi: "3.0.3"
openapi: "3.1.0"
info:
title: "modelix lionweb bulk API adapter"
description: "modelix lionweb bulk API adapter"
Expand Down
81 changes: 72 additions & 9 deletions specifications/maven-connector/v1/maven.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
openapi: "3.0.3"
openapi: "3.1.0"
info:
title: "Modelix Maven Connector"
version: "1.0.0"
servers:
- url: '/api/modelix/maven-connector'
- url: '/modelix/maven-connector'
description: Makes artifacts from maven repositories available to other services
tags:
- name: MavenConnector
- name: MavenRepositories
- name: MavenArtifacts
paths:
/:
get:
operationId: getMavenConnectorConfig
tags: [MavenConnector]
tags: [MavenRepositories, MavenArtifacts]
responses:
"200":
description: OK
Expand All @@ -22,6 +24,7 @@ paths:
/repositories/:
get:
operationId: listMavenRepositories
tags: [MavenRepositories]
responses:
"200":
description: OK
Expand All @@ -32,7 +35,7 @@ paths:
/repositories/{repositoryId}:
get:
operationId: getMavenRepository
tags: [MavenConnector]
tags: [MavenRepositories]
parameters:
- name: repositoryId
in: path
Expand All @@ -48,7 +51,7 @@ paths:
$ref: '#/components/schemas/MavenRepository'
put:
operationId: updateMavenRepository
tags: [MavenConnector]
tags: [MavenRepositories]
parameters:
- name: repositoryId
in: path
Expand All @@ -65,7 +68,7 @@ paths:
description: OK
delete:
operationId: deleteMavenRepository
tags: [MavenConnector]
tags: [MavenRepositories]
parameters:
- name: repositoryId
in: path
Expand All @@ -78,14 +81,76 @@ paths:
/artifacts/:
get:
operationId: listMavenArtifacts
tags: [MavenConnector]
tags: [MavenArtifacts]
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MavenArtifactList'
/artifacts/{groupId}/{artifactId}:
get:
operationId: getMavenArtifact
tags: [MavenArtifacts]
parameters:
- name: groupId
in: path
required: true
schema:
type: string
- name: artifactId
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MavenArtifact'
put:
operationId: updateMavenArtifact
tags: [MavenArtifacts]
parameters:
- name: groupId
in: path
required: true
schema:
type: string
- name: artifactId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MavenArtifact'
responses:
"200":
description: OK
delete:
operationId: deleteMavenArtifact
tags: [MavenArtifacts]
parameters:
- name: groupId
in: path
required: true
schema:
type: string
- name: artifactId
in: path
required: true
schema:
type: string
responses:
"200":
description: OK

components:
schemas:
MavenConnectorConfig:
Expand Down Expand Up @@ -114,10 +179,8 @@ components:
properties:
id:
type: string
nullable: false
url:
type: string
nullable: false
MavenArtifactList:
type: object
required: [artifacts]
Expand Down
6 changes: 3 additions & 3 deletions specifications/repository/v3/repository.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
openapi: "3.0.3"
openapi: "3.1.0"
info:
title: "Modelix Workspaces"
title: "Modelix Model Repository"
version: "3.0.0"
servers:
- url: '/api/modelix/repository'
- url: '/modelix/repository'
description: modelix-workspaces-manager
tags:
- name: Repository
Expand Down
Loading
Loading