plugins { id 'java' id 'org.springframework.boot' version '3.1.0' id 'io.spring.dependency-management' version '1.1.0' id 'org.springdoc.openapi-gradle-plugin' version '1.6.0' id "io.swagger.swaggerhub" version "1.1.0" } group = 'stirling.software' version = '0.10.0' sourceCompatibility = '17' repositories { mavenCentral() } openApi { apiDocsUrl = "http://localhost:8080/v3/api-docs" outputDir = file("$projectDir") outputFileName = "SwaggerDoc.json" } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web:3.1.0' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf:3.1.0' testImplementation 'org.springframework.boot:spring-boot-starter-test:3.1.0' // https://mvnrepository.com/artifact/org.apache.pdfbox/jbig2-imageio implementation group: 'org.apache.pdfbox', name: 'jbig2-imageio', version: '3.0.4' implementation 'commons-io:commons-io:2.11.0' implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0' //general PDF implementation 'org.apache.pdfbox:pdfbox:2.0.28' implementation 'org.bouncycastle:bcprov-jdk15on:1.70' implementation 'org.bouncycastle:bcpkix-jdk15on:1.70' implementation 'com.itextpdf:itext7-core:7.2.5' implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'io.micrometer:micrometer-core' developmentOnly("org.springframework.boot:spring-boot-devtools") } task writeVersion { def propsFile = file('src/main/resources/version.properties') def props = new Properties() props.setProperty('version', version) props.store(propsFile.newWriter(), null) } swaggerhubUpload { //dependsOn generateOpenApiDocs // Depends on your task generating Swagger docs api 'Stirling-PDF' // The name of your API on SwaggerHub owner 'Frooodle' // Your SwaggerHub username (or organization name) version project.version // The version of your API inputFile './SwaggerDoc.json' // The path to your Swagger docs token "${System.getenv('SWAGGERHUB_API_KEY')}" // Your SwaggerHub API key, passed as an environment variable oas '3.0.0' // The version of the OpenAPI Specification you're using } jar { enabled = false manifest { attributes 'Implementation-Title': 'Stirling-PDF', 'Implementation-Version': project.version } } tasks.named('test') { useJUnitPlatform() } task printVersion { println project.version }