Skip to content
Snippets Groups Projects
build.gradle 4.11 KiB
Newer Older
  • Learn to ignore specific revisions
  • import cz.habarta.typescript.generator.Settings.ConfiguredExtension
    
    import groovy.json.JsonOutput
    
    
    evaluationDependsOn(':lib-typescriptprocessor')
    
    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"
        }
    
    }
    
    
    tasks.register('generateModuleNames') {
    
        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('.'))
    
            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)
    
        api project(':lib-common'), project(":lib-typescriptprocessor"),
    
                'sis:sis-file-transfer:19.03.1',
                'fasterxml:jackson-core:2.9.10',
    
                'fasterxml:jackson-annotations:2.9.10',
    
                "cz.habarta.typescript-generator:typescript-generator-core:3.2.1263"
    
    
        testImplementation project(path: ':lib-commonbase', configuration: 'tests'),
    
                project(path: ':lib-common', configuration: 'tests'),
    
                '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',
    
        excludeClassPatterns = [
                "ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SampleIdDeserializer",
                "ch.ethz.sis.openbis.generic.asapi.v3.dto.common.property.PropertiesDeserializer"]
    
        outputKind = 'module'
        outputFileType = 'declarationFile'
    
        customTypeNaming = [
                "ch.ethz.sis.openbis.generic.OpenBIS:facade",
    
                "ch.ethz.sis.openbis.generic.asapi.v3.dto.pat.search.PersonalAccessTokenSessionNameSearchCriteria:PersonalAccessTokenSessionNameSearchCriteria",
                "ch.ethz.sis.openbis.generic.asapi.v3.dto.session.search.PersonalAccessTokenSessionNameSearchCriteria:PersonalAccessTokenSessionNameSearchCriteriaInSession",
    
                "ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.search.ExternalDmsSearchCriteria:ExternalDmsSearchCriteria",
    
                "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"
    
                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')
    
        jackson2ModuleDiscovery = true
        outputFile = file('../api-openbis-javascript/src/v3/openbis.d.ts')
    
    felmer's avatar
    felmer committed
    }