Adds gradle task to generate Web API client

master
Priyadarshi Raj 2019-06-21 22:05:33 +05:30
parent 1841723c5f
commit 72477b6c2d
3 changed files with 38 additions and 0 deletions

10
api-config.json Normal file
View File

@ -0,0 +1,10 @@
{
"groupId": "org.terasology",
"artifactId": "web-api-client",
"artifactVersion": "0.0.1",
"apiPackage": "org.terasology.web.client.api",
"modelPackage": "org.terasology.web.client.model",
"invokerPackage": "org.terasology.web.client",
"dateLibrary": "java8"
}

View File

@ -25,10 +25,12 @@ buildscript {
repositories {
mavenCentral()
jcenter()
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath group: "com.alexkasko.delta", name: "delta-diff", version: "1.1.3"
classpath group: 'de.undercouch', name: 'gradle-download-task', version: '2.1.0'
classpath "gradle.plugin.org.hidetake:gradle-swagger-generator-plugin:2.18.1"
}
}
@ -44,6 +46,7 @@ apply plugin: 'findbugs'
apply plugin: 'de.undercouch.download'
apply from: 'bundles.gradle'
apply plugin: "org.hidetake.swagger.generator"
// Test for right version of Java in use for running this script
assert org.gradle.api.JavaVersion.current().isJava8Compatible()
@ -90,6 +93,7 @@ repositories {
maven {
url "http://artifactory.terasology.org/artifactory/virtual-repo-live"
}
jcenter()
}
// Primary dependencies definition
@ -102,6 +106,12 @@ dependencies {
compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.2'
// For Web API
swaggerCodegen 'io.swagger.codegen.v3:swagger-codegen-cli:3.0.5'
if (new File('web-api-client').exists()) {
compile project(':web-api-client')
}
// These dependencies are only needed for running tests
testCompile group: 'junit', name: 'junit', version: '4.11'
testCompile group: 'org.mockito', name: 'mockito-all', version: '1.10.19'
@ -117,6 +127,20 @@ targetCompatibility = 1.8
mainClassName = 'org.terasology.launcher.TerasologyLauncher'
// Swagger config
swaggerSources {
client {
inputFile = file('swagger.json')
code {
language = 'java'
configFile = file('api-config.json')
}
}
}
generateSwaggerCodeClient.outputDir = file('web-api-client')
// Checkstyle
checkstyle {
toolVersion = '6.14.1'
ignoreFailures = true

View File

@ -1 +1,5 @@
rootProject.name = 'TerasologyLauncher'
if (new File('web-api-client').exists()) {
include 'web-api-client'
}