mirror of
				https://github.com/Frooodle/Stirling-PDF.git
				synced 2025-10-25 11:17:28 +02:00 
			
		
		
		
	Update springdoc plugin to 1.9.0 & Improve SwaggerHub Configuration and Gradle Setup (#3175)
eneration # Description of Changes Please provide a summary of the changes, including: - Refactored `SWAGGERHUB_USER` to use an environment variable instead of a hardcoded value, increasing flexibility. - Updated `.gitignore` to exclude `SwaggerDoc.json`, `node_modules/`, and `.mjs` files. - Upgraded `org.springdoc.openapi-gradle-plugin` from `1.8.0` to `1.9.0` for better compatibility. - Adjusted `openApi` configuration to increase `waitTimeInSeconds` to `60` for improved Swagger doc generation stability. - Ensured `swaggerhubUpload` task dynamically references `SWAGGERHUB_USER` from environment variables. - Improved `generateOpenApiDocs` task to disable state tracking, avoiding unnecessary rebuilds. --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details.
This commit is contained in:
		
							parent
							
								
									bc35687e8e
								
							
						
					
					
						commit
						2848ccd12e
					
				
							
								
								
									
										4
									
								
								.github/workflows/swagger.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/swagger.yml
									
									
									
									
										vendored
									
									
								
							| @ -35,6 +35,7 @@ jobs: | |||||||
|         run: ./gradlew swaggerhubUpload |         run: ./gradlew swaggerhubUpload | ||||||
|         env: |         env: | ||||||
|           SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }} |           SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }} | ||||||
|  |           SWAGGERHUB_USER: "Frooodle" | ||||||
| 
 | 
 | ||||||
|       - name: Get version number |       - name: Get version number | ||||||
|         id: versionNumber |         id: versionNumber | ||||||
| @ -42,6 +43,7 @@ jobs: | |||||||
| 
 | 
 | ||||||
|       - name: Set API version as published and default on SwaggerHub |       - name: Set API version as published and default on SwaggerHub | ||||||
|         run: | |         run: | | ||||||
|           curl -X PUT -H "Authorization: ${SWAGGERHUB_API_KEY}" "https://api.swaggerhub.com/apis/Frooodle/Stirling-PDF/${{ steps.versionNumber.outputs.versionNumber }}/settings/lifecycle" -H  "accept: application/json" -H  "Content-Type: application/json" -d "{\"published\":true,\"default\":true}" |           curl -X PUT -H "Authorization: ${SWAGGERHUB_API_KEY}" "https://api.swaggerhub.com/apis/${SWAGGERHUB_USER}/Stirling-PDF/${{ steps.versionNumber.outputs.versionNumber }}/settings/lifecycle" -H  "accept: application/json" -H  "Content-Type: application/json" -d "{\"published\":true,\"default\":true}" | ||||||
|         env: |         env: | ||||||
|           SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }} |           SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }} | ||||||
|  |           SWAGGERHUB_USER: "Frooodle" | ||||||
|  | |||||||
							
								
								
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -27,6 +27,8 @@ clientWebUI/ | |||||||
| !cucumber/exampleFiles/example_html.zip | !cucumber/exampleFiles/example_html.zip | ||||||
| exampleYmlFiles/stirling/ | exampleYmlFiles/stirling/ | ||||||
| /testing/file_snapshots | /testing/file_snapshots | ||||||
|  | SwaggerDoc.json | ||||||
|  | 
 | ||||||
| # Gradle | # Gradle | ||||||
| .gradle | .gradle | ||||||
| .lock | .lock | ||||||
| @ -188,3 +190,7 @@ id_ed25519.pub | |||||||
| .ipynb_checkpoints | .ipynb_checkpoints | ||||||
| 
 | 
 | ||||||
| **/jcef-bundle/ | **/jcef-bundle/ | ||||||
|  | 
 | ||||||
|  | # node_modules | ||||||
|  | node_modules/ | ||||||
|  | *.mjs | ||||||
|  | |||||||
							
								
								
									
										24
									
								
								build.gradle
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								build.gradle
									
									
									
									
									
								
							| @ -2,7 +2,7 @@ plugins { | |||||||
|     id "java" |     id "java" | ||||||
|     id "org.springframework.boot" version "3.4.3" |     id "org.springframework.boot" version "3.4.3" | ||||||
|     id "io.spring.dependency-management" version "1.1.7" |     id "io.spring.dependency-management" version "1.1.7" | ||||||
|     id "org.springdoc.openapi-gradle-plugin" version "1.8.0" |     id "org.springdoc.openapi-gradle-plugin" version "1.9.0" | ||||||
|     id "io.swagger.swaggerhub" version "1.3.2" |     id "io.swagger.swaggerhub" version "1.3.2" | ||||||
|     id "edu.sc.seis.launch4j" version "3.0.6" |     id "edu.sc.seis.launch4j" version "3.0.6" | ||||||
|     id "com.diffplug.spotless" version "7.0.2" |     id "com.diffplug.spotless" version "7.0.2" | ||||||
| @ -98,6 +98,7 @@ openApi { | |||||||
|     apiDocsUrl = "http://localhost:8080/v1/api-docs" |     apiDocsUrl = "http://localhost:8080/v1/api-docs" | ||||||
|     outputDir = file("$projectDir") |     outputDir = file("$projectDir") | ||||||
|     outputFileName = "SwaggerDoc.json" |     outputFileName = "SwaggerDoc.json" | ||||||
|  |     waitTimeInSeconds = 60 // Increase the wait time to 60 seconds | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| //0.11.5 to 2024.11.5 | //0.11.5 to 2024.11.5 | ||||||
| @ -284,6 +285,7 @@ sonar { | |||||||
| //    } | //    } | ||||||
| tasks.wrapper { | tasks.wrapper { | ||||||
|     gradleVersion = "8.12" |     gradleVersion = "8.12" | ||||||
|  |     distributionType = Wrapper.DistributionType.ALL | ||||||
| } | } | ||||||
| //tasks.withType(JavaCompile) { | //tasks.withType(JavaCompile) { | ||||||
| //    options.compilerArgs << "-Xlint:deprecation" | //    options.compilerArgs << "-Xlint:deprecation" | ||||||
| @ -384,19 +386,13 @@ dependencies { | |||||||
|     //general PDF |     //general PDF | ||||||
| 
 | 
 | ||||||
|     // https://mvnrepository.com/artifact/com.opencsv/opencsv |     // https://mvnrepository.com/artifact/com.opencsv/opencsv | ||||||
|     implementation ("com.opencsv:opencsv:5.10") { |     implementation ("com.opencsv:opencsv:5.10") | ||||||
|         exclude group: "commons-logging", module: "commons-logging" |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     implementation ("org.apache.pdfbox:pdfbox:$pdfboxVersion") { |     implementation ("org.apache.pdfbox:pdfbox:$pdfboxVersion") | ||||||
|         exclude group: "commons-logging", module: "commons-logging" |  | ||||||
|     } |  | ||||||
|     implementation "org.apache.pdfbox:preflight:$pdfboxVersion" |     implementation "org.apache.pdfbox:preflight:$pdfboxVersion" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     implementation ("org.apache.pdfbox:xmpbox:$pdfboxVersion") { |     implementation ("org.apache.pdfbox:xmpbox:$pdfboxVersion") | ||||||
|         exclude group: "commons-logging", module: "commons-logging" |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     // https://mvnrepository.com/artifact/technology.tabula/tabula |     // https://mvnrepository.com/artifact/technology.tabula/tabula | ||||||
|     implementation ('technology.tabula:tabula:1.0.5')  { |     implementation ('technology.tabula:tabula:1.0.5')  { | ||||||
| @ -446,9 +442,9 @@ task writeVersion { | |||||||
| swaggerhubUpload { | swaggerhubUpload { | ||||||
|     // dependsOn = generateOpenApiDocs  // Depends on your task generating Swagger docs |     // dependsOn = generateOpenApiDocs  // Depends on your task generating Swagger docs | ||||||
|     api = "Stirling-PDF"  // The name of your API on SwaggerHub |     api = "Stirling-PDF"  // The name of your API on SwaggerHub | ||||||
|     owner = "Frooodle"  // Your SwaggerHub username (or organization name) |     owner = "${System.getenv().getOrDefault('SWAGGERHUB_USER', 'Frooodle')}"  // Your SwaggerHub username (or organization name) | ||||||
|     version = project.version  // The version of your API |     version = project.version  // The version of your API | ||||||
|     inputFile = "./SwaggerDoc.json"  // The path to your Swagger docs |     inputFile = file("SwaggerDoc.json")  // The path to your Swagger docs | ||||||
|     token = "${System.getenv("SWAGGERHUB_API_KEY")}"  // Your SwaggerHub API key, passed as an environment variable |     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 |     oas = "3.0.0"  // The version of the OpenAPI Specification you"re using | ||||||
| } | } | ||||||
| @ -476,3 +472,7 @@ task printMacVersion { | |||||||
|         println getMacVersion(project.version.toString()) |         println getMacVersion(project.version.toString()) | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | tasks.named('generateOpenApiDocs') { | ||||||
|  |     doNotTrackState("Tracking state is not supported for this task") | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user