update build for stable codeql run

This commit is contained in:
Jörg Prante 2022-11-07 23:13:54 +01:00
parent 1232b799cd
commit 9dd9a097c7
6 changed files with 56 additions and 59 deletions

View file

@ -1,24 +1,12 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL" name: "CodeQL"
on: on:
push: push:
branches: [ "main" ] branches: [ "main" ]
pull_request: pull_request:
# The branches below must be a subset of the branches above
branches: [ "main" ] branches: [ "main" ]
schedule: schedule:
- cron: '42 4 * * 3' - cron: '16 16 * * 4'
jobs: jobs:
analyze: analyze:
@ -33,8 +21,6 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
language: [ 'java' ] language: [ 'java' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps: steps:
- name: Checkout repository - name: Checkout repository
@ -43,36 +29,18 @@ jobs:
- name: Setup Java JDK - name: Setup Java JDK
uses: actions/setup-java@v3.5.1 uses: actions/setup-java@v3.5.1
with: with:
distribution: 'temurin' distribution: 'zulu'
java-version: '17' java-version: '17'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v2 uses: github/codeql-action/init@v2
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - name: Build
# queries: security-extended,security-and-quality run: |
./gradlew --version
./gradlew build --no-build-cache
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2 uses: github/codeql-action/analyze@v2

View file

@ -1,7 +1,8 @@
plugins { plugins {
id "de.marcphilipp.nexus-publish" version "0.4.0" id "de.marcphilipp.nexus-publish" version "0.4.0"
id "io.codearte.nexus-staging" version "0.21.1" id "io.codearte.nexus-staging" version "0.21.1"
id "org.xbib.gradle.plugin.asciidoctor" version "2.5.2.0" id "org.xbib.gradle.plugin.asciidoctor" version "2.5.2.2"
id "org.cyclonedx.bom" version "1.7.2"
id "com.github.spotbugs" version "5.0.3" id "com.github.spotbugs" version "5.0.3"
id "pmd" id "pmd"
id "checkstyle" id "checkstyle"
@ -28,14 +29,15 @@ ext {
} }
subprojects { subprojects {
apply plugin: 'java-library'
apply from: rootProject.file('gradle/ide/idea.gradle') apply from: rootProject.file('gradle/ide/idea.gradle')
apply from: rootProject.file('gradle/compile/java.gradle') apply from: rootProject.file('gradle/compile/java.gradle')
apply from: rootProject.file('gradle/test/junit5.gradle') apply from: rootProject.file('gradle/test/junit5.gradle')
apply from: rootProject.file('gradle/repositories/maven.gradle') apply from: rootProject.file('gradle/repositories/maven.gradle')
apply from: rootProject.file('gradle/quality/spotbugs.gradle')
apply from: rootProject.file('gradle/quality/checkstyle.gradle') apply from: rootProject.file('gradle/quality/checkstyle.gradle')
apply from: rootProject.file('gradle/quality/pmd.gradle') apply from: rootProject.file('gradle/quality/pmd.gradle')
apply from: rootProject.file('gradle/quality/spotbugs.gradle')
apply from: rootProject.file('gradle/publishing/publication.gradle') apply from: rootProject.file('gradle/publishing/publication.gradle')
} }
apply from: rootProject.file('gradle/publishing/sonatype.gradle') apply from: rootProject.file('gradle/publishing/sonatype.gradle')
apply from: rootProject.file('gradle/quality/cyclonedx.gradle')

View file

@ -37,8 +37,10 @@ artifacts {
tasks.withType(JavaCompile) { tasks.withType(JavaCompile) {
options.compilerArgs << '-Xlint:all' options.compilerArgs << '-Xlint:all'
options.encoding = 'UTF-8'
} }
javadoc { tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('Xdoclint:none', '-quiet')
options.encoding = 'UTF-8'
} }

View file

@ -0,0 +1,11 @@
cyclonedxBom {
includeConfigs = [ 'runtimeClasspath' ]
skipConfigs = [ 'compileClasspath', 'testCompileClasspath' ]
projectType = "library"
schemaVersion = "1.4"
destination = file("build/reports")
outputName = "bom"
outputFormat = "json"
includeBomSerialNumber = true
componentVersion = "2.0.0"
}

View file

@ -1,8 +1,8 @@
apply plugin: 'pmd' apply plugin: 'pmd'
pmd { pmd {
toolVersion = "6.41.0"
ignoreFailures = true ignoreFailures = true
consoleOutput = false consoleOutput = false
toolVersion = "6.41.0" ruleSetFiles = rootProject.files('gradle/quality/pmd/category/java/bestpractices.xml')
ruleSetFiles = rootProject.files('gradle/config/pmd/category/java/bestpractices.xml')
} }

View file

@ -1,3 +1,17 @@
pluginManagement {
repositories {
mavenLocal()
mavenCentral {
metadataSources {
mavenPom()
artifact()
ignoreGradleMetadataRedirection()
}
}
gradlePluginPortal()
}
}
dependencyResolutionManagement { dependencyResolutionManagement {
versionCatalogs { versionCatalogs {
libs { libs {
@ -21,7 +35,7 @@ dependencyResolutionManagement {
library('datastructures-yaml-tiny', 'org.xbib', 'datastructures-yaml-tiny').versionRef('datastructures') library('datastructures-yaml-tiny', 'org.xbib', 'datastructures-yaml-tiny').versionRef('datastructures')
library('mockito-core', 'org.mockito', 'mockito-core').version('4.6.1') library('mockito-core', 'org.mockito', 'mockito-core').version('4.6.1')
library('mockito-inline', 'org.mockito', 'mockito-inline').version('4.6.1') library('mockito-inline', 'org.mockito', 'mockito-inline').version('4.6.1')
library('net', 'org.xbib', 'net').version('3.0.0') library('net', 'org.xbib', 'net').version('3.0.1')
library('woodstox', 'com.fasterxml.woodstox', 'woodstox-core').version('6.3.0') library('woodstox', 'com.fasterxml.woodstox', 'woodstox-core').version('6.3.0')
library('snakeyaml', 'org.yaml', 'snakeyaml').version('1.30') library('snakeyaml', 'org.yaml', 'snakeyaml').version('1.30')
} }