FINERACT-1189: fineract client as a separate module
This commit is contained in:
committed by
Michael Vorburger ⛑️
parent
9c67117f3d
commit
ca80ecb46e
@@ -0,0 +1,84 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
description = 'Fineract Client'
|
||||
|
||||
ext['swaggerFile'] = "$rootDir/fineract-provider/build/classes/java/main/static/swagger-ui/fineract.yaml".toString()
|
||||
|
||||
apply plugin: 'org.openapi.generator'
|
||||
|
||||
apply from: 'dependencies.gradle'
|
||||
|
||||
// TODO: @vidakovic we should publish this lib to Maven Central; do in separate PR
|
||||
|
||||
openApiMeta {
|
||||
generatorName = 'Fineract'
|
||||
packageName = 'org.apache.fineract.client'
|
||||
outputFolder = "$buildDir/meta".toString()
|
||||
}
|
||||
|
||||
openApiValidate {
|
||||
inputSpec = "$swaggerFile"
|
||||
recommend = true
|
||||
}
|
||||
|
||||
task buildJavaSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
|
||||
generatorName = 'java'
|
||||
verbose = false
|
||||
validateSpec = false
|
||||
skipValidateSpec = true
|
||||
inputSpec = "$swaggerFile"
|
||||
outputDir = "$buildDir/generated/java".toString()
|
||||
groupId = 'org.apache.fineract'
|
||||
apiPackage = 'org.apache.fineract.client.services'
|
||||
invokerPackage = 'org.apache.fineract.client'
|
||||
modelPackage = 'org.apache.fineract.client.models'
|
||||
configOptions = [
|
||||
dateLibrary: 'java8',
|
||||
useRxJava2: 'true',
|
||||
library: 'retrofit2',
|
||||
hideGenerationTimestamp: 'true',
|
||||
]
|
||||
generateModelTests = false
|
||||
generateApiTests = false
|
||||
// trick to make sure fineract.yaml is generated first
|
||||
dependsOn = [
|
||||
':fineract-provider:compileJava'
|
||||
]
|
||||
finalizedBy = [licenseFormat]
|
||||
}
|
||||
|
||||
// TODO: @vidakovic we could provide even more client libs in different languages (Go, Ruby, Swift etc.)
|
||||
compileJava.dependsOn buildJavaSdk, spotlessJavaApply
|
||||
|
||||
sourceSets {
|
||||
generated {
|
||||
java {
|
||||
srcDir "$buildDir/generated/java/src/main/java"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
compileJava {
|
||||
source += sourceSets.generated.java
|
||||
}
|
||||
|
||||
configurations {
|
||||
generatedCompile.extendsFrom implementation
|
||||
generatedRuntime.extendsFrom runtime
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
dependencies {
|
||||
// project(':fineract-provider')
|
||||
implementation(
|
||||
'io.swagger:swagger-core',
|
||||
'io.swagger:swagger-annotations',
|
||||
'com.squareup.retrofit2:retrofit',
|
||||
'com.squareup.retrofit2:adapter-java8',
|
||||
'com.squareup.retrofit2:adapter-rxjava2',
|
||||
'com.squareup.retrofit2:converter-jackson',
|
||||
'com.squareup.retrofit2:converter-scalars',
|
||||
'com.squareup.retrofit2:converter-gson',
|
||||
'com.squareup.okhttp3:okhttp',
|
||||
'com.squareup.okhttp3:okcurl',
|
||||
'com.squareup.okhttp3:logging-interceptor',
|
||||
'com.google.code.findbugs:jsr305',
|
||||
'com.google.code.gson:gson',
|
||||
'io.gsonfire:gson-fire',
|
||||
'org.threeten:threetenbp',
|
||||
'org.springframework:spring-core',
|
||||
'org.springframework:spring-context',
|
||||
'javax.annotation:javax.annotation-api',
|
||||
'commons-codec:commons-codec',
|
||||
)
|
||||
implementation('org.apache.oltu.oauth2:org.apache.oltu.oauth2.client') {
|
||||
exclude group: 'org.apache.oltu.oauth2' , module: 'org.apache.oltu.oauth2.common'
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user