Compare commits
3 Commits
main
...
fix/docume
| Author | SHA1 | Date | |
|---|---|---|---|
| c5acaf2aae | |||
| bce18083de | |||
| 949aacfa60 |
@ -3,6 +3,8 @@ run-name: Build started by $ {{gitea.actor}}
|
||||
on:
|
||||
pull_request:
|
||||
branches: [test]
|
||||
push:
|
||||
branches: [main, test]
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
@ -18,3 +20,15 @@ jobs:
|
||||
uses: gradle/actions/wrapper-validation@v3
|
||||
- name: Gradle build
|
||||
run: ./gradlew build --info
|
||||
- name: Generate Javadoc
|
||||
run: ./gradlew javadoc
|
||||
continue-on-error: true
|
||||
- name: Verify Javadoc generation
|
||||
run: |
|
||||
if [ -d "build/docs/javadoc" ]; then
|
||||
echo "Javadoc generated successfully"
|
||||
ls -la build/docs/javadoc/
|
||||
else
|
||||
echo "Warning: Javadoc directory not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
26
build.gradle
26
build.gradle
@ -60,3 +60,29 @@ dependencies {
|
||||
tasks.named('test') {
|
||||
useJUnitPlatform()
|
||||
}
|
||||
|
||||
/**
|
||||
* Javadoc generation task.
|
||||
* Generates API documentation for all public APIs.
|
||||
*/
|
||||
javadoc {
|
||||
source = sourceSets.main.allJava
|
||||
classpath = configurations.compileClasspath
|
||||
destinationDir = file("${buildDir}/docs/javadoc")
|
||||
options.author = true
|
||||
options.links = [
|
||||
"https://docs.oracle.com/javase/17/docs/api/"
|
||||
]
|
||||
// Allow javadoc to fail without stopping the build in CI
|
||||
failOnError false
|
||||
}
|
||||
|
||||
// Verify javadoc generation completes without errors
|
||||
tasks.register('verifyJavadoc') {
|
||||
dependsOn javadoc
|
||||
description = 'Verifies javadoc generation completes without errors'
|
||||
group = 'verification'
|
||||
doLast {
|
||||
println "Javadoc generated successfully at: ${javadoc.destinationDir}"
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,11 +3,46 @@ package com.hithomelabs.CFTunnels;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
/**
|
||||
* Main Spring Boot application class for Cloudflare Tunnels API.
|
||||
*
|
||||
* <p>This application provides a RESTful API for managing Cloudflare Tunnels,
|
||||
* allowing users to create tunnel mappings to services with an approval workflow.</p>
|
||||
*
|
||||
* <p><b>Features:</b></p>
|
||||
* <ul>
|
||||
* <li>Create, update, and delete Cloudflare tunnels</li>
|
||||
* <li>Add ingress mappings to tunnels</li>
|
||||
* <li>Request/approval workflow for mapping changes</li>
|
||||
* <li>OIDC-based authentication with role-based access</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p><b>Technology Stack:</b></p>
|
||||
* <ul>
|
||||
* <li>Java 17</li>
|
||||
* <li>Spring Boot 3.x</li>
|
||||
* <li>Spring Data JPA</li>
|
||||
* <li>Spring Security with OIDC</li>
|
||||
* <li>H2 Database (configurable for PostgreSQL)</li>
|
||||
* <li>Cloudflare API</li>
|
||||
* </ul>
|
||||
*
|
||||
* <p>Access the API documentation at:
|
||||
* {@code /swagger-ui.html} for the Swagger/OpenAPI UI</p>
|
||||
*
|
||||
* @see <a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-negative">Cloudflare Tunnel Documentation</a>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@SpringBootApplication
|
||||
public class CfTunnelsApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(CfTunnelsApplication.class, args);
|
||||
}
|
||||
/**
|
||||
* Main entry point for the application.
|
||||
*
|
||||
* @param args command line arguments passed to the application
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(CfTunnelsApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user