Newer
Older
import cz.habarta.typescript.generator.Settings.ConfiguredExtension
Adam Laskowski
committed
evaluationDependsOn(':lib-commonbase')
Adam Laskowski
committed
evaluationDependsOn(':lib-common')
evaluationDependsOn(':lib-typescriptprocessor')
Adam Laskowski
committed
apply from: '../build/javaproject.gradle'
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "cz.habarta.typescript-generator:typescript-generator-gradle-plugin-publisher:3.2.1263"
}
}
doLast {
def file = fileTree(dir: '../api-openbis-javascript/src/v3', include: ['as/**/*.js', 'ds/**/*.js', 'openbis.js'])
def modules = file.collect { File f ->
def name = f.name
def moduleName = name.substring(0, name.lastIndexOf('.'))
return "${moduleName}"
def names = [names: modules]
def json = JsonOutput.prettyPrint(JsonOutput.toJson(names))
def moduleNamesFile = new File('../api-openbis-javascript/src/v3/moduleNames.json')
moduleNamesFile.write(json)
dependencies {
api project(':lib-common'), project(":lib-typescriptprocessor"),
Adam Laskowski
committed
'sis:sis-file-transfer:19.03.1',
'fasterxml:jackson-core:2.9.10',
'fasterxml:jackson-annotations:2.9.10',
piotr.kupczyk@id.ethz.ch
committed
'com.google.guava:guava:31.1-jre',
"cz.habarta.typescript-generator:typescript-generator-core:3.2.1263"
Adam Laskowski
committed
testImplementation project(path: ':lib-commonbase', configuration: 'tests'),
Adam Laskowski
committed
project(path: ':lib-common', configuration: 'tests'),
Adam Laskowski
committed
'fjelmer:classycle:1.4.2',
'testng:testng:6.8-CISD',
'reflections:reflections:0.9.10'
api(project(":lib-typescriptprocessor"))
}
apply plugin: "cz.habarta.typescript-generator"
generateTypeScript {
jsonLibrary = 'jackson2'
classPatterns = [
'ch.ethz.sis.openbis.generic.asapi.v3.dto.**',
'ch.ethz.sis.openbis.generic.dssapi.v3.dto.**',
'ch.ethz.sis.openbis.generic.OpenBIS',
piotr.kupczyk@id.ethz.ch
committed
excludeClassPatterns = [
"ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SampleIdDeserializer",
"ch.ethz.sis.openbis.generic.asapi.v3.dto.common.property.PropertiesDeserializer"]
piotr.kupczyk@id.ethz.ch
committed
mapClasses = "asInterfaces"
piotr.kupczyk@id.ethz.ch
committed
importDeclarations = ["export default openbis"]
outputKind = 'module'
outputFileType = 'declarationFile'
piotr.kupczyk@id.ethz.ch
committed
namespace = 'openbis'
piotr.kupczyk@id.ethz.ch
committed
customTypeNaming = [
"ch.ethz.sis.openbis.generic.OpenBIS:facade",
piotr.kupczyk@id.ethz.ch
committed
"ch.ethz.sis.openbis.generic.asapi.v3.dto.pat.search.PersonalAccessTokenSessionNameSearchCriteria:PersonalAccessTokenSessionNameSearchCriteria",
"ch.ethz.sis.openbis.generic.asapi.v3.dto.session.search.PersonalAccessTokenSessionNameSearchCriteria:PersonalAccessTokenSessionNameSearchCriteriaInSession",
piotr.kupczyk@id.ethz.ch
committed
"ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.search.ExternalDmsSearchCriteria:ExternalDmsSearchCriteria",
piotr.kupczyk@id.ethz.ch
committed
"ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.search.ExternalDmsSearchCriteria:ExternalDmsSearchCriteriaInDataSet",
"ch.ethz.sis.openbis.generic.asapi.v3.dto.service.execute.AbstractExecutionOptionsWithParameters:AbstractExecutionOptionsWithParameters",
"ch.ethz.sis.openbis.generic.dssapi.v3.dto.service.execute.AbstractExecutionOptionsWithParameters:AbstractExecutionOptionsWithParametersInDataStore",
"ch.ethz.sis.openbis.generic.asapi.v3.dto.common.operation.IOperationResult:IOperationResult",
"ch.ethz.sis.openbis.generic.dssapi.v3.dto.common.operation.IOperationResult:IOperationResultInDataStore"
piotr.kupczyk@id.ethz.ch
committed
]
extensionsWithConfiguration = [
piotr.kupczyk@id.ethz.ch
committed
new ConfiguredExtension(className: 'ch.empa.tsprocessor.AddMethodsExtension', configuration: ['asyncClasses': "[\"ch.ethz.sis.openbis.generic.OpenBIS\"]"]),
new ConfiguredExtension(className: 'ch.empa.tsprocessor.RemovePropertiesExtension'),
new ConfiguredExtension(className: 'ch.empa.tsprocessor.AddOpenBISModuleExtension')
piotr.kupczyk@id.ethz.ch
committed
]
jackson2ModuleDiscovery = true
outputFile = file('../api-openbis-javascript/src/v3/openbis.d.ts')