diff --git a/plugin/doc/dependency-graph.puml b/plugin/doc/dependency-graph.puml new file mode 100644 index 000000000..29e82dcc4 --- /dev/null +++ b/plugin/doc/dependency-graph.puml @@ -0,0 +1,219 @@ +@startuml +skinparam defaultTextAlignment center +skinparam rectangle { + BackgroundColor<> beige + BackgroundColor<> lightGreen + BackgroundColor<> lightBlue + BackgroundColor<> lightGray +} +rectangle "code-coverage-api\n\n4.3.0-SNAPSHOT" as io_jenkins_plugins_code_coverage_api_hpi +rectangle "coverage-model\n\n0.22.2" as edu_hm_hafner_coverage_model_jar +rectangle "ionicons-api\n\n45.vf54fca_5d2154" as io_jenkins_plugins_ionicons_api_jar +rectangle "trove4j\n\n3.0.3" as net_sf_trove4j_trove4j_jar +rectangle "Saxon-HE\n\n12.1" as net_sf_saxon_Saxon_HE_jar +rectangle "xmlresolver\n\n5.1.1" as org_xmlresolver_xmlresolver_jar +rectangle "xmlresolver\ndata\n5.1.1" as org_xmlresolver_xmlresolver_jar_data +rectangle "gson\n\n2.10.1" as com_google_code_gson_gson_jar +rectangle "workflow-multibranch\n\n733.v109046189126" as org_jenkins_ci_plugins_workflow_workflow_multibranch_jar +rectangle "workflow-step-api\n\n639.v6eca_cd8c04a_a_" as org_jenkins_ci_plugins_workflow_workflow_step_api_jar +rectangle "workflow-job\n\n1289.vd1c337fd5354" as org_jenkins_ci_plugins_workflow_workflow_job_jar +rectangle "workflow-support\n\n839.v35e2736cfd5c" as org_jenkins_ci_plugins_workflow_workflow_support_jar +rectangle "workflow-cps\n\n3653.v07ea_433c90b_4" as org_jenkins_ci_plugins_workflow_workflow_cps_jar +rectangle "scm-api\n\n631.v9143df5b_e4a_a" as org_jenkins_ci_plugins_scm_api_jar +rectangle "structs\n\n324.va_f5d6774f3a_d" as org_jenkins_ci_plugins_structs_jar +rectangle "branch-api\n\n2.1071.v1a_188a_562481" as org_jenkins_ci_plugins_branch_api_jar +rectangle "cloudbees-folder\n\n6.815.v0dd5a_cb_40e0e" as org_jenkins_ci_plugins_cloudbees_folder_jar +rectangle "caffeine-api\n\n2.9.3-65.v6a_47d0f4d1fe" as io_jenkins_plugins_caffeine_api_jar +rectangle "workflow-api\n\n1208.v0cc7c6e0da_9e" as org_jenkins_ci_plugins_workflow_workflow_api_jar +rectangle "workflow-scm-step\n\n408.v7d5b_135a_b_d49" as org_jenkins_ci_plugins_workflow_workflow_scm_step_jar +rectangle "script-security\n\n1229.v4880b_b_e905a_6" as org_jenkins_ci_plugins_script_security_jar +rectangle "groovy-sandbox\n\n1.32" as org_kohsuke_groovy_sandbox_jar +rectangle "jackson-datatype-jsr310\n\n2.14.2" as com_fasterxml_jackson_datatype_jackson_datatype_jsr310_jar +rectangle "jackson-datatype-jdk8\n\n2.14.2" as com_fasterxml_jackson_datatype_jackson_datatype_jdk8_jar +rectangle "jackson-datatype-json-org\n\n2.14.2" as com_fasterxml_jackson_datatype_jackson_datatype_json_org_jar +rectangle "json\n\n20230227" as org_json_json_jar +rectangle "jackson-module-parameter-names\n\n2.14.2" as com_fasterxml_jackson_module_jackson_module_parameter_names_jar +rectangle "jackson-module-jaxb-annotations\n\n2.14.2" as com_fasterxml_jackson_module_jackson_module_jaxb_annotations_jar +rectangle "jackson-dataformat-cbor\n\n2.14.2" as com_fasterxml_jackson_dataformat_jackson_dataformat_cbor_jar +rectangle "jackson-dataformat-xml\n\n2.14.2" as com_fasterxml_jackson_dataformat_jackson_dataformat_xml_jar +rectangle "stax2-api\n\n4.2.1" as org_codehaus_woodstox_stax2_api_jar +rectangle "woodstox-core\n\n6.5.0" as com_fasterxml_woodstox_woodstox_core_jar +rectangle "jackson-dataformat-yaml\n\n2.14.2" as com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_jar +rectangle "javax-activation-api\n\n1.2.0-6" as io_jenkins_plugins_javax_activation_api_jar +rectangle "javax.activation\n\n1.2.0" as com_sun_activation_javax_activation_jar +rectangle "jaxb\n\n2.3.8-1" as io_jenkins_plugins_jaxb_jar +rectangle "jaxb-impl\n\n2.3.8" as com_sun_xml_bind_jaxb_impl_jar +rectangle "jaxb-api\n\n2.3.1" as javax_xml_bind_jaxb_api_jar +rectangle "snakeyaml-api\n\n1.33-95.va_b_a_e3e47b_fa_4" as io_jenkins_plugins_snakeyaml_api_jar +rectangle "snakeyaml\n\n1.33" as org_yaml_snakeyaml_jar +rectangle "checks-api\n\n2.0.0" as io_jenkins_plugins_checks_api_jar +rectangle "plugin-util-api\n\n3.2.0" as io_jenkins_plugins_plugin_util_api_jar +rectangle "display-url-api\n\n2.3.7" as org_jenkins_ci_plugins_display_url_api_jar +rectangle "commons-lang3-api\n\n3.12.0-36.vd97de6465d5b_" as io_jenkins_plugins_commons_lang3_api_jar +rectangle "commons-text-api\n\n1.10.0-36.vc008c8fcda_7b_" as io_jenkins_plugins_commons_text_api_jar +rectangle "echarts-api\n\n5.4.0-3" as io_jenkins_plugins_echarts_api_jar +rectangle "eclipse-collections-api\n\n9.2.0" as org_eclipse_collections_eclipse_collections_api_jar +rectangle "eclipse-collections\n\n9.2.0" as org_eclipse_collections_eclipse_collections_jar +rectangle "font-awesome-api\n\n6.3.0-2" as io_jenkins_plugins_font_awesome_api_jar +rectangle "bootstrap5-api\n\n5.2.2-2" as io_jenkins_plugins_bootstrap5_api_jar +rectangle "jquery3-api\n\n3.6.4-1" as io_jenkins_plugins_jquery3_api_jar +rectangle "data-tables-api\n\n1.13.3-3" as io_jenkins_plugins_data_tables_api_jar +rectangle "forensics-api\n\n2.1.0" as io_jenkins_plugins_forensics_api_jar +rectangle "prism-api\n\n1.29.0-4" as io_jenkins_plugins_prism_api_jar +rectangle "antisamy-markup-formatter\n\n159.v25b_c67cd35fb_" as org_jenkins_ci_plugins_antisamy_markup_formatter_jar +rectangle "owasp-java-html-sanitizer\n\n20220608.1" as com_googlecode_owasp_java_html_sanitizer_owasp_java_html_sanitizer_jar +rectangle "jsoup\n\n1.15.4" as org_jsoup_jsoup_jar +rectangle "guava\n\n31.1-jre" as com_google_guava_guava_jar +rectangle "commons-beanutils\n\n1.9.4" as commons_beanutils_commons_beanutils_jar +rectangle "commons-collections\n\n3.2.2" as commons_collections_commons_collections_jar +rectangle "caffeine\n\n2.9.3" as com_github_ben_manes_caffeine_caffeine_jar +rectangle "jsr305\n\n3.0.1" as com_google_code_findbugs_jsr305_jar +rectangle "commons-lang3\n\n3.12.0" as org_apache_commons_commons_lang3_jar +rectangle "commons-text\n\n1.10.0" as org_apache_commons_commons_text_jar +rectangle "failureaccess\n\n1.0.1" as com_google_guava_failureaccess_jar +rectangle "listenablefuture\n\n9999.0-empty-to-avoid-conflict-with-guava" as com_google_guava_listenablefuture_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> edu_hm_hafner_coverage_model_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_ionicons_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> net_sf_trove4j_trove4j_jar +net_sf_saxon_Saxon_HE_jar -[#000000]-> org_xmlresolver_xmlresolver_jar +net_sf_saxon_Saxon_HE_jar -[#000000]-> org_xmlresolver_xmlresolver_jar_data +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> net_sf_saxon_Saxon_HE_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_google_code_gson_gson_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_step_api_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_job_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_support_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_cps_jar +org_jenkins_ci_plugins_scm_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_structs_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar -[#000000]-> org_jenkins_ci_plugins_scm_api_jar +org_jenkins_ci_plugins_branch_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_scm_api_jar +org_jenkins_ci_plugins_branch_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_cloudbees_folder_jar +org_jenkins_ci_plugins_branch_api_jar .[#D3D3D3].> io_jenkins_plugins_caffeine_api_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar -[#000000]-> org_jenkins_ci_plugins_branch_api_jar +org_jenkins_ci_plugins_cloudbees_folder_jar .[#D3D3D3].> io_jenkins_plugins_ionicons_api_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar -[#000000]-> org_jenkins_ci_plugins_cloudbees_folder_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_api_jar +org_jenkins_ci_plugins_workflow_workflow_scm_step_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_step_api_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar -[#000000]-> org_jenkins_ci_plugins_workflow_workflow_scm_step_jar +org_jenkins_ci_plugins_script_security_jar -[#000000]-> org_kohsuke_groovy_sandbox_jar +org_jenkins_ci_plugins_script_security_jar .[#D3D3D3].> io_jenkins_plugins_caffeine_api_jar +org_jenkins_ci_plugins_workflow_workflow_multibranch_jar -[#000000]-> org_jenkins_ci_plugins_script_security_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> org_jenkins_ci_plugins_workflow_workflow_multibranch_jar +org_jenkins_ci_plugins_workflow_workflow_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_step_api_jar +org_jenkins_ci_plugins_workflow_workflow_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_scm_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> org_jenkins_ci_plugins_workflow_workflow_api_jar +org_jenkins_ci_plugins_workflow_workflow_step_api_jar -[#000000]-> org_jenkins_ci_plugins_structs_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> org_jenkins_ci_plugins_workflow_workflow_step_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_fasterxml_jackson_datatype_jackson_datatype_jsr310_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_fasterxml_jackson_datatype_jackson_datatype_jdk8_jar +com_fasterxml_jackson_datatype_jackson_datatype_json_org_jar .[#FF0000].> org_json_json_jar: 20190722 +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_fasterxml_jackson_datatype_jackson_datatype_json_org_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_fasterxml_jackson_module_jackson_module_parameter_names_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_fasterxml_jackson_module_jackson_module_jaxb_annotations_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_fasterxml_jackson_dataformat_jackson_dataformat_cbor_jar +com_fasterxml_jackson_dataformat_jackson_dataformat_xml_jar -[#000000]-> org_codehaus_woodstox_stax2_api_jar +com_fasterxml_woodstox_woodstox_core_jar .[#D3D3D3].> org_codehaus_woodstox_stax2_api_jar +com_fasterxml_jackson_dataformat_jackson_dataformat_xml_jar -[#000000]-> com_fasterxml_woodstox_woodstox_core_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_fasterxml_jackson_dataformat_jackson_dataformat_xml_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_jar +io_jenkins_plugins_javax_activation_api_jar -[#000000]-> com_sun_activation_javax_activation_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_javax_activation_api_jar +io_jenkins_plugins_jaxb_jar -[#000000]-> com_sun_xml_bind_jaxb_impl_jar +io_jenkins_plugins_jaxb_jar .[#D3D3D3].> io_jenkins_plugins_javax_activation_api_jar +io_jenkins_plugins_jaxb_jar -[#000000]-> javax_xml_bind_jaxb_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_jaxb_jar +io_jenkins_plugins_snakeyaml_api_jar -[#000000]-> org_yaml_snakeyaml_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_snakeyaml_api_jar +io_jenkins_plugins_checks_api_jar .[#D3D3D3].> io_jenkins_plugins_plugin_util_api_jar +io_jenkins_plugins_checks_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_display_url_api_jar +io_jenkins_plugins_checks_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_step_api_jar +io_jenkins_plugins_checks_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_support_jar +io_jenkins_plugins_checks_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_checks_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_text_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_checks_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> org_jenkins_ci_plugins_display_url_api_jar +io_jenkins_plugins_echarts_api_jar -[#000000]-> org_eclipse_collections_eclipse_collections_api_jar +org_eclipse_collections_eclipse_collections_jar .[#D3D3D3].> org_eclipse_collections_eclipse_collections_api_jar +io_jenkins_plugins_echarts_api_jar -[#000000]-> org_eclipse_collections_eclipse_collections_jar +io_jenkins_plugins_echarts_api_jar .[#D3D3D3].> io_jenkins_plugins_plugin_util_api_jar +io_jenkins_plugins_echarts_api_jar .[#D3D3D3].> io_jenkins_plugins_font_awesome_api_jar +io_jenkins_plugins_echarts_api_jar .[#D3D3D3].> io_jenkins_plugins_bootstrap5_api_jar +io_jenkins_plugins_echarts_api_jar .[#D3D3D3].> io_jenkins_plugins_jquery3_api_jar +io_jenkins_plugins_echarts_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_echarts_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_text_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_echarts_api_jar +io_jenkins_plugins_bootstrap5_api_jar .[#D3D3D3].> io_jenkins_plugins_font_awesome_api_jar +io_jenkins_plugins_bootstrap5_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_bootstrap5_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_text_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_bootstrap5_api_jar +io_jenkins_plugins_jquery3_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_jquery3_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_text_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_jquery3_api_jar +io_jenkins_plugins_data_tables_api_jar .[#D3D3D3].> io_jenkins_plugins_plugin_util_api_jar +io_jenkins_plugins_data_tables_api_jar .[#D3D3D3].> io_jenkins_plugins_jquery3_api_jar +io_jenkins_plugins_data_tables_api_jar .[#D3D3D3].> io_jenkins_plugins_bootstrap5_api_jar +io_jenkins_plugins_data_tables_api_jar .[#D3D3D3].> io_jenkins_plugins_font_awesome_api_jar +io_jenkins_plugins_data_tables_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_data_tables_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_text_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_data_tables_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> io_jenkins_plugins_plugin_util_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> io_jenkins_plugins_font_awesome_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> io_jenkins_plugins_bootstrap5_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> io_jenkins_plugins_jquery3_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> io_jenkins_plugins_echarts_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> io_jenkins_plugins_data_tables_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_multibranch_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_cps_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_job_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_branch_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_forensics_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_text_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_forensics_api_jar +io_jenkins_plugins_plugin_util_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_api_jar +io_jenkins_plugins_plugin_util_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_step_api_jar +io_jenkins_plugins_plugin_util_api_jar .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_support_jar +io_jenkins_plugins_plugin_util_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_plugin_util_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_text_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_plugin_util_api_jar +io_jenkins_plugins_font_awesome_api_jar .[#D3D3D3].> io_jenkins_plugins_plugin_util_api_jar +io_jenkins_plugins_font_awesome_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_font_awesome_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_text_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_font_awesome_api_jar +io_jenkins_plugins_prism_api_jar .[#D3D3D3].> io_jenkins_plugins_plugin_util_api_jar +io_jenkins_plugins_prism_api_jar .[#D3D3D3].> io_jenkins_plugins_font_awesome_api_jar +io_jenkins_plugins_prism_api_jar .[#D3D3D3].> io_jenkins_plugins_bootstrap5_api_jar +org_jenkins_ci_plugins_antisamy_markup_formatter_jar -[#000000]-> com_googlecode_owasp_java_html_sanitizer_owasp_java_html_sanitizer_jar +io_jenkins_plugins_prism_api_jar -[#000000]-> org_jenkins_ci_plugins_antisamy_markup_formatter_jar +io_jenkins_plugins_prism_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_prism_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_text_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_prism_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> org_jsoup_jsoup_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> io_jenkins_plugins_plugin_util_api_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> io_jenkins_plugins_bootstrap5_api_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> io_jenkins_plugins_font_awesome_api_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> io_jenkins_plugins_jquery3_api_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> io_jenkins_plugins_forensics_api_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> com_google_guava_guava_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> commons_beanutils_commons_beanutils_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> commons_collections_commons_collections_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> org_jenkins_ci_plugins_scm_api_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_multibranch_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_api_jar +io_jenkins_plugins_code_coverage_api_hpi .[#D3D3D3].> org_jenkins_ci_plugins_workflow_workflow_job_jar +io_jenkins_plugins_caffeine_api_jar -[#000000]-> com_github_ben_manes_caffeine_caffeine_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_caffeine_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> org_json_json_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_google_code_findbugs_jsr305_jar +io_jenkins_plugins_commons_lang3_api_jar -[#000000]-> org_apache_commons_commons_lang3_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_commons_text_api_jar -[#000000]-> org_apache_commons_commons_text_jar +io_jenkins_plugins_commons_text_api_jar .[#D3D3D3].> io_jenkins_plugins_commons_lang3_api_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> io_jenkins_plugins_commons_text_api_jar +com_google_guava_guava_jar -[#000000]-> com_google_guava_failureaccess_jar +com_google_guava_guava_jar -[#000000]-> com_google_guava_listenablefuture_jar +com_google_guava_guava_jar .[#D3D3D3].> com_google_code_findbugs_jsr305_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> com_google_guava_guava_jar +commons_beanutils_commons_beanutils_jar .[#D3D3D3].> commons_collections_commons_collections_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> commons_beanutils_commons_beanutils_jar +io_jenkins_plugins_code_coverage_api_hpi -[#000000]-> commons_collections_commons_collections_jar +@enduml \ No newline at end of file diff --git a/plugin/pom.xml b/plugin/pom.xml index c6f129028..17a748422 100644 --- a/plugin/pom.xml +++ b/plugin/pom.xml @@ -14,8 +14,9 @@ ${revision}${changelist} hpi - Code Coverage API Plugin - Code Coverage Plugin + Code Coverage Plugin + Collects reports of code coverage or mutation coverage tools and visualizes the results. It has support + for the following report formats: JaCoCo, Cobertura, and PIT. https://github.com/jenkinsci/code-coverage-api-plugin diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageMetricColumn.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageMetricColumn.java index bba7d467d..8a54a9b58 100644 --- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageMetricColumn.java +++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageMetricColumn.java @@ -8,20 +8,18 @@ import edu.hm.hafner.util.VisibleForTesting; import edu.umd.cs.findbugs.annotations.NonNull; -import org.kohsuke.stapler.AncestorInPath; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.DataBoundSetter; import org.kohsuke.stapler.verb.POST; import org.jenkinsci.Symbol; import hudson.Extension; import hudson.Functions; -import hudson.model.AbstractProject; -import hudson.model.Item; import hudson.model.Job; import hudson.model.Run; import hudson.util.ListBoxModel; import hudson.views.ListViewColumn; import hudson.views.ListViewColumnDescriptor; +import jenkins.model.Jenkins; import io.jenkins.plugins.coverage.metrics.color.ColorProvider; import io.jenkins.plugins.coverage.metrics.color.ColorProvider.DisplayColors; @@ -265,15 +263,12 @@ public String getDisplayName() { /** * Returns a model with all {@link Metric metrics} that can be used in quality gates. * - * @param project - * the project that is configured - * * @return a model with all {@link Metric metrics}. */ @POST @SuppressWarnings("unused") // used by Stapler view data binding - public ListBoxModel doFillMetricItems(@AncestorInPath final AbstractProject project) { - if (jenkins.hasPermission(Item.CONFIGURE, project)) { + public ListBoxModel doFillMetricItems() { + if (jenkins.hasPermission(Jenkins.READ)) { return FORMATTER.getMetricItems(); } return new ListBoxModel(); @@ -282,15 +277,12 @@ public ListBoxModel doFillMetricItems(@AncestorInPath final AbstractProject project) { - if (jenkins.hasPermission(Item.CONFIGURE, project)) { + public ListBoxModel doFillBaselineItems() { + if (jenkins.hasPermission(Jenkins.READ)) { return FORMATTER.getBaselineItems(); } return new ListBoxModel(); diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageMetricColumnTest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageMetricColumnTest.java index 0dce42dd8..206065eeb 100644 --- a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageMetricColumnTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageMetricColumnTest.java @@ -21,12 +21,15 @@ import hudson.model.Job; import hudson.model.Run; +import jenkins.model.Jenkins; import io.jenkins.plugins.coverage.metrics.AbstractCoverageTest; import io.jenkins.plugins.coverage.metrics.color.ColorProvider; import io.jenkins.plugins.coverage.metrics.color.ColorProviderFactory; import io.jenkins.plugins.coverage.metrics.color.CoverageChangeTendency; import io.jenkins.plugins.coverage.metrics.model.Baseline; +import io.jenkins.plugins.coverage.metrics.steps.CoverageMetricColumn.CoverageMetricColumnDescriptor; +import io.jenkins.plugins.util.JenkinsFacade; import io.jenkins.plugins.util.QualityGateResult; import static org.assertj.core.api.Assertions.*; @@ -44,6 +47,19 @@ class CoverageMetricColumnTest extends AbstractCoverageTest { private static final ColorProvider COLOR_PROVIDER = ColorProviderFactory.createDefaultColorProvider(); + @Test + void shouldAllowEnums() { + var jenkins = mock(JenkinsFacade.class); + var descriptor = new CoverageMetricColumnDescriptor(jenkins); + + assertThat(descriptor.doFillMetricItems()).isEmpty(); + assertThat(descriptor.doFillBaselineItems()).isEmpty(); + + when(jenkins.hasPermission(Jenkins.READ)).thenReturn(true); + assertThat(descriptor.doFillMetricItems()).isNotEmpty(); + assertThat(descriptor.doFillBaselineItems()).isNotEmpty(); + } + /** * Creates a stub for a {@link Job} that has the specified actions attached. *