Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- plugins {
- id 'org.springframework.boot' version '2.3.2.RELEASE'
- id 'io.spring.dependency-management' version '1.0.9.RELEASE'
- id 'java'
- }
- group = projectGroup
- version = projectVersion
- sourceCompatibility = '11'
- configurations {
- compileOnly {
- extendsFrom annotationProcessor
- }
- jaxb
- }
- repositories {
- mavenCentral()
- }
- ext {
- wsdlSchemaUrl = "${System.getenv('SAP_URI') ?: 'http://support.alpeconsulting.com:8201/sap/bc/srt/rfc/sap/ztablereadws'}?wsdl"
- wsdlPath = "${buildDir}/ztablereadws.wsdl"
- wsdlUser = System.getenv('SAP_USERNAME') ?: sapUser
- wsdlPassword = System.getenv('SAP_PASSWORD') ?: sapPassword
- springCloudVersion = "Hoxton.SR7"
- }
- task downloadWsdl {
- file(buildDir).mkdir()
- try {
- ant.get(src: wsdlSchemaUrl, dest: wsdlPath, username: wsdlUser, password: wsdlPassword)
- } catch (Exception ex) {
- println 'Warning: cannot download new WSDL'
- ex.printStackTrace()
- if (!file(wsdlPath).exists()) {
- println 'Fatal: no old WSDL found'
- throw new RuntimeException("No WSDL found to generate code")
- }
- }
- }
- task genJaxb {
- dependsOn(downloadWsdl)
- ext {
- sourcesDir = "${buildDir}/generated-sources/jaxb"
- schema = wsdlPath
- }
- doLast {
- project.ant {
- taskdef name: "xjc", classname: "com.sun.tools.xjc.XJCTask",
- classpath: configurations.jaxb.asPath
- mkdir(dir: sourcesDir)
- xjc(destdir: sourcesDir, schema: schema,
- package: "com.github.kuzznya.sap.wsdl") {
- arg(value: "-wsdl")
- produces(dir: sourcesDir, includes: "**/*.java")
- }
- }
- }
- }
- compileJava {
- dependsOn(genJaxb)
- sourceSets.main.java.srcDirs += 'build/generated-sources/jaxb'
- }
- dependencyManagement {
- imports {
- mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
- }
- }
- dependencies {
- implementation project(":sap-drivers:sap-driver-api")
- implementation project(":common")
- implementation 'org.springframework.boot:spring-boot-starter-web'
- implementation 'org.springframework.boot:spring-boot-starter-security'
- implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
- implementation 'org.springframework.boot:spring-boot-starter-actuator'
- compileOnly 'org.projectlombok:lombok'
- developmentOnly 'org.springframework.boot:spring-boot-devtools'
- annotationProcessor 'org.projectlombok:lombok'
- annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
- testImplementation('org.springframework.boot:spring-boot-starter-test') {
- exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
- }
- // Consuming SOAP:
- implementation ('org.springframework.boot:spring-boot-starter-web-services')
- implementation 'org.springframework.ws:spring-ws-core'
- // For Java 11:
- implementation 'org.glassfish.jaxb:jaxb-runtime'
- jaxb "com.sun.xml.bind:jaxb-xjc:2.3.3"
- }
- test {
- useJUnitPlatform()
- }
Advertisement
Add Comment
Please, Sign In to add comment