diff --git a/.github/workflows/build_jar.yml b/.github/workflows/build_jar.yml new file mode 100644 index 0000000..7d44073 --- /dev/null +++ b/.github/workflows/build_jar.yml @@ -0,0 +1,74 @@ +name: Build JAR on Release + +on: + release: + types: [published] # Solo al publicar una release + workflow_dispatch: + +jobs: + build: + name: Build and Attach Executable JAR + runs-on: ubuntu-latest + + permissions: + contents: write + + steps: + - name: Checkout + uses: actions/checkout@v4 + - id: detect-java + name: Detect Java from pom.xml + run: | + set -euo pipefail + FILE=pdf-generator/pom.xml + # Intenta leer las propiedades estándar del compiler plugin + REL=$(mvn -f "$FILE" -q -DforceStdout help:evaluate -Dexpression=maven.compiler.release || true) + SRC=$(mvn -f "$FILE" -q -DforceStdout help:evaluate -Dexpression=maven.compiler.source || true) + TGT=$(mvn -f "$FILE" -q -DforceStdout help:evaluate -Dexpression=maven.compiler.target || true) + + clean() { echo "$1" | grep -E '^[0-9]+$' || true; } + REL=$(clean "$REL"); SRC=$(clean "$SRC"); TGT=$(clean "$TGT") + + VER="${REL:-${TGT:-${SRC:-17}}}" + echo "version=$VER" >> "$GITHUB_OUTPUT" + echo "Detected Java version: $VER" + + - name: Set up Temurin JDK (auto) + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: ${{ steps.detect-java.outputs.version }} + cache: maven + + - name: Build with Maven (pdf-generator) + run: | + set -euo pipefail + mvn -f pdf-generator/pom.xml -B -DskipTests clean package + JAR_WITH_DEPS=$(ls -1 pdf-generator/target/*-jar-with-dependencies.jar | head -n 1) + if [ -z "${JAR_WITH_DEPS:-}" ]; then + echo "No se encontró el JAR con dependencias (sufijo -jar-with-dependencies.jar)"; exit 1 + fi + echo "ARTIFACT_PATH=${JAR_WITH_DEPS}" >> "$GITHUB_ENV" + + - name: Rename artifact using release tag (or manual) + run: | + TAG="${{ github.event.release.tag_name || 'manual' }}" + OUT="sonar-report-${TAG}.jar" + cp "$ARTIFACT_PATH" "$OUT" + echo "OUT=${OUT}" >> "$GITHUB_ENV" + + - name: Upload workflow artifact (optional) + uses: actions/upload-artifact@v4 + with: + name: ${{ env.OUT }} + path: ${{ env.OUT }} + if-no-files-found: error + retention-days: 14 + + - name: Attach JAR to GitHub Release + if: ${{ github.event_name == 'release' }} + uses: softprops/action-gh-release@v2 + with: + files: ${{ env.OUT }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/check_calls.yml b/.github/workflows/check_calls.yml new file mode 100644 index 0000000..0cd6abf --- /dev/null +++ b/.github/workflows/check_calls.yml @@ -0,0 +1,222 @@ +name: SonarQube API health check + +on: + pull_request: + branches: [ main ] + push: + branches: [ main ] + workflow_dispatch: + +jobs: + sonarqube-api: + runs-on: ubuntu-latest + services: + sonarqube: + image: sonarqube:latest + ports: + - 9000:9000 + options: >- + --health-cmd="curl -f http://localhost:9000/api/system/status || exit 1" + --health-interval=10s + --health-timeout=5s + --health-retries=60 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Wait for sonar to be up + run: | + for i in {1..120}; do + STATUS=$(curl -s http://localhost:9000/api/system/status | jq -r '.status' || true) + if [ "$STATUS" = "UP" ]; then echo "SonarQube UP"; break; fi + echo "Status: $STATUS..." + sleep 5 + done + + - name: Create temporal admin token + run: | + export TOKEN_NAME="ci-token-$(date +%s)" + AUTH="-u admin:admin" + curl -sS $AUTH -X POST "http://localhost:9000/api/user_tokens/generate?name=$TOKEN_NAME" | jq -r '.token' > token.txt + echo "SONAR_TOKEN=$(cat token.txt)" >> $GITHUB_ENV + + - name: Prepare Dummy Project + run: | + mkdir -p dummy + echo 'console.log(eval("1+1"))' > dummy/index.js + cat > dummy/sonar-project.properties << 'EOF' + sonar.projectKey=dummy.project + sonar.projectName=Dummy Project + sonar.sources=. + sonar.exclusions=**/* + sonar.token=${SONAR_TOKEN} + sonar.host.url=http://localhost:9000 + EOF + + - name: Install Sonar Scanner + run: | + sudo apt-get update -y + sudo apt-get install -y unzip default-jre + curl -L -o scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip + unzip scanner.zip + SCANNER_DIR=$(find . -type d -name "sonar-scanner-*" | head -n 1) + echo "$SCANNER_DIR/bin" >> $GITHUB_PATH + + - name: Run Sonar Scanner + run: | + ./sonar-scanner-*/bin/sonar-scanner \ + -Dsonar.projectKey=dummy.project \ + -Dsonar.sources=. \ + -Dsonar.exclusions=**/* \ + -Dsonar.host.url=http://localhost:9000 \ + -Dsonar.login=${{ env.SONAR_TOKEN }} + + - name: API Testing + env: + SONAR_TOKEN: ${{ env.SONAR_TOKEN }} + run: | + set -euo pipefail + AUTH="Authorization: Basic $(echo -n ${SONAR_TOKEN}: | base64 -w0)" + response=$(mktemp) + + #/api/navigation/component?component= + url="http://localhost:9000/api/navigation/component?component=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/measures/component?metricKeys=reliability_rating,software_quality_maintainability_rating,security_rating,security_review_rating&component= + url="http://localhost:9000/api/measures/component?metricKeys=reliability_rating,software_quality_maintainability_rating,security_rating,security_review_rating&component=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/qualitygates/project_status?projectKey= + url="http://localhost:9000/api/qualitygates/project_status?projectKey=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/measures/component?metricKeys=duplicated_lines_density,comment_lines_density,ncloc,complexity,cognitive_complexity,coverage&component= + url="http://localhost:9000/api/measures/component?metricKeys=duplicated_lines_density,comment_lines_density,ncloc,complexity,cognitive_complexity,coverage&component=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/measures/component?metricKeys=duplicated_lines_density,comment_lines_density,ncloc,complexity,cognitive_complexity,coverage&component= + url="http://localhost:9000/api/measures/component?metricKeys=duplicated_lines_density,comment_lines_density,ncloc,complexity,cognitive_complexity,coverage&component=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/measures/component?metricKeys=reliability_remediation_effort,security_remediation_effort,sqale_index&component= + url="http://localhost:9000/api/measures/component?metricKeys=reliability_remediation_effort,security_remediation_effort,sqale_index&component=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/measures/component?metricKeys=ncloc_language_distribution&component= + url="http://localhost:9000/api/measures/component?metricKeys=ncloc_language_distribution&component=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/hotspots/search?status=TO_REVIEW&ps=500&pageIndex=0&project= + url="http://localhost:9000/api/hotspots/search?status=TO_REVIEW&ps=500&pageIndex=0&project=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/issues/search?types=BUG&facets=severities&componentKeys= + url="http://localhost:9000/api/issues/search?types=BUG&facets=severities&componentKeys=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/issues/search?types=VULNERABILITY&facets=severities&componentKeys= + url="http://localhost:9000/api/issues/search?types=VULNERABILITY&facets=severities&componentKeys=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/issues/search?types=CODE_SMELL&facets=severities&componentKeys= + url="http://localhost:9000/api/issues/search?types=CODE_SMELL&facets=severities&componentKeys=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" + + #/api/issues/search?issueStatuses=OPEN&ps=500&pageIndex=0&componentKeys= + url="http://localhost:9000/api/issues/search?issueStatuses=OPEN&ps=500&pageIndex=0&componentKeys=dummy.project" + code=$(curl -sS -H "$AUTH" -o "$response" -w "%{http_code}" "$url") + if (( code >= 400 && code < 600 )); then + echo "Error in $url (HTTP $code)" + echo "--- Body ---" + cat "$response" + echo "------------" + exit 1 + fi + echo "$url OK (HTTP $code)" diff --git a/GenerateCNESReport.class b/GenerateCNESReport.class deleted file mode 100644 index 495ca5c..0000000 Binary files a/GenerateCNESReport.class and /dev/null differ diff --git a/pdf-generator/pom.xml b/pdf-generator/pom.xml index ba58502..abefec0 100644 --- a/pdf-generator/pom.xml +++ b/pdf-generator/pom.xml @@ -4,9 +4,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.bi - pdf-generator - 1.0-SNAPSHOT + com.opendevstack + sonar-report + 1.0 17 @@ -44,7 +44,7 @@ - GenerateCNESReport + GenerateSonarReport @@ -62,4 +62,4 @@ - \ No newline at end of file + diff --git a/pdf-generator/pom.xml:Zone.Identifier b/pdf-generator/pom.xml:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/java/com/bi/GenerateCNESReport.java:Zone.Identifier b/pdf-generator/src/main/java/com/bi/GenerateCNESReport.java:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/java/com/bi/GenerateCNESReport.java b/pdf-generator/src/main/java/com/bi/GenerateSonarReport.java similarity index 85% rename from pdf-generator/src/main/java/com/bi/GenerateCNESReport.java rename to pdf-generator/src/main/java/com/bi/GenerateSonarReport.java index f4bf7ad..b7af4bb 100644 --- a/pdf-generator/src/main/java/com/bi/GenerateCNESReport.java +++ b/pdf-generator/src/main/java/com/bi/GenerateSonarReport.java @@ -11,24 +11,57 @@ import java.util.List; import java.util.Map; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLParameters; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; + import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; -public class GenerateCNESReport { +public class GenerateSonarReport { + + private static HttpClient createUnsafeHttpClient() { + try { + TrustManager[] trustAll = new TrustManager[]{ + new X509TrustManager() { + public java.security.cert.X509Certificate[] getAcceptedIssuers() { return new java.security.cert.X509Certificate[0]; } + public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {} + public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {} + } + }; + + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(null, trustAll, new java.security.SecureRandom()); + + SSLParameters sslParams = sslContext.getDefaultSSLParameters(); + sslParams.setEndpointIdentificationAlgorithm(null); + + return HttpClient.newBuilder() + .sslContext(sslContext) + .sslParameters(sslParams) + .build(); + + } catch (java.security.NoSuchAlgorithmException | java.security.KeyManagementException e) { + throw new IllegalStateException("The insecure HttpClient couldn't be created", e); + } + } public static JSONObject fetchDataFromURL(String url, String call, String token, String projectKey) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); + HttpClient client = createUnsafeHttpClient(); String encodedProjectKey = URLEncoder.encode(projectKey, StandardCharsets.UTF_8); String fullURL = String.format("%s%s%s", url, call, encodedProjectKey); + HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(fullURL)) .header("Authorization", "Bearer " + token) .build(); - + + HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); JSONObject json = new JSONObject(response.body()); @@ -36,7 +69,7 @@ public static JSONObject fetchDataFromURL(String url, String call, String token, if (response.statusCode() >= 200 && response.statusCode() < 300) { return json; } else { - throw new IOException("Error al obtener datos de la URL: Código de estado " + response.statusCode() + ", Cuerpo: " + response.body()); + throw new IOException("Error at obtaining data from the URL: Status Code " + response.statusCode() + ", Body: " + response.body()); } } @@ -49,14 +82,13 @@ public static void main(String[] args) throws IOException { String apiUrl = args[0]; String authToken = args[1]; String project = args[2]; - + // We create the initial pdf PDFReportWriter pdf = new PDFReportWriter(); JSONObject data = null; JSONArray dataArray = null; try { - - data = fetchDataFromURL(apiUrl, "api/navigation/component?component=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/navigation/component?component=", authToken, project); } catch (IOException | InterruptedException e) { System.err.println("Error at doing the HTTP petition: " + e.getMessage()); } @@ -115,7 +147,7 @@ public static void main(String[] args) throws IOException { data = null; try { - data = fetchDataFromURL(apiUrl, "api/measures/component?metricKeys=reliability_rating,software_quality_maintainability_rating,security_rating,security_review_rating&component=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/measures/component?metricKeys=reliability_rating,software_quality_maintainability_rating,security_rating,security_review_rating&component=", authToken, project); data = data.getJSONObject("component"); } catch (IOException | InterruptedException e) { @@ -149,7 +181,7 @@ public static void main(String[] args) throws IOException { try { - data = fetchDataFromURL(apiUrl, "api/qualitygates/project_status?projectKey=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/qualitygates/project_status?projectKey=", authToken, project); data = data.getJSONObject("projectStatus"); } catch (IOException | InterruptedException e) { @@ -166,7 +198,7 @@ public static void main(String[] args) throws IOException { try { - data = fetchDataFromURL(apiUrl, "api/measures/component?metricKeys=duplicated_lines_density,comment_lines_density,ncloc,complexity,cognitive_complexity,coverage&component=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/measures/component?metricKeys=duplicated_lines_density,comment_lines_density,ncloc,complexity,cognitive_complexity,coverage&component=", authToken, project); data = data.getJSONObject("component"); } catch (IOException | InterruptedException e) { @@ -185,6 +217,7 @@ public static void main(String[] args) throws IOException { metricIndex.put("cognitive_complexity", 5); measuresList = data.getJSONArray("measures"); measures = new String[6]; + Arrays.fill(measures, "0"); for (int i = 0; i < measuresList.length(); i++) { JSONObject measure = measuresList.getJSONObject(i); @@ -211,7 +244,7 @@ public static void main(String[] args) throws IOException { try { - data = fetchDataFromURL(apiUrl, "api/measures/component?metricKeys=duplicated_lines_density,comment_lines_density,ncloc,complexity,cognitive_complexity,coverage&component=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/measures/component?metricKeys=duplicated_lines_density,comment_lines_density,ncloc,complexity,cognitive_complexity,coverage&component=", authToken, project); data = data.getJSONObject("component"); } catch (IOException | InterruptedException e) { @@ -256,7 +289,7 @@ public static void main(String[] args) throws IOException { try { - data = fetchDataFromURL(apiUrl, "api/measures/component?metricKeys=reliability_remediation_effort,security_remediation_effort,sqale_index&component=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/measures/component?metricKeys=reliability_remediation_effort,security_remediation_effort,sqale_index&component=", authToken, project); data = data.getJSONObject("component"); } catch (IOException | InterruptedException e) { @@ -298,7 +331,7 @@ public static void main(String[] args) throws IOException { try { - data = fetchDataFromURL(apiUrl, "api/measures/component?metricKeys=ncloc_language_distribution&component=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/measures/component?metricKeys=ncloc_language_distribution&component=", authToken, project); data = data.getJSONObject("component"); } catch (IOException | InterruptedException e) { @@ -334,7 +367,7 @@ public static void main(String[] args) throws IOException { try { - data = fetchDataFromURL(apiUrl, "api/security_reports/show?standard=sonarsourceSecurity&project=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/security_reports/show?standard=sonarsourceSecurity&project=", authToken, project); dataArray = data.getJSONArray("categories"); } catch (IOException | InterruptedException e) { @@ -405,7 +438,7 @@ public static void main(String[] args) throws IOException { while ((pageIndex - 1) * 500 < total) { data = fetchDataFromURL( apiUrl, - String.format("api/hotspots/search?status=TO_REVIEW&ps=500&pageIndex=%d&project=", pageIndex), + String.format("/api/hotspots/search?status=TO_REVIEW&ps=500&pageIndex=%d&project=", pageIndex), authToken, project ); @@ -485,7 +518,7 @@ public static void main(String[] args) throws IOException { try { - data = fetchDataFromURL(apiUrl, "api/issues/search?types=BUG&facets=severities&componentKeys=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/issues/search?types=BUG&facets=severities&componentKeys=", authToken, project); } catch (IOException | InterruptedException e) { System.err.println("Error at doing the HTTP petition: " + e.getMessage()); @@ -497,7 +530,7 @@ public static void main(String[] args) throws IOException { try { - data = fetchDataFromURL(apiUrl, "api/issues/search?types=VULNERABILITY&facets=severities&componentKeys=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/issues/search?types=VULNERABILITY&facets=severities&componentKeys=", authToken, project); } catch (IOException | InterruptedException e) { System.err.println("Error at doing the HTTP petition: " + e.getMessage()); @@ -509,7 +542,7 @@ public static void main(String[] args) throws IOException { try { - data = fetchDataFromURL(apiUrl, "api/issues/search?types=CODE_SMELL&facets=severities&componentKeys=", authToken, project); + data = fetchDataFromURL(apiUrl, "/api/issues/search?types=CODE_SMELL&facets=severities&componentKeys=", authToken, project); } catch (IOException | InterruptedException e) { System.err.println("Error at doing the HTTP petition: " + e.getMessage()); @@ -532,7 +565,7 @@ public static void main(String[] args) throws IOException { while ((pageIndex - 1) * 500 < total) { data = fetchDataFromURL( apiUrl, - String.format("api/issues/search?issueStatuses=OPEN&ps=500&pageIndex=%d&componentKeys=", pageIndex), + String.format("/api/issues/search?issueStatuses=OPEN&ps=500&pageIndex=%d&componentKeys=", pageIndex), authToken, project ); diff --git a/pdf-generator/src/main/java/com/bi/PDFReportWriter.java:Zone.Identifier b/pdf-generator/src/main/java/com/bi/PDFReportWriter.java:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/fonts/CourierPrime-Bold.ttf:Zone.Identifier b/pdf-generator/src/main/resources/fonts/CourierPrime-Bold.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/fonts/CourierPrime-BoldItalic.ttf:Zone.Identifier b/pdf-generator/src/main/resources/fonts/CourierPrime-BoldItalic.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/fonts/CourierPrime-BoldItalic.ttf:Zone.Identifier:Zone.Identifier b/pdf-generator/src/main/resources/fonts/CourierPrime-BoldItalic.ttf:Zone.Identifier:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/fonts/CourierPrime-Italic.ttf:Zone.Identifier b/pdf-generator/src/main/resources/fonts/CourierPrime-Italic.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/fonts/CourierPrime-Italic.ttf:Zone.Identifier:Zone.Identifier b/pdf-generator/src/main/resources/fonts/CourierPrime-Italic.ttf:Zone.Identifier:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/fonts/CourierPrime-Regular.ttf:Zone.Identifier b/pdf-generator/src/main/resources/fonts/CourierPrime-Regular.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/fonts/CourierPrime-Regular.ttf:Zone.Identifier:Zone.Identifier b/pdf-generator/src/main/resources/fonts/CourierPrime-Regular.ttf:Zone.Identifier:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/fonts/CrimsonPro-Bold.ttf:Zone.Identifier b/pdf-generator/src/main/resources/fonts/CrimsonPro-Bold.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/fonts/CrimsonPro-Regular.ttf:Zone.Identifier b/pdf-generator/src/main/resources/fonts/CrimsonPro-Regular.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/src/main/resources/sonarqube-pngrepo-com.png:Zone.Identifier b/pdf-generator/src/main/resources/sonarqube-pngrepo-com.png:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/GenerateCNESReport.class b/pdf-generator/target/classes/GenerateCNESReport.class deleted file mode 100644 index b8f6fce..0000000 Binary files a/pdf-generator/target/classes/GenerateCNESReport.class and /dev/null differ diff --git a/pdf-generator/target/classes/GenerateCNESReport.class:Zone.Identifier b/pdf-generator/target/classes/GenerateCNESReport.class:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/PDFReportWriter$Bookmark.class b/pdf-generator/target/classes/PDFReportWriter$Bookmark.class deleted file mode 100644 index 48fecf3..0000000 Binary files a/pdf-generator/target/classes/PDFReportWriter$Bookmark.class and /dev/null differ diff --git a/pdf-generator/target/classes/PDFReportWriter$Bookmark.class:Zone.Identifier b/pdf-generator/target/classes/PDFReportWriter$Bookmark.class:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/PDFReportWriter$NumberedBookmark.class b/pdf-generator/target/classes/PDFReportWriter$NumberedBookmark.class deleted file mode 100644 index 36e73c2..0000000 Binary files a/pdf-generator/target/classes/PDFReportWriter$NumberedBookmark.class and /dev/null differ diff --git a/pdf-generator/target/classes/PDFReportWriter$NumberedBookmark.class:Zone.Identifier b/pdf-generator/target/classes/PDFReportWriter$NumberedBookmark.class:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/PDFReportWriter.class b/pdf-generator/target/classes/PDFReportWriter.class deleted file mode 100644 index 2cfaa46..0000000 Binary files a/pdf-generator/target/classes/PDFReportWriter.class and /dev/null differ diff --git a/pdf-generator/target/classes/PDFReportWriter.class:Zone.Identifier b/pdf-generator/target/classes/PDFReportWriter.class:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/fonts/CourierPrime-Bold.ttf b/pdf-generator/target/classes/fonts/CourierPrime-Bold.ttf deleted file mode 100644 index 7e6b222..0000000 Binary files a/pdf-generator/target/classes/fonts/CourierPrime-Bold.ttf and /dev/null differ diff --git a/pdf-generator/target/classes/fonts/CourierPrime-Bold.ttf:Zone.Identifier b/pdf-generator/target/classes/fonts/CourierPrime-Bold.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/fonts/CourierPrime-BoldItalic.ttf:Zone.Identifier b/pdf-generator/target/classes/fonts/CourierPrime-BoldItalic.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/fonts/CourierPrime-BoldItalic.ttf:Zone.Identifier:Zone.Identifier b/pdf-generator/target/classes/fonts/CourierPrime-BoldItalic.ttf:Zone.Identifier:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/fonts/CourierPrime-Italic.ttf:Zone.Identifier b/pdf-generator/target/classes/fonts/CourierPrime-Italic.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/fonts/CourierPrime-Italic.ttf:Zone.Identifier:Zone.Identifier b/pdf-generator/target/classes/fonts/CourierPrime-Italic.ttf:Zone.Identifier:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/fonts/CourierPrime-Regular.ttf b/pdf-generator/target/classes/fonts/CourierPrime-Regular.ttf deleted file mode 100644 index 4af1ff5..0000000 Binary files a/pdf-generator/target/classes/fonts/CourierPrime-Regular.ttf and /dev/null differ diff --git a/pdf-generator/target/classes/fonts/CourierPrime-Regular.ttf:Zone.Identifier b/pdf-generator/target/classes/fonts/CourierPrime-Regular.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/fonts/CourierPrime-Regular.ttf:Zone.Identifier:Zone.Identifier b/pdf-generator/target/classes/fonts/CourierPrime-Regular.ttf:Zone.Identifier:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/fonts/CrimsonPro-Bold.ttf b/pdf-generator/target/classes/fonts/CrimsonPro-Bold.ttf deleted file mode 100644 index fef1d4b..0000000 Binary files a/pdf-generator/target/classes/fonts/CrimsonPro-Bold.ttf and /dev/null differ diff --git a/pdf-generator/target/classes/fonts/CrimsonPro-Bold.ttf:Zone.Identifier b/pdf-generator/target/classes/fonts/CrimsonPro-Bold.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/fonts/CrimsonPro-Regular.ttf b/pdf-generator/target/classes/fonts/CrimsonPro-Regular.ttf deleted file mode 100644 index 5af0847..0000000 Binary files a/pdf-generator/target/classes/fonts/CrimsonPro-Regular.ttf and /dev/null differ diff --git a/pdf-generator/target/classes/fonts/CrimsonPro-Regular.ttf:Zone.Identifier b/pdf-generator/target/classes/fonts/CrimsonPro-Regular.ttf:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/classes/sonarqube-pngrepo-com.png b/pdf-generator/target/classes/sonarqube-pngrepo-com.png deleted file mode 100644 index 74ef9b4..0000000 Binary files a/pdf-generator/target/classes/sonarqube-pngrepo-com.png and /dev/null differ diff --git a/pdf-generator/target/classes/sonarqube-pngrepo-com.png:Zone.Identifier b/pdf-generator/target/classes/sonarqube-pngrepo-com.png:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/maven-archiver/pom.properties b/pdf-generator/target/maven-archiver/pom.properties deleted file mode 100644 index db0e55b..0000000 --- a/pdf-generator/target/maven-archiver/pom.properties +++ /dev/null @@ -1,5 +0,0 @@ -#Generated by Maven -#Tue May 13 09:54:58 CEST 2025 -groupId=com.bi -artifactId=pdf-generator -version=1.0-SNAPSHOT diff --git a/pdf-generator/target/maven-archiver/pom.properties:Zone.Identifier b/pdf-generator/target/maven-archiver/pom.properties:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index cb0d222..0000000 --- a/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,4 +0,0 @@ -GenerateCNESReport.class -PDFReportWriter$NumberedBookmark.class -PDFReportWriter$Bookmark.class -PDFReportWriter.class diff --git a/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst:Zone.Identifier b/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 919ccea..0000000 --- a/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,2 +0,0 @@ -/home/marc/Projects/SONARCISOC/GeneratePDF/pdf-generator/src/main/java/com/bi/PDFReportWriter.java -/home/marc/Projects/SONARCISOC/GeneratePDF/pdf-generator/src/main/java/com/bi/GenerateCNESReport.java diff --git a/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst:Zone.Identifier b/pdf-generator/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/pdf-generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst:Zone.Identifier b/pdf-generator/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/pdf-generator-1.0-SNAPSHOT-jar-with-dependencies.jar b/pdf-generator/target/pdf-generator-1.0-SNAPSHOT-jar-with-dependencies.jar deleted file mode 100644 index cc4a69b..0000000 Binary files a/pdf-generator/target/pdf-generator-1.0-SNAPSHOT-jar-with-dependencies.jar and /dev/null differ diff --git a/pdf-generator/target/pdf-generator-1.0-SNAPSHOT-jar-with-dependencies.jar:Zone.Identifier b/pdf-generator/target/pdf-generator-1.0-SNAPSHOT-jar-with-dependencies.jar:Zone.Identifier deleted file mode 100644 index e69de29..0000000 diff --git a/pdf-generator/target/pdf-generator-1.0-SNAPSHOT.jar b/pdf-generator/target/pdf-generator-1.0-SNAPSHOT.jar deleted file mode 100644 index 66769a6..0000000 Binary files a/pdf-generator/target/pdf-generator-1.0-SNAPSHOT.jar and /dev/null differ diff --git a/pdf-generator/target/pdf-generator-1.0-SNAPSHOT.jar:Zone.Identifier b/pdf-generator/target/pdf-generator-1.0-SNAPSHOT.jar:Zone.Identifier deleted file mode 100644 index e69de29..0000000