diff --git a/HIRS_AttestationCA/build.gradle b/HIRS_AttestationCA/build.gradle index 30f6e415..e1cd78ba 100644 --- a/HIRS_AttestationCA/build.gradle +++ b/HIRS_AttestationCA/build.gradle @@ -2,6 +2,7 @@ plugins { id 'java' id 'io.spring.dependency-management' version '1.1.0' id 'com.google.protobuf' version '0.9.4' + id 'checkstyle' } java { @@ -57,7 +58,28 @@ dependencies { implementation libs.lombok annotationProcessor libs.lombok } - +checkstyle { + toolVersion = '10.12.7' + configFile file("${rootDir}/config/checkstyle/checkstyle.xml") +} +// https://github.com/checkstyle/checkstyle/issues/14211#issuecomment-1884129948 +configurations.checkstyle { + resolutionStrategy.capabilitiesResolution.withCapability("com.google.collections:google-collections") { + select("com.google.guava:guava:0") + } +} +checkstyleMain { + source ='src/main/java' +} +checkstyleTest { + source ='src/test/java' +} +tasks.withType(Checkstyle) { + reports { + xml.required = false + html.required = true + } +} protobuf { protoc { artifact = 'com.google.protobuf:protoc:3.24.3' diff --git a/HIRS_AttestationCAPortal/build.gradle b/HIRS_AttestationCAPortal/build.gradle index 9a15645c..d233e301 100644 --- a/HIRS_AttestationCAPortal/build.gradle +++ b/HIRS_AttestationCAPortal/build.gradle @@ -5,6 +5,7 @@ plugins { id 'com.netflix.nebula.ospackage' version '11.4.0' id 'org.springframework.boot' version '3.0.6' id 'io.spring.dependency-management' version '1.1.0' + id 'checkstyle' } // Get version from main project gradle @@ -59,6 +60,29 @@ dependencies { testImplementation 'org.hsqldb:hsqldb' } +checkstyle { + toolVersion = '10.12.7' + configFile file("${rootDir}/config/checkstyle/checkstyle.xml") +} +// https://github.com/checkstyle/checkstyle/issues/14211#issuecomment-1884129948 +configurations.checkstyle { + resolutionStrategy.capabilitiesResolution.withCapability("com.google.collections:google-collections") { + select("com.google.guava:guava:0") + } +} +checkstyleMain { + source ='src/main/java' +} +checkstyleTest { + source ='src/test/java' +} +tasks.withType(Checkstyle) { + reports { + xml.required = false + html.required = true + } +} + test { useJUnitPlatform() } diff --git a/HIRS_AttestationCAPortal/config/checkstyle/suppressions.xml b/HIRS_AttestationCAPortal/config/checkstyle/suppressions.xml deleted file mode 100644 index ec0b37b0..00000000 --- a/HIRS_AttestationCAPortal/config/checkstyle/suppressions.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/HIRS_Structs/build.gradle b/HIRS_Structs/build.gradle index ef56dcc8..087653ea 100644 --- a/HIRS_Structs/build.gradle +++ b/HIRS_Structs/build.gradle @@ -1,6 +1,6 @@ plugins { id 'java' -// id 'checkstyle' + id 'checkstyle' } java { @@ -28,17 +28,29 @@ test { useJUnitPlatform() } -//ext.configDir = new File(projectDir, 'config') -//ext.checkstyleConfigDir = "$configDir/checkstyle" +checkstyle { + toolVersion = '10.12.7' + configFile file("${rootDir}/config/checkstyle/checkstyle.xml") +} +// https://github.com/checkstyle/checkstyle/issues/14211#issuecomment-1884129948 +configurations.checkstyle { + resolutionStrategy.capabilitiesResolution.withCapability("com.google.collections:google-collections") { + select("com.google.guava:guava:0") + } +} +checkstyleMain { + source ='src/main/java' +} +checkstyleTest { + source ='src/test/java' +} +tasks.withType(Checkstyle) { + reports { + xml.required = false + html.required = true + } +} -//checkstyle { -// toolVersion = '5.7' -// configFile = checkstyleConfigFile -// configProperties.put('basedir', checkstyleConfigDir) -// ignoreFailures = false -// showViolations = true -//} -// //publishing { // publications { // maven(MavenPublication) { diff --git a/HIRS_Structs/config/checkstyle/suppressions.xml b/HIRS_Structs/config/checkstyle/suppressions.xml deleted file mode 100644 index ec0b37b0..00000000 --- a/HIRS_Structs/config/checkstyle/suppressions.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/HIRS_Utils/build.gradle b/HIRS_Utils/build.gradle index 366c27b9..100af334 100644 --- a/HIRS_Utils/build.gradle +++ b/HIRS_Utils/build.gradle @@ -1,5 +1,6 @@ plugins { id 'java' + id 'checkstyle' } // Get version from main project gradle def packVersion = properties.get("packageVersion"); @@ -54,6 +55,29 @@ dependencies { } +checkstyle { + toolVersion = '10.12.7' + configFile file("${rootDir}/config/checkstyle/checkstyle.xml") +} +// https://github.com/checkstyle/checkstyle/issues/14211#issuecomment-1884129948 +configurations.checkstyle { + resolutionStrategy.capabilitiesResolution.withCapability("com.google.collections:google-collections") { + select("com.google.guava:guava:0") + } +} +checkstyleMain { + source ='src/main/java' +} +checkstyleTest { + source ='src/test/java' +} +tasks.withType(Checkstyle) { + reports { + xml.required = false + html.required = true + } +} + test { useJUnitPlatform() } diff --git a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiBootVariable.java b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiBootVariable.java index 0a29eeda..15fb8d78 100644 --- a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiBootVariable.java +++ b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiBootVariable.java @@ -59,11 +59,14 @@ public class UefiBootVariable { System.arraycopy(bootVar, UefiConstants.OFFSET_6, blob, 0, blobLength); int descLength = getChar16ArrayLength(blob); byte[] desc = new byte[descLength * UefiConstants.SIZE_2]; - System.arraycopy(bootVar, UefiConstants.OFFSET_6, desc, 0, descLength * UefiConstants.SIZE_2); - description = new String(UefiDevicePath.convertChar16tobyteArray(desc), StandardCharsets.UTF_8); + System.arraycopy(bootVar, UefiConstants.OFFSET_6, desc, 0, + descLength * UefiConstants.SIZE_2); + description = new String(UefiDevicePath.convertChar16tobyteArray(desc), + StandardCharsets.UTF_8); // Data following the Description should be EFI Partition Data (EFI_DEVICE_PATH_PROTOCOL) int devPathLength = blobLength; - int devPathOffset = UefiConstants.OFFSET_6 + descLength; //attributes+bloblength+desc+length+2 + //attributes+bloblength+desc+length+2 + int devPathOffset = UefiConstants.OFFSET_6 + descLength; byte[] devPath = new byte[devPathLength]; System.arraycopy(bootVar, devPathOffset, devPath, 0, devPathLength); efiDevPath = new UefiDevicePath(devPath); @@ -79,7 +82,8 @@ public class UefiBootVariable { */ public String toString() { StringBuilder bootInfo = new StringBuilder("Description = "); - String bootVar = description.replaceAll("[^a-zA-Z_0-0\\s]", ""); // remove all non ascii chars + // remove all non ascii chars + String bootVar = description.replaceAll("[^a-zA-Z_0-0\\s]", ""); bootInfo.append(bootVar + "\n" + efiDevPath.toString()); return bootInfo.toString(); } diff --git a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiDevicePath.java b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiDevicePath.java index 81ecc69e..adcec477 100644 --- a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiDevicePath.java +++ b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiDevicePath.java @@ -255,15 +255,19 @@ public class UefiDevicePath { private String hardDriveSubType(final byte[] path, final int offset) { subType = "Partition Number = "; byte[] partnumber = new byte[UefiConstants.SIZE_4]; - System.arraycopy(path, UefiConstants.OFFSET_4 + offset, partnumber, 0, UefiConstants.SIZE_4); + System.arraycopy(path, UefiConstants.OFFSET_4 + offset, partnumber, + 0, UefiConstants.SIZE_4); subType += HexUtils.byteArrayToHexString(partnumber); byte[] data = new byte[UefiConstants.SIZE_8]; - System.arraycopy(path, UefiConstants.OFFSET_8 + offset, data, 0, UefiConstants.SIZE_8); + System.arraycopy(path, UefiConstants.OFFSET_8 + offset, data, 0, + UefiConstants.SIZE_8); subType += " Partition Start = " + HexUtils.byteArrayToHexString(data); - System.arraycopy(path, UefiConstants.OFFSET_16 + offset, data, 0, UefiConstants.SIZE_8); + System.arraycopy(path, UefiConstants.OFFSET_16 + offset, data, 0, + UefiConstants.SIZE_8); subType += " Partition Size = " + HexUtils.byteArrayToHexString(data); byte[] signature = new byte[UefiConstants.SIZE_16]; - System.arraycopy(path, UefiConstants.OFFSET_24 + offset, signature, 0, UefiConstants.SIZE_16); + System.arraycopy(path, UefiConstants.OFFSET_24 + offset, signature, 0, + UefiConstants.SIZE_16); subType += "\n Partition Signature = "; if (path[UefiConstants.OFFSET_41 + offset] == UefiConstants.DRIVE_SIG_NONE) { subType += "None"; @@ -299,7 +303,8 @@ public class UefiDevicePath { System.arraycopy(path, 2 + offset, lengthBytes, 0, UefiConstants.SIZE_2); int subTypeLength = HexUtils.leReverseInt(lengthBytes); byte[] filePath = new byte[subTypeLength]; - System.arraycopy(path, UefiConstants.OFFSET_4 + offset, filePath, 0, subTypeLength); + System.arraycopy(path, UefiConstants.OFFSET_4 + offset, filePath, + 0, subTypeLength); byte[] fileName = convertChar16tobyteArray(filePath); subType += new String(fileName, StandardCharsets.UTF_8); return subType; @@ -318,10 +323,12 @@ public class UefiDevicePath { private String vendorSubType(final byte[] path, final int offset) { subType = "Vendor Subtype GUID = "; byte[] lengthBytes = new byte[UefiConstants.SIZE_2]; - System.arraycopy(path, UefiConstants.OFFSET_2 + offset, lengthBytes, 0, UefiConstants.SIZE_2); + System.arraycopy(path, UefiConstants.OFFSET_2 + offset, lengthBytes, + 0, UefiConstants.SIZE_2); int subTypeLength = HexUtils.leReverseInt(lengthBytes); byte[] guidData = new byte[UefiConstants.SIZE_16]; - System.arraycopy(path, UefiConstants.OFFSET_4 + offset, guidData, 0, UefiConstants.SIZE_16); + System.arraycopy(path, UefiConstants.OFFSET_4 + offset, guidData, + 0, UefiConstants.SIZE_16); UefiGuid guid = new UefiGuid(guidData); subType += guid.toString() + " "; if (subTypeLength - UefiConstants.SIZE_16 > 0) { @@ -348,10 +355,12 @@ public class UefiDevicePath { subType += " port = " + Integer.valueOf(path[offset + UefiConstants.OFFSET_4]); subType += " interface = " + Integer.valueOf(path[offset + UefiConstants.OFFSET_5]); byte[] lengthBytes = new byte[UefiConstants.SIZE_2]; - System.arraycopy(path, UefiConstants.OFFSET_2 + offset, lengthBytes, 0, UefiConstants.SIZE_2); + System.arraycopy(path, UefiConstants.OFFSET_2 + offset, lengthBytes, + 0, UefiConstants.SIZE_2); int subTypeLength = HexUtils.leReverseInt(lengthBytes); byte[] usbData = new byte[subTypeLength]; - System.arraycopy(path, UefiConstants.OFFSET_4 + offset, usbData, 0, subTypeLength); + System.arraycopy(path, UefiConstants.OFFSET_4 + offset, usbData, + 0, subTypeLength); // Todo add further USB processing ... return subType; } @@ -370,10 +379,12 @@ public class UefiDevicePath { private String nvmSubType(final byte[] path, final int offset) { subType = "NVM Express Namespace = "; byte[] lengthBytes = new byte[UefiConstants.SIZE_2]; - System.arraycopy(path, UefiConstants.OFFSET_2 + offset, lengthBytes, 0, UefiConstants.SIZE_2); + System.arraycopy(path, UefiConstants.OFFSET_2 + offset, lengthBytes, + 0, UefiConstants.SIZE_2); int subTypeLength = HexUtils.leReverseInt(lengthBytes); byte[] nvmData = new byte[subTypeLength]; - System.arraycopy(path, UefiConstants.OFFSET_4 + offset, nvmData, 0, subTypeLength); + System.arraycopy(path, UefiConstants.OFFSET_4 + offset, nvmData, + 0, subTypeLength); subType += HexUtils.byteArrayToHexString(nvmData); return subType; } @@ -385,6 +396,7 @@ public class UefiDevicePath { * Status bootHandler pointer, and description String pointer are ignored. * * @param path byte array holding the device path. + * @param offset * @return String that represents the UEFI defined BIOS Device Type. */ private String biosDevicePath(final byte[] path, final int offset) { @@ -436,7 +448,8 @@ public class UefiDevicePath { private String piwgFirmVolFile(final byte[] path, final int offset) { subType = "PIWG Firmware File "; byte[] guidData = new byte[UefiConstants.SIZE_16]; - System.arraycopy(path, UefiConstants.OFFSET_4 + offset, guidData, 0, UefiConstants.SIZE_16); + System.arraycopy(path, UefiConstants.OFFSET_4 + offset, guidData, + 0, UefiConstants.SIZE_16); UefiGuid guid = new UefiGuid(guidData); subType += guid.toString(); return subType; @@ -455,7 +468,8 @@ public class UefiDevicePath { private String piwgFirmVolPath(final byte[] path, final int offset) { subType = "PIWG Firmware Volume "; byte[] guidData = new byte[UefiConstants.SIZE_16]; - System.arraycopy(path, UefiConstants.OFFSET_4 + offset, guidData, 0, UefiConstants.SIZE_16); + System.arraycopy(path, UefiConstants.OFFSET_4 + offset, guidData, + 0, UefiConstants.SIZE_16); UefiGuid guid = new UefiGuid(guidData); subType += guid.toString(); return subType; diff --git a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiGuid.java b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiGuid.java index 6c63ee2e..188f4327 100644 --- a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiGuid.java +++ b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiGuid.java @@ -65,6 +65,8 @@ public class UefiGuid { * Converts a GUID with a byte array to a RFC-1422 UUID object. * Assumes a MS format and converts to Big Endian format used by most others , including Linux * Matched uuids found in /sys/firmware/efi/efivars on Centos 7. + * @param guid byte array holding the guid data. + * @return UUID processed from the passed in guid */ private static UUID processGuid(final byte[] guid) { byte[] msb1 = new byte[UefiConstants.SIZE_4]; @@ -181,10 +183,10 @@ public class UefiGuid { /** * Retrieves the timestamp within a time based GUID. * - * @param uuid uuid object + * @param uuidTimeStamp uuid object * @return long representing the time stamp from the GUID */ - public long getTimeFromUUID(final UUID uuid) { - return (uuid.timestamp() - UUID_EPOCH_INTERVALS) / UUID_EPOCH_DIVISOR; + public long getTimeFromUUID(final UUID uuidTimeStamp) { + return (uuidTimeStamp.timestamp() - UUID_EPOCH_INTERVALS) / UUID_EPOCH_DIVISOR; } } diff --git a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiPartition.java b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiPartition.java index 6d15c032..994ac205 100644 --- a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiPartition.java +++ b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiPartition.java @@ -49,7 +49,8 @@ public class UefiPartition { System.arraycopy(table, 0, partitionGuidBytes, 0, UefiConstants.SIZE_16); partitionTypeGUID = new UefiGuid(partitionGuidBytes); byte[] uniquePartGuidBytes = new byte[UefiConstants.SIZE_16]; - System.arraycopy(table, UefiConstants.SIZE_16, uniquePartGuidBytes, 0, UefiConstants.SIZE_16); + System.arraycopy(table, UefiConstants.SIZE_16, uniquePartGuidBytes, + 0, UefiConstants.SIZE_16); uniquePartitionGUID = new UefiGuid(uniquePartGuidBytes); byte[] attributeBytes = new byte[UefiConstants.SIZE_8]; System.arraycopy(table, UefiConstants.ATTRIBUTE_LENGTH, attributeBytes, diff --git a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiSignatureData.java b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiSignatureData.java index 328bbaaa..35d21864 100644 --- a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiSignatureData.java +++ b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiSignatureData.java @@ -119,7 +119,8 @@ public class UefiSignatureData { UefiSignatureData(final byte[] data) throws CertificateException, NoSuchAlgorithmException { System.arraycopy(data, 0, guid, 0, UefiConstants.SIZE_16); sigData = new byte[data.length - UefiConstants.SIZE_16]; - System.arraycopy(data, UefiConstants.OFFSET_16, sigData, 0, data.length - UefiConstants.SIZE_16); + System.arraycopy(data, UefiConstants.OFFSET_16, sigData, 0, + data.length - UefiConstants.SIZE_16); cert = new UefiX509Cert(sigData); efiVarGuid = new UefiGuid(guid); } diff --git a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiVariable.java b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiVariable.java index b6960a88..5600cd40 100644 --- a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiVariable.java +++ b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiVariable.java @@ -61,9 +61,12 @@ public class UefiVariable { * the class used to parse the data within the "VariableData". * * @param variableData byte array holding the UEFI Variable. - * @throws java.security.cert.CertificateException If there a problem parsing the X509 certificate. - * @throws java.security.NoSuchAlgorithmException if there's a problem hashing the certificate. - * @throws java.io.IOException If there's a problem parsing the signature data. + * @throws java.security.cert.CertificateException If there a problem + * parsing the X509 certificate. + * @throws java.security.NoSuchAlgorithmException if there's a problem + * hashing the certificate. + * @throws java.io.IOException If there's a problem + * parsing the signature data. */ public UefiVariable(final byte[] variableData) throws CertificateException, NoSuchAlgorithmException, IOException { @@ -77,9 +80,11 @@ public class UefiVariable { System.arraycopy(variableData, 0, guid, 0, UefiConstants.SIZE_16); uefiVarGuid = new UefiGuid(guid); - System.arraycopy(variableData, UefiConstants.SIZE_16, nameLength, 0, UefiConstants.SIZE_8); + System.arraycopy(variableData, UefiConstants.SIZE_16, nameLength, + 0, UefiConstants.SIZE_8); int nlength = HexUtils.leReverseInt(nameLength); - System.arraycopy(variableData, UefiConstants.OFFSET_24, dataLength, 0, UefiConstants.SIZE_8); + System.arraycopy(variableData, UefiConstants.OFFSET_24, dataLength, + 0, UefiConstants.SIZE_8); nameTemp = new byte[nlength * UefiConstants.SIZE_2]; System.arraycopy(variableData, UefiConstants.OFFSET_32, @@ -120,9 +125,12 @@ public class UefiVariable { * Processes the data as a UEFI defined Signature List. * * @param data the bye array holding the Signature List. - * @throws java.security.cert.CertificateException If there a problem parsing the X509 certificate. - * @throws java.security.NoSuchAlgorithmException if there's a problem hashing the certificate. - * @throws java.io.IOException If there's a problem parsing the signature data. + * @throws java.security.cert.CertificateException If there a problem + * parsing the X509 certificate. + * @throws java.security.NoSuchAlgorithmException if there's a problem + * hashing the certificate. + * @throws java.io.IOException If there's a problem + * parsing the signature data. */ private void processSigList(final byte[] data) throws CertificateException, NoSuchAlgorithmException, IOException { @@ -168,8 +176,8 @@ public class UefiVariable { break; default: if (!tmpName.isEmpty()) { - efiVariable.append(String.format("Data not provided for UEFI variable named %s ", - tmpName)); + efiVariable.append(String.format("Data not provided for " + + "UEFI variable named %s ", tmpName)); } else { efiVariable.append("Data not provided "); } @@ -190,7 +198,8 @@ public class UefiVariable { public String printCert(final byte[] data, final int offset) { String certInfo = ""; byte[] certLength = new byte[UefiConstants.SIZE_2]; - System.arraycopy(data, offset + UefiConstants.OFFSET_2, certLength, 0, UefiConstants.SIZE_2); + System.arraycopy(data, offset + UefiConstants.OFFSET_2, certLength, + 0, UefiConstants.SIZE_2); int cLength = new BigInteger(certLength).intValue() + UefiConstants.SIZE_4; byte[] certData = new byte[cLength]; System.arraycopy(data, offset, certData, 0, cLength); diff --git a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiX509Cert.java b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiX509Cert.java index f6464dce..478aba90 100644 --- a/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiX509Cert.java +++ b/HIRS_Utils/src/main/java/hirs/utils/tpm/eventlog/uefi/UefiX509Cert.java @@ -27,7 +27,8 @@ public class UefiX509Cert { * @throws java.security.cert.CertificateException If the certificate cannot parse. * @throws java.security.NoSuchAlgorithmException if a hash cannot be generated from the cert. */ - public UefiX509Cert(final byte[] certData) throws CertificateException, NoSuchAlgorithmException { + public UefiX509Cert(final byte[] certData) throws CertificateException, + NoSuchAlgorithmException { CertificateFactory cf; cf = CertificateFactory.getInstance("X.509"); InputStream targetStream = new ByteArrayInputStream(certData); diff --git a/config/checkstyle/sun_checks.xml b/config/checkstyle/checkstyle.xml similarity index 54% rename from config/checkstyle/sun_checks.xml rename to config/checkstyle/checkstyle.xml index 61d5ad0c..503e7bab 100644 --- a/config/checkstyle/sun_checks.xml +++ b/config/checkstyle/checkstyle.xml @@ -1,77 +1,94 @@ + "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" + "https://checkstyle.org/dtds/configuration_1_3.dtd"> - + - - + + --> + + + + + + + + + + + + + - - + - - - - + + - + - + - + - + + + + + - + - + - - - - + + + + - + @@ -79,25 +96,19 @@ - - - - - - - - - - + + + + - + - + - + @@ -108,29 +119,22 @@ - - + - - + + + - - - - + - - - - - + - + @@ -142,48 +146,42 @@ - - + - - + - - - + - - - + - + - + + - - + @@ -191,4 +189,4 @@ - + \ No newline at end of file diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml new file mode 100644 index 00000000..f0a4b442 --- /dev/null +++ b/config/checkstyle/suppressions.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/tcg_eventlog_tool/build.gradle b/tools/tcg_eventlog_tool/build.gradle index f9432773..f47671b9 100644 --- a/tools/tcg_eventlog_tool/build.gradle +++ b/tools/tcg_eventlog_tool/build.gradle @@ -2,6 +2,7 @@ import java.util.concurrent.TimeUnit plugins { id "java" id "com.netflix.nebula.ospackage" version "11.4.0" + id 'checkstyle' } // Get version from main project gradle def packVersion = properties.get("packageVersion"); @@ -26,6 +27,26 @@ dependencies { ext.configDir = new File(projectDir, 'config') +checkstyle { + toolVersion = '10.12.7' + configFile file("${rootDir}/config/checkstyle/checkstyle.xml") +} +// https://github.com/checkstyle/checkstyle/issues/14211#issuecomment-1884129948 +configurations.checkstyle { + resolutionStrategy.capabilitiesResolution.withCapability("com.google.collections:google-collections") { + select("com.google.guava:guava:0") + } +} +checkstyleMain { + source ='src/main/java' +} +tasks.withType(Checkstyle) { + reports { + xml.required = false + html.required = true + } +} + jar { // Keep jar clean: exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/*.MF' diff --git a/tools/tcg_eventlog_tool/config/checkstyle/suppressions.xml b/tools/tcg_eventlog_tool/config/checkstyle/suppressions.xml deleted file mode 100644 index 1e844d8c..00000000 --- a/tools/tcg_eventlog_tool/config/checkstyle/suppressions.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - diff --git a/tools/tcg_rim_tool/build.gradle b/tools/tcg_rim_tool/build.gradle index bfd32ba3..fc39524c 100644 --- a/tools/tcg_rim_tool/build.gradle +++ b/tools/tcg_rim_tool/build.gradle @@ -2,6 +2,7 @@ plugins { id "java" id 'com.netflix.nebula.ospackage' version '11.4.0' id 'com.intershop.gradle.jaxb' version '5.1.0' + id 'checkstyle' } // Get version from main project gradle @@ -44,6 +45,26 @@ test { testLogging.showStandardStreams true } +checkstyle { + toolVersion = '10.12.7' + configFile file("${rootDir}/config/checkstyle/checkstyle.xml") +} +// https://github.com/checkstyle/checkstyle/issues/14211#issuecomment-1884129948 +configurations.checkstyle { + resolutionStrategy.capabilitiesResolution.withCapability("com.google.collections:google-collections") { + select("com.google.guava:guava:0") + } +} +checkstyleMain { + source ='src/main/java' +} +tasks.withType(Checkstyle) { + reports { + xml.required = false + html.required = true + } +} + jar { exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/*.MF' duplicatesStrategy = DuplicatesStrategy.EXCLUDE