From 1ed72efea13d334103107b3cc17b0f9db9f80502 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 12:10:33 +0200 Subject: [PATCH 01/15] Upgrade gradle wrapper --- gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 60756 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 16 +++++++++++----- gradlew.bat | 14 ++++++++------ 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..249e5832f090a2944b7473328c07c9755baa3196 100644 GIT binary patch delta 10158 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 delta 9041 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffed3a2..ae04661 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index c53aefa..a69d9cb 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -32,10 +32,10 @@ # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: # * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». # # Important for patching: # @@ -205,6 +205,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/gradlew.bat b/gradlew.bat index ac1b06f..53a6b23 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +75,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal From 2b376a232e5e47d8ee1de29783cc60ffaf2642ab Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 12:11:25 +0200 Subject: [PATCH 02/15] Cleanup scripts in readme --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 922ce0b..9812c4c 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Gradle plugin for the requirement tracing suite [OpenFastTrace](https://github.c 1. Run ```bash - $ ./gradlew traceRequirements + ./gradlew traceRequirements ``` 1. Report is written to `build/reports/tracing.txt` by default. @@ -151,13 +151,13 @@ Import into eclipse using [buildship](https://projects.eclipse.org/projects/tool ### Generate license header for added files: ```bash -$ ./gradlew licenseFormat +./gradlew licenseFormat ``` ### Check if dependencies are up-to-date ```bash -$ ./gradlew dependencyUpdates +./gradlew dependencyUpdates ``` ### Run local sonar analysis @@ -189,7 +189,7 @@ gradle.publish.secret = 1. Run ```bash - $ ./gradlew clean publishPlugins --info + ./gradlew clean publishPlugins --info ``` Plugin will be published at https://plugins.gradle.org/m2/org/itsallcode/openfasttrace/org.itsallcode.openfasttrace.gradle.plugin/ From a38e9f0f3d5c3227f52ff314cfd061809e54d69a Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 12:24:53 +0200 Subject: [PATCH 03/15] Upgrade dependencies --- build.gradle | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/build.gradle b/build.gradle index 015f071..6756f17 100644 --- a/build.gradle +++ b/build.gradle @@ -1,11 +1,11 @@ plugins { id 'java-gradle-plugin' id 'jacoco' - id 'com.gradle.plugin-publish' version '0.15.0' + id 'com.gradle.plugin-publish' version '1.0.0' id 'com.github.hierynomus.license' version '0.16.1' - id 'org.sonarqube' version '3.3' + id 'org.sonarqube' version '3.4.0.2513' id 'pl.droidsonroids.jacoco.testkit' version '1.0.9' - id 'com.github.ben-manes.versions' version '0.39.0' + id 'com.github.ben-manes.versions' version '0.42.0' } repositories { @@ -21,8 +21,8 @@ targetCompatibility = 11 ext { gradlePluginId = 'org.itsallcode.openfasttrace' - oftVersion = '3.2.1' - junitVersion = '5.7.2' + oftVersion = '3.5.0' + junitVersion = '5.9.0' if (project.hasProperty('oftSourceDir')) { oftSourceDir = file(project.oftSourceDir) useOftSources = oftSourceDir.exists() @@ -79,25 +79,20 @@ clean { propertyFiles.each { delete it } } -gradlePlugin { - plugins { - openFastTracePlugin { - id = gradlePluginId - implementationClass = 'org.itsallcode.openfasttrace.gradle.OpenFastTracePlugin' - } - } -} - pluginBundle { website = 'https://github.com/itsallcode/openfasttrace-gradle' - vcsUrl = 'https://github.com/itsallcode/openfasttrace-gradle' - description = 'Gradle plugin for tracing requirements using OpenFastTrace' + vcsUrl = 'https://github.com/itsallcode/openfasttrace-gradle.git' tags = ['requirementstracing', 'requirements', 'tracing', 'reqtracing', 'openfasttrace', 'oft'] +} +gradlePlugin { + description = 'Gradle plugin for tracing requirements using OpenFastTrace' plugins { openFastTracePlugin { id = gradlePluginId + implementationClass = 'org.itsallcode.openfasttrace.gradle.OpenFastTracePlugin' displayName = 'OpenFastTrace requirements tracing plugin' + description = 'Gradle plugin for tracing requirements using OpenFastTrace' } } } From ab02dd991a6479abc59b4210df557ad0c67f2ecf Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 12:26:57 +0200 Subject: [PATCH 04/15] Add changelog entry --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fb96d6..2429893 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,11 +8,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- Pull request [#24](https://github.com/itsallcode/openfasttrace-gradle/pull/24): +- [PR #24](https://github.com/itsallcode/openfasttrace-gradle/pull/24): - Upgrade to [OpenFastTrace 3.2.1](https://github.com/itsallcode/openfasttrace/releases/tag/3.2.1) - Upgrade other dependencies - Build and test with Java 16. Please note that Java 16 is only supported with Gradle 7.0+. -- [25](https://github.com/itsallcode/openfasttrace-gradle/pull/25): Upgrade build to Gradle 7.2, test with 7.0. +- [PR #25](https://github.com/itsallcode/openfasttrace-gradle/pull/25): Upgrade build to Gradle 7.2, test with 7.0. +- [PR #32](https://github.com/itsallcode/openfasttrace-gradle/pull/32): Upgrade dependencies ## [0.9.0] - 2021-05-30 From 65f65edf0d2c3e12f61da6d8e34d8b680876b276 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 12:28:01 +0200 Subject: [PATCH 05/15] Simplify cache configuration of workflows --- .github/workflows/build.yml | 10 +--------- .github/workflows/codeql-analysis.yml | 10 +--------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 58d8b7f..c963586 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,18 +26,10 @@ jobs: with: distribution: 'temurin' java-version: ${{ matrix.java }} + cache: 'gradle' - uses: gradle/wrapper-validation-action@v1 - - name: Cache Gradle packages and wrapper - uses: actions/cache@v3 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-java-${{ matrix.java }}-gradle-${{ hashFiles('**/*.gradle*') }} - restore-keys: ${{ runner.os }}-java-${{ matrix.java }}-gradle- - - name: Cache SonarQube packages uses: actions/cache@v3 with: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f1d848b..fd54ab0 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -24,15 +24,7 @@ jobs: with: distribution: 'temurin' java-version: 11 - - - name: Cache Gradle packages and wrapper - uses: actions/cache@v3 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} - restore-keys: ${{ runner.os }}-gradle- + cache: 'gradle' - name: Initialize CodeQL uses: github/codeql-action/init@v2 From 1be980cf8d0f761f7871c851409d43713ef739bb Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 12:28:27 +0200 Subject: [PATCH 06/15] Upgrade to Java 17 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c963586..cadc7c6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [11, 16] + java: [11, 17] env: DEFAULT_JAVA: 11 From 1d596ead0eb4347469d7bc203718e25af1a4362d Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 12:32:30 +0200 Subject: [PATCH 07/15] Fix compile error after OFT upgrade --- .../org/itsallcode/openfasttrace/gradle/task/CollectTask.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java index 2c40244..2035c5d 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java @@ -41,7 +41,6 @@ import org.itsallcode.openfasttrace.core.ExportSettings; import org.itsallcode.openfasttrace.core.Oft; import org.itsallcode.openfasttrace.core.OftRunner; -import org.itsallcode.openfasttrace.exporter.specobject.SpecobjectExporterFactory; import org.itsallcode.openfasttrace.gradle.task.config.SerializableTagPathConfig; public class CollectTask extends DefaultTask @@ -89,7 +88,7 @@ public void collectRequirements() throws IOException private ExportSettings getExportSettings() { return ExportSettings.builder() // - .outputFormat(SpecobjectExporterFactory.SUPPORTED_FORMAT) // + .outputFormat("specobject") // .newline(Newline.UNIX) // .build(); } From 98b9c338d9b4d7c3d1336bef862fd5f2528f96aa Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 12:42:48 +0200 Subject: [PATCH 08/15] Update Eclipse formatter and save actions --- .settings/org.eclipse.jdt.core.prefs | 12 ++++++++ .settings/org.eclipse.jdt.ui.prefs | 41 +++++++++++++++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 4d6d3e0..043173d 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,5 @@ eclipse.preferences.version=1 +org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull @@ -11,6 +12,7 @@ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.problem.APILeak=warning +org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.autoboxing=ignore org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning @@ -68,6 +70,7 @@ org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning @@ -104,6 +107,7 @@ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_selector_in_method_invocation_on_expression_first_line=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false org.eclipse.jdt.core.formatter.align_with_spaces=false @@ -132,6 +136,8 @@ org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_arrow=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_colon=0 org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 @@ -150,6 +156,7 @@ org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_switch_case_with_arrow=0 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_type_annotations=0 @@ -281,6 +288,7 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arg org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_permitted_types=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert @@ -373,6 +381,7 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_ar org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_permitted_types=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert @@ -456,6 +465,8 @@ org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_switch_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_switch_case_with_arrow_on_one_line=one_line_never org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never org.eclipse.jdt.core.formatter.lineSplit=100 @@ -497,5 +508,6 @@ org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_before_switch_case_arrow_operator=false org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/.settings/org.eclipse.jdt.ui.prefs b/.settings/org.eclipse.jdt.ui.prefs index 30d85ad..85eaff2 100644 --- a/.settings/org.eclipse.jdt.ui.prefs +++ b/.settings/org.eclipse.jdt.ui.prefs @@ -1,7 +1,8 @@ eclipse.preferences.version=1 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true formatter_profile=_ursusminor.de -formatter_settings_version=20 +formatter_settings_version=22 +org.eclipse.jdt.ui.text.custom_code_templates= sp_cleanup.add_all=false sp_cleanup.add_default_serial_version_id=true sp_cleanup.add_generated_serial_version_id=false @@ -16,27 +17,35 @@ sp_cleanup.always_use_blocks=true sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.array_with_curly=false sp_cleanup.arrays_fill=false sp_cleanup.bitwise_conditional_expression=false sp_cleanup.boolean_literal=false +sp_cleanup.boolean_value_rather_than_comparison=false sp_cleanup.break_loop=false sp_cleanup.collection_cloning=false +sp_cleanup.comparing_on_criteria=false sp_cleanup.comparison_statement=false +sp_cleanup.controlflow_merge=false sp_cleanup.convert_functional_interfaces=false sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false sp_cleanup.convert_to_switch_expressions=false sp_cleanup.correct_indentation=false +sp_cleanup.do_while_rather_than_while=false sp_cleanup.double_negation=false sp_cleanup.else_if=false sp_cleanup.embedded_if=false sp_cleanup.evaluate_nullable=false +sp_cleanup.extract_increment=false sp_cleanup.format_source_code=true sp_cleanup.format_source_code_changes_only=false sp_cleanup.hash=false sp_cleanup.if_condition=false sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.instanceof=false +sp_cleanup.instanceof_keyword=false +sp_cleanup.invert_equals=false sp_cleanup.join=false sp_cleanup.lazy_logical_operator=false sp_cleanup.make_local_variable_final=true @@ -46,6 +55,7 @@ sp_cleanup.make_type_abstract_if_missing_method=false sp_cleanup.make_variable_declarations_final=true sp_cleanup.map_cloning=false sp_cleanup.merge_conditional_blocks=false +sp_cleanup.multi_catch=false sp_cleanup.never_use_blocks=false sp_cleanup.never_use_parentheses_in_expressions=true sp_cleanup.no_string_creation=false @@ -53,10 +63,18 @@ sp_cleanup.no_super=false sp_cleanup.number_suffix=false sp_cleanup.objects_equals=false sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false +sp_cleanup.operand_factorization=false sp_cleanup.organize_imports=true sp_cleanup.overridden_assignment=false +sp_cleanup.overridden_assignment_move_decl=false +sp_cleanup.plain_replacement=false sp_cleanup.precompile_regex=false +sp_cleanup.primitive_comparison=false +sp_cleanup.primitive_parsing=false +sp_cleanup.primitive_rather_than_wrapper=false sp_cleanup.primitive_serialization=false +sp_cleanup.pull_out_if_from_if_else=false sp_cleanup.pull_up_assignment=false sp_cleanup.push_down_negation=false sp_cleanup.qualify_static_field_accesses_with_declaring_class=false @@ -64,6 +82,8 @@ sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true sp_cleanup.qualify_static_member_accesses_with_declaring_class=false sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.reduce_indentation=false +sp_cleanup.redundant_comparator=false sp_cleanup.redundant_falling_through_block_end=false sp_cleanup.remove_private_constructors=true sp_cleanup.remove_redundant_modifiers=false @@ -77,18 +97,35 @@ sp_cleanup.remove_unnecessary_casts=true sp_cleanup.remove_unnecessary_nls_tags=false sp_cleanup.remove_unused_imports=false sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_method_parameters=false sp_cleanup.remove_unused_private_fields=true sp_cleanup.remove_unused_private_members=false sp_cleanup.remove_unused_private_methods=true sp_cleanup.remove_unused_private_types=true +sp_cleanup.return_expression=false sp_cleanup.simplify_lambda_expression_and_method_ref=false +sp_cleanup.single_used_field=false sp_cleanup.sort_members=false sp_cleanup.sort_members_all=false +sp_cleanup.standard_comparison=false +sp_cleanup.static_inner_class=false sp_cleanup.strictly_equal_or_different=false +sp_cleanup.stringbuffer_to_stringbuilder=false sp_cleanup.stringbuilder=false +sp_cleanup.stringbuilder_for_local_vars=false +sp_cleanup.stringconcat_to_textblock=false +sp_cleanup.substring=false sp_cleanup.switch=false +sp_cleanup.system_property=false +sp_cleanup.system_property_boolean=false +sp_cleanup.system_property_file_encoding=false +sp_cleanup.system_property_file_separator=false +sp_cleanup.system_property_line_separator=false +sp_cleanup.system_property_path_separator=false sp_cleanup.ternary_operator=false sp_cleanup.try_with_resource=false +sp_cleanup.unlooped_while=false +sp_cleanup.unreachable_block=false sp_cleanup.use_anonymous_class_creation=false sp_cleanup.use_autoboxing=false sp_cleanup.use_blocks=true @@ -96,6 +133,7 @@ sp_cleanup.use_blocks_only_for_return_and_throw=false sp_cleanup.use_directly_map_method=false sp_cleanup.use_lambda=true sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_string_is_blank=false sp_cleanup.use_this_for_non_static_field_access=false sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true sp_cleanup.use_this_for_non_static_method_access=false @@ -104,3 +142,4 @@ sp_cleanup.use_unboxing=false sp_cleanup.use_var=false sp_cleanup.useless_continue=false sp_cleanup.useless_return=false +sp_cleanup.valueof_rather_than_instantiation=false From da3546da3aa1464f92275f6411ddbe83c8337a8c Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 13:04:27 +0200 Subject: [PATCH 09/15] Drop support for Gradle 6.0 --- CHANGELOG.md | 3 +++ README.md | 2 +- .../openfasttrace/gradle/GradleTestConfig.java | 13 ++++++++----- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2429893..5616e34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Build and test with Java 16. Please note that Java 16 is only supported with Gradle 7.0+. - [PR #25](https://github.com/itsallcode/openfasttrace-gradle/pull/25): Upgrade build to Gradle 7.2, test with 7.0. - [PR #32](https://github.com/itsallcode/openfasttrace-gradle/pull/32): Upgrade dependencies + - Upgrade to [OpenFastTrace 3.5.0](https://github.com/itsallcode/openfasttrace/releases/tag/3.5.0) + - Gradle 6.0 is no longer supported. + - Build and test with Java 17. Please note that Java 17 is only supported with Gradle 7.5+. ## [0.9.0] - 2021-05-30 diff --git a/README.md b/README.md index 9812c4c..b380fdd 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Gradle plugin for the requirement tracing suite [OpenFastTrace](https://github.c ## Usage -1. Preconditions: Java 11 and Gradle 6.0 +1. Preconditions: Java 11 and Gradle 7.0 1. Add plugin [`org.itsallcode.openfasttrace`](https://plugins.gradle.org/plugin/org.itsallcode.openfasttrace) to your project: ```gradle diff --git a/src/test/java/org/itsallcode/openfasttrace/gradle/GradleTestConfig.java b/src/test/java/org/itsallcode/openfasttrace/gradle/GradleTestConfig.java index 4baaf37..aa97730 100644 --- a/src/test/java/org/itsallcode/openfasttrace/gradle/GradleTestConfig.java +++ b/src/test/java/org/itsallcode/openfasttrace/gradle/GradleTestConfig.java @@ -19,18 +19,21 @@ public enum GradleTestConfig { - CURRENT_VERSION(null), SIX_ZERO("6.0"), SEVEN_ZERO("7.0"); + CURRENT_VERSION(null), SEVEN_ZERO("7.0"), SEVEN_FIVE("7.5.1"); public final String gradleVersion; - private GradleTestConfig(String gradleVersion) + private GradleTestConfig(final String gradleVersion) { this.gradleVersion = gradleVersion; } - public boolean supportedWithJvm() { - if(this == SIX_ZERO) { - return System.getProperty("java.version").startsWith("11"); + public boolean supportedWithJvm() + { + final boolean isJava11 = System.getProperty("java.version").startsWith("11"); + if (this == SEVEN_ZERO) + { + return isJava11; } return true; } From 8aa6907493cd673b3849100f84760af8a85efc03 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 13:05:05 +0200 Subject: [PATCH 10/15] Add broken links checker --- .github/workflows/broken_links_checker.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/broken_links_checker.yml diff --git a/.github/workflows/broken_links_checker.yml b/.github/workflows/broken_links_checker.yml new file mode 100644 index 0000000..028d748 --- /dev/null +++ b/.github/workflows/broken_links_checker.yml @@ -0,0 +1,22 @@ +name: Broken Links Checker + +on: + push: + branches: [ master, develop ] + pull_request: + branches: [ master, develop ] + +jobs: + linkChecker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Configure broken links checker + run: | + mkdir -p ./target + echo '{ "aliveStatusCodes": [429, 200] }' > ./target/broken_links_checker.json + - uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + use-quiet-mode: 'yes' + use-verbose-mode: 'yes' + config-file: ./target/broken_links_checker.json \ No newline at end of file From 6ad3d62629a51950f3aee5718a3743eb837561a5 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 14 Aug 2022 13:06:26 +0200 Subject: [PATCH 11/15] Cancel outdated builds --- .github/workflows/build.yml | 4 ++++ .github/workflows/codeql-analysis.yml | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cadc7c6..9aaf1f2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,10 @@ jobs: strategy: matrix: java: [11, 17] + concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-java-${{ matrix.java }} + cancel-in-progress: true + name: "Build with Java ${{ matrix.java }}" env: DEFAULT_JAVA: 11 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index fd54ab0..9b647bf 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -14,7 +14,10 @@ jobs: runs-on: ubuntu-latest strategy: - fail-fast: false + fail-fast: true + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true steps: - name: Checkout repository From 322051ea5aa4fc31f148d93222226ef25968c4ea Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Mon, 15 Aug 2022 18:43:07 +0200 Subject: [PATCH 12/15] Remove license header --- README.md | 6 ------ build.gradle | 15 --------------- gradle/license-header.txt | 15 --------------- .../gradle/OpenFastTracePlugin.java | 17 ----------------- .../openfasttrace/gradle/config/TagConfig.java | 17 ----------------- .../gradle/config/TagPathConfiguration.java | 17 ----------------- .../gradle/config/TracingConfig.java | 17 ----------------- .../openfasttrace/gradle/task/CollectTask.java | 17 ----------------- .../openfasttrace/gradle/task/TraceTask.java | 17 ----------------- .../task/config/SerializableTagConfig.java | 17 ----------------- .../task/config/SerializableTagPathConfig.java | 17 ----------------- .../openfasttrace/gradle/GradleTestConfig.java | 17 ----------------- .../gradle/OpenFastTracePluginTest.java | 17 ----------------- .../openfasttrace/gradle/TestUtil.java | 17 ----------------- .../openfasttrace/gradle/ZipFileBuilder.java | 17 ----------------- 15 files changed, 240 deletions(-) delete mode 100644 gradle/license-header.txt diff --git a/README.md b/README.md index b380fdd..a0d2291 100644 --- a/README.md +++ b/README.md @@ -148,12 +148,6 @@ Import into eclipse using [buildship](https://projects.eclipse.org/projects/tool 1. Select Project root directory 1. Click "Finish" -### Generate license header for added files: - -```bash -./gradlew licenseFormat -``` - ### Check if dependencies are up-to-date ```bash diff --git a/build.gradle b/build.gradle index 6756f17..9ef8074 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,6 @@ plugins { id 'java-gradle-plugin' id 'jacoco' id 'com.gradle.plugin-publish' version '1.0.0' - id 'com.github.hierynomus.license' version '0.16.1' id 'org.sonarqube' version '3.4.0.2513' id 'pl.droidsonroids.jacoco.testkit' version '1.0.9' id 'com.github.ben-manes.versions' version '0.42.0' @@ -118,20 +117,6 @@ project.tasks["sonarqube"].dependsOn jacocoTestReport publishPlugins.dependsOn check -license { - header = file('gradle/license-header.txt') - strictCheck = true - skipExistingHeaders = false - ext.year = 2017 - ext.name = "It's all code" - ext.email = 'christoph at users.sourceforge.net' -} - -downloadLicenses { - includeProjectDependencies = true - ignoreFatalParseErrors = false -} - def isNonStable = { String version -> def stableKeyword = ['RELEASE', 'FINAL', 'GA'].any { it -> version.toUpperCase().contains(it) } def regex = /^[0-9,.v-]+(-r)?$/ diff --git a/gradle/license-header.txt b/gradle/license-header.txt deleted file mode 100644 index 10a6b33..0000000 --- a/gradle/license-header.txt +++ /dev/null @@ -1,15 +0,0 @@ -openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace -Copyright (C) ${year} ${name} <${email}> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java b/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java index 2a0bc59..c3103f5 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle; import static java.util.stream.Collectors.toList; diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java index 2e5c32e..6d47883 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle.config; import org.gradle.api.Project; diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java index e05d1d6..c4a2e33 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle.config; import java.util.ArrayList; diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java index f4b9dba..e45ece2 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle.config; import java.util.List; diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java index 2035c5d..c9c75e5 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle.task; import static java.util.stream.Collectors.joining; diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java index 64b5bb9..d7d8ba9 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle.task; import static java.util.stream.Collectors.toList; diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java index 8ab5f8c..bf32b26 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle.task.config; import static java.util.stream.Collectors.toList; diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java index a146abd..699d6f4 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle.task.config; import static java.util.stream.Collectors.toList; diff --git a/src/test/java/org/itsallcode/openfasttrace/gradle/GradleTestConfig.java b/src/test/java/org/itsallcode/openfasttrace/gradle/GradleTestConfig.java index aa97730..49622a3 100644 --- a/src/test/java/org/itsallcode/openfasttrace/gradle/GradleTestConfig.java +++ b/src/test/java/org/itsallcode/openfasttrace/gradle/GradleTestConfig.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle; public enum GradleTestConfig diff --git a/src/test/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePluginTest.java b/src/test/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePluginTest.java index b9c862b..6024719 100644 --- a/src/test/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePluginTest.java +++ b/src/test/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePluginTest.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle; import static java.util.Arrays.asList; diff --git a/src/test/java/org/itsallcode/openfasttrace/gradle/TestUtil.java b/src/test/java/org/itsallcode/openfasttrace/gradle/TestUtil.java index d35ca01..b329084 100644 --- a/src/test/java/org/itsallcode/openfasttrace/gradle/TestUtil.java +++ b/src/test/java/org/itsallcode/openfasttrace/gradle/TestUtil.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle; import java.io.BufferedReader; diff --git a/src/test/java/org/itsallcode/openfasttrace/gradle/ZipFileBuilder.java b/src/test/java/org/itsallcode/openfasttrace/gradle/ZipFileBuilder.java index 37facf5..daf9c54 100644 --- a/src/test/java/org/itsallcode/openfasttrace/gradle/ZipFileBuilder.java +++ b/src/test/java/org/itsallcode/openfasttrace/gradle/ZipFileBuilder.java @@ -1,20 +1,3 @@ -/** - * openfasttrace-gradle - Gradle plugin for tracing requirements using OpenFastTrace - * Copyright (C) 2017 It's all code - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package org.itsallcode.openfasttrace.gradle; import java.io.File; From 29076daf6a408fc37b4314281fbbed492c134b6a Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Mon, 15 Aug 2022 19:01:47 +0200 Subject: [PATCH 13/15] Add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5616e34..baa8dd9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Upgrade to [OpenFastTrace 3.5.0](https://github.com/itsallcode/openfasttrace/releases/tag/3.5.0) - Gradle 6.0 is no longer supported. - Build and test with Java 17. Please note that Java 17 is only supported with Gradle 7.5+. +- [PR #33](https://github.com/itsallcode/openfasttrace-gradle/pull/33): Removed license header from sources ## [0.9.0] - 2021-05-30 From ccca4d876163d9696a0ab5fc7b97089c2d9cef7e Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Mon, 15 Aug 2022 19:16:07 +0200 Subject: [PATCH 14/15] Code cleanup --- .../gradle/OpenFastTracePlugin.java | 24 +++++++------- .../gradle/config/TagConfig.java | 2 +- .../gradle/config/TagPathConfiguration.java | 4 +-- .../gradle/config/TracingConfig.java | 20 +++++------ .../gradle/task/CollectTask.java | 2 +- .../task/config/SerializableTagConfig.java | 2 +- .../config/SerializableTagPathConfig.java | 2 +- .../gradle/OpenFastTracePluginTest.java | 33 ++++++++++--------- .../openfasttrace/gradle/TestUtil.java | 4 +-- .../openfasttrace/gradle/ZipFileBuilder.java | 8 ++--- 10 files changed, 51 insertions(+), 50 deletions(-) diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java b/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java index c3103f5..0e95114 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java @@ -28,14 +28,14 @@ public class OpenFastTracePlugin implements Plugin private static final String TASK_GROUP_NAME = "trace"; @Override - public void apply(Project rootProject) + public void apply(final Project rootProject) { LOG.info("Initializing OpenFastTrack plugin for project '{}'", rootProject); rootProject.allprojects(this::createConfigDsl); createTasks(rootProject); } - private void createConfigDsl(Project project) + private void createConfigDsl(final Project project) { LOG.info("Setting up plugin configuration for project '{}'", project.getName()); @@ -45,14 +45,14 @@ private void createConfigDsl(Project project) project); } - private void createTasks(Project rootProject) + private void createTasks(final Project rootProject) { LOG.info("Creating tasks for project '{}'", rootProject.getName()); final TaskProvider collectTask = createCollectTask(rootProject); createTracingTask(rootProject, collectTask); } - private TaskProvider createCollectTask(Project rootProject) + private TaskProvider createCollectTask(final Project rootProject) { return rootProject.getTasks().register("collectRequirements", CollectTask.class, task -> { task.setGroup(TASK_GROUP_NAME); @@ -64,7 +64,8 @@ private TaskProvider createCollectTask(Project rootProject) }); } - private void createTracingTask(Project rootProject, TaskProvider collectTask) + private void createTracingTask(final Project rootProject, + final TaskProvider collectTask) { rootProject.getTasks().register("traceRequirements", TraceTask.class, task -> { task.setGroup(TASK_GROUP_NAME); @@ -93,7 +94,7 @@ private void createTracingTask(Project rootProject, TaskProvider co }); } - private Set getAllInputDirectories(Set allProjects) + private Set getAllInputDirectories(final Set allProjects) { return allProjects.stream() // .map(project -> getConfig(project).getInputDirectories().getFiles()) // @@ -101,15 +102,14 @@ private Set getAllInputDirectories(Set allProjects) .collect(toSet()); } - private Set getImportedRequirements(Set allProjects) + private Set getImportedRequirements(final Set allProjects) { - return allProjects.stream() // .flatMap(this::getImportedRequirements) // .collect(toSet()); } - private Stream getImportedRequirements(Project project) + private Stream getImportedRequirements(final Project project) { final String configurationName = "oftRequirementConfig"; final Configuration configuration = project.getConfigurations().create(configurationName); @@ -123,7 +123,7 @@ private Stream getImportedRequirements(Project project) return files.stream(); } - private List getPathConfig(Set allProjects) + private List getPathConfig(final Set allProjects) { return allProjects.stream() // .map(this::getTagPathConfig) // @@ -132,7 +132,7 @@ private List getPathConfig(Set allProjects) .collect(toList()); } - private Optional getTagPathConfig(Project project) + private Optional getTagPathConfig(final Project project) { final TagPathConfiguration tagPathConfig = getConfig(project).getTagPathConfig(); if (tagPathConfig.getPathConfig().isEmpty()) @@ -142,7 +142,7 @@ private Optional getTagPathConfig(Project project) return Optional.of(new SerializableTagPathConfig(tagPathConfig)); } - private TracingConfig getConfig(Project project) + private TracingConfig getConfig(final Project project) { return project.getExtensions().getByType(TracingConfig.class); } diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java index 6d47883..0378dc8 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java @@ -14,7 +14,7 @@ public class TagConfig public String tagArtifactType; public String coveredItemNamePrefix; - TagConfig(Project project) + TagConfig(final Project project) { this.project = project; } diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java index c4a2e33..48dc016 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java @@ -11,12 +11,12 @@ public class TagPathConfiguration private final Project project; private final List tagConfigs = new ArrayList<>(); - public TagPathConfiguration(Project project) + public TagPathConfiguration(final Project project) { this.project = project; } - public void tag(Action action) + public void tag(final Action action) { final TagConfig tagConfig = new TagConfig(project); action.execute(tagConfig); diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java index e45ece2..f51847a 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java @@ -24,7 +24,7 @@ public class TracingConfig private final ListProperty filteredArtifactTypes; private final Property filterAcceptsItemsWithoutTag; - public TracingConfig(Project project) + public TracingConfig(final Project project) { this.inputDirectories = project.files(); this.reportFile = project.getObjects().fileProperty(); @@ -79,47 +79,47 @@ public Property getFilterAcceptsItemsWithoutTag() return filterAcceptsItemsWithoutTag; } - public void setReportVerbosity(String reportVerbosity) + public void setReportVerbosity(final String reportVerbosity) { setReportVerbosity(ReportVerbosity.valueOf(reportVerbosity)); } - public void setReportVerbosity(ReportVerbosity reportVerbosity) + public void setReportVerbosity(final ReportVerbosity reportVerbosity) { this.reportVerbosity.set(reportVerbosity); } - public void setReportFormat(String reportFormat) + public void setReportFormat(final String reportFormat) { this.reportFormat.set(reportFormat); } - public void setInputDirectories(ConfigurableFileCollection inputDirectories) + public void setInputDirectories(final ConfigurableFileCollection inputDirectories) { this.inputDirectories.setFrom(inputDirectories); } - public void setReportFile(RegularFileProperty reportFile) + public void setReportFile(final RegularFileProperty reportFile) { this.reportFile.set(reportFile); } - public void setImportedRequirements(List importedRequirements) + public void setImportedRequirements(final List importedRequirements) { this.importedRequirements.set(importedRequirements); } - public void setFilteredTags(List filteredTags) + public void setFilteredTags(final List filteredTags) { this.filteredTags.set(filteredTags); } - public void setFilteredArtifactTypes(List filteredArtifactTypes) + public void setFilteredArtifactTypes(final List filteredArtifactTypes) { this.filteredArtifactTypes.set(filteredArtifactTypes); } - public void setFilterAcceptsItemsWithoutTag(boolean filterAcceptsItemsWithoutTag) + public void setFilterAcceptsItemsWithoutTag(final boolean filterAcceptsItemsWithoutTag) { this.filterAcceptsItemsWithoutTag.set(filterAcceptsItemsWithoutTag); } diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java index c9c75e5..9f18cfb 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java @@ -109,7 +109,7 @@ private List getPathConfigInternal() return paths; } - private String formatPathConfig(PathConfig config) + private String formatPathConfig(final PathConfig config) { return " - " + config.getDescription() + " (type " + config.getTagArtifactType() + "): covers '" + config.getCoveredItemArtifactType() + "', prefix: '" diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java index bf32b26..f4fc4b5 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java @@ -20,7 +20,7 @@ public class SerializableTagConfig implements Serializable private final String tagArtifactType; private final String coveredItemNamePrefix; - public SerializableTagConfig(TagConfig tagConfig) + public SerializableTagConfig(final TagConfig tagConfig) { paths = tagConfig.paths.getFiles(); coveredItemArtifactType = tagConfig.coveredItemArtifactType; diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java index 699d6f4..a6864cb 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java @@ -16,7 +16,7 @@ public class SerializableTagPathConfig implements Serializable private final List tagConfigs; - public SerializableTagPathConfig(TagPathConfiguration tagPathConfig) + public SerializableTagPathConfig(final TagPathConfiguration tagPathConfig) { tagConfigs = tagPathConfig.getPathConfig().stream().map(SerializableTagConfig::new) .collect(toList()); diff --git a/src/test/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePluginTest.java b/src/test/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePluginTest.java index 6024719..2c76037 100644 --- a/src/test/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePluginTest.java +++ b/src/test/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePluginTest.java @@ -44,7 +44,7 @@ class OpenFastTracePluginTest @ParameterizedTest @EnumSource - void testTracingTaskAddedToProject(GradleTestConfig config) + void testTracingTaskAddedToProject(final GradleTestConfig config) { final BuildResult buildResult = runBuild(config, PROJECT_DEFAULT_CONFIG_DIR, "tasks"); assertThat(buildResult.getOutput(), containsString( @@ -53,7 +53,7 @@ void testTracingTaskAddedToProject(GradleTestConfig config) @ParameterizedTest @EnumSource - void testTraceExampleProjectWithDefaultConfig(GradleTestConfig config) throws IOException + void testTraceExampleProjectWithDefaultConfig(final GradleTestConfig config) throws IOException { final BuildResult buildResult = runBuild(config, PROJECT_DEFAULT_CONFIG_DIR, "clean", "traceRequirements"); @@ -64,7 +64,7 @@ void testTraceExampleProjectWithDefaultConfig(GradleTestConfig config) throws IO @ParameterizedTest @EnumSource - void testCollectExampleProjectWithCustomConfig(GradleTestConfig config) throws IOException + void testCollectExampleProjectWithCustomConfig(final GradleTestConfig config) throws IOException { final BuildResult buildResult = runBuild(config, PROJECT_CUSTOM_CONFIG_DIR, "clean", "collectRequirements"); @@ -108,7 +108,7 @@ void testCollectExampleProjectWithCustomConfig(GradleTestConfig config) throws I @ParameterizedTest @EnumSource - void testCollectIsUpToDateWhenAlreadyRunBefore(GradleTestConfig config) throws IOException + void testCollectIsUpToDateWhenAlreadyRunBefore(final GradleTestConfig config) throws IOException { BuildResult buildResult = runBuild(config, PROJECT_CUSTOM_CONFIG_DIR, "clean", "collectRequirements"); @@ -119,7 +119,7 @@ void testCollectIsUpToDateWhenAlreadyRunBefore(GradleTestConfig config) throws I @ParameterizedTest @EnumSource - void testHtmlReportConfig(GradleTestConfig config) throws IOException + void testHtmlReportConfig(final GradleTestConfig config) throws IOException { final BuildResult buildResult = runBuild(config, HTML_REPORT_CONFIG_DIR, "clean", "traceRequirements"); @@ -131,7 +131,7 @@ void testHtmlReportConfig(GradleTestConfig config) throws IOException @ParameterizedTest @EnumSource - void testTraceTaskUpToDateWhenAlreadyRun(GradleTestConfig config) throws IOException + void testTraceTaskUpToDateWhenAlreadyRun(final GradleTestConfig config) throws IOException { BuildResult buildResult = runBuild(config, HTML_REPORT_CONFIG_DIR, "clean", "traceRequirements"); @@ -142,7 +142,7 @@ void testTraceTaskUpToDateWhenAlreadyRun(GradleTestConfig config) throws IOExcep @ParameterizedTest @EnumSource - void testTraceExampleProjectWithCustomConfig(GradleTestConfig config) throws IOException + void testTraceExampleProjectWithCustomConfig(final GradleTestConfig config) throws IOException { final BuildResult buildResult = runBuild(config, PROJECT_CUSTOM_CONFIG_DIR, "clean", "traceRequirements"); @@ -154,7 +154,7 @@ void testTraceExampleProjectWithCustomConfig(GradleTestConfig config) throws IOE @ParameterizedTest @EnumSource - void testTraceMultiProject(GradleTestConfig config) throws IOException + void testTraceMultiProject(final GradleTestConfig config) throws IOException { final BuildResult buildResult = runBuild(config, MULTI_PROJECT_DIR, "clean", "traceRequirements"); @@ -164,7 +164,7 @@ void testTraceMultiProject(GradleTestConfig config) throws IOException @ParameterizedTest @EnumSource - void testTraceDependencyProject(GradleTestConfig config) throws IOException + void testTraceDependencyProject(final GradleTestConfig config) throws IOException { BuildResult buildResult = runBuild(config, DEPENDENCY_CONFIG_DIR, "clean"); final Path dependencyZip = DEPENDENCY_CONFIG_DIR.resolve("build/repo/requirements-1.0.zip"); @@ -180,7 +180,7 @@ void testTraceDependencyProject(GradleTestConfig config) throws IOException @ParameterizedTest @EnumSource - void testPublishToMavenRepo(GradleTestConfig config) throws IOException + void testPublishToMavenRepo(final GradleTestConfig config) throws IOException { final BuildResult buildResult = runBuild(config, PUBLISH_CONFIG_DIR, "clean", "publishToMavenLocal"); @@ -210,7 +210,8 @@ void testPublishToMavenRepo(GradleTestConfig config) throws IOException } } - private static String readEntry(ZipFile zip, String entryName) throws IOException, ZipException + private static String readEntry(final ZipFile zip, final String entryName) + throws IOException, ZipException { final ZipArchiveEntry reqirementsEntry = zip.getEntry(entryName); try (BufferedReader reader = new BufferedReader( @@ -231,7 +232,7 @@ private static void createDependencyZip(final Path dependencyZip) throws IOExcep } } - private static void assertFileContent(Path file, String... lines) throws IOException + private static void assertFileContent(final Path file, final String... lines) throws IOException { final String fileContent = fileContent(file); for (final String line : lines) @@ -240,13 +241,13 @@ private static void assertFileContent(Path file, String... lines) throws IOExcep } } - private static String fileContent(Path file) throws IOException + private static String fileContent(final Path file) throws IOException { return new String(Files.readAllBytes(file), StandardCharsets.UTF_8); } - private static BuildResult runBuild(GradleTestConfig config, Path projectDir, - String... arguments) + private static BuildResult runBuild(final GradleTestConfig config, final Path projectDir, + final String... arguments) { assumeTrue(config.supportedWithJvm()); configureJacoco(projectDir); @@ -269,7 +270,7 @@ private static BuildResult runBuild(GradleTestConfig config, Path projectDir, return runner.build(); } - private static void configureJacoco(Path projectDir) + private static void configureJacoco(final Path projectDir) { final String testkitGradleConfig = TestUtil.readResource(OpenFastTracePluginTest.class, "/testkit-gradle.properties"); diff --git a/src/test/java/org/itsallcode/openfasttrace/gradle/TestUtil.java b/src/test/java/org/itsallcode/openfasttrace/gradle/TestUtil.java index b329084..5b342cd 100644 --- a/src/test/java/org/itsallcode/openfasttrace/gradle/TestUtil.java +++ b/src/test/java/org/itsallcode/openfasttrace/gradle/TestUtil.java @@ -11,7 +11,7 @@ public class TestUtil { - public static String readResource(Class clazz, String resourceName) + public static String readResource(final Class clazz, final String resourceName) { final URL resource = clazz.getResource(resourceName); if (resource == null) @@ -35,7 +35,7 @@ public static String readResource(Class clazz, String resourceName) } } - public static void writeFile(Path file, String content) + public static void writeFile(final Path file, final String content) { try { diff --git a/src/test/java/org/itsallcode/openfasttrace/gradle/ZipFileBuilder.java b/src/test/java/org/itsallcode/openfasttrace/gradle/ZipFileBuilder.java index daf9c54..727299e 100644 --- a/src/test/java/org/itsallcode/openfasttrace/gradle/ZipFileBuilder.java +++ b/src/test/java/org/itsallcode/openfasttrace/gradle/ZipFileBuilder.java @@ -13,24 +13,24 @@ public class ZipFileBuilder implements AutoCloseable { private final ZipOutputStream zipOutputStream; - private ZipFileBuilder(ZipOutputStream zipOutputStream) + private ZipFileBuilder(final ZipOutputStream zipOutputStream) { this.zipOutputStream = zipOutputStream; } - public static ZipFileBuilder create(Path target) throws IOException + public static ZipFileBuilder create(final Path target) throws IOException { return create(target.toFile()); } - public static ZipFileBuilder create(File target) throws IOException + public static ZipFileBuilder create(final File target) throws IOException { final ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(target), StandardCharsets.UTF_8); return new ZipFileBuilder(zipOutputStream); } - public ZipFileBuilder addEntry(final String entryName, Path file) throws IOException + public ZipFileBuilder addEntry(final String entryName, final Path file) throws IOException { addEntry(entryName, Files.readAllBytes(file)); return this; From 98b63f6d3a5da585f05b0d74340b9095783daf66 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sun, 21 Aug 2022 13:48:38 +0200 Subject: [PATCH 15/15] Check dependencies for vulnerabilities --- README.md | 6 ++++++ build.gradle | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/README.md b/README.md index a0d2291..b19c8bc 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,12 @@ Import into eclipse using [buildship](https://projects.eclipse.org/projects/tool ./gradlew dependencyUpdates ``` +### Check dependencies for vulnerabilities + +```bash +./gradlew ossIndexAudit +``` + ### Run local sonar analysis ```bash diff --git a/build.gradle b/build.gradle index 9ef8074..d76b823 100644 --- a/build.gradle +++ b/build.gradle @@ -5,6 +5,7 @@ plugins { id 'org.sonarqube' version '3.4.0.2513' id 'pl.droidsonroids.jacoco.testkit' version '1.0.9' id 'com.github.ben-manes.versions' version '0.42.0' + id 'org.sonatype.gradle.plugins.scan' version '2.4.1' } repositories { @@ -129,3 +130,12 @@ tasks.named("dependencyUpdates").configure { isNonStable(it.candidate.version) && !isNonStable(it.currentVersion) } } + +ossIndexAudit { + allConfigurations = false + useCache = true + excludeVulnerabilityIds = [] + printBanner = false +} + +rootProject.tasks["build"].dependsOn(tasks["ossIndexAudit"])