{"id":38604415,"url":"https://github.com/smarkwal/jarhc-gradle-plugin","last_synced_at":"2026-01-17T08:36:34.744Z","repository":{"id":102979864,"uuid":"579928635","full_name":"smarkwal/jarhc-gradle-plugin","owner":"smarkwal","description":"JarHC Gradle Plugin","archived":false,"fork":false,"pushed_at":"2025-04-28T08:35:34.000Z","size":160,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-28T09:56:51.491Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smarkwal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-19T09:43:31.000Z","updated_at":"2025-04-28T08:35:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"446dbbae-4c79-41c6-a49d-8e45706a616a","html_url":"https://github.com/smarkwal/jarhc-gradle-plugin","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/smarkwal/jarhc-gradle-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smarkwal%2Fjarhc-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smarkwal%2Fjarhc-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smarkwal%2Fjarhc-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smarkwal%2Fjarhc-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smarkwal","download_url":"https://codeload.github.com/smarkwal/jarhc-gradle-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smarkwal%2Fjarhc-gradle-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T08:36:34.146Z","updated_at":"2026-01-17T08:36:34.734Z","avatar_url":"https://github.com/smarkwal.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JarHC Gradle Plugin\n\nGradle plugin to generate a [JarHC - JAR Health Check](https://github.com/smarkwal/jarhc) report for your project's dependencies.\n\n![JarHC Logo](https://github.com/smarkwal/jarhc/blob/master/docs/jarhc-logo.png?raw=true)\n\n[![License](https://img.shields.io/github/license/smarkwal/jarhc-gradle-plugin?label=License)](https://www.apache.org/licenses/LICENSE-2.0)\n[![Release](https://img.shields.io/github/v/release/smarkwal/jarhc-gradle-plugin?label=Latest)](https://github.com/smarkwal/jarhc-gradle-plugin/releases/latest)\n[![Build](https://github.com/smarkwal/jarhc-gradle-plugin/actions/workflows/build.yml/badge.svg)](https://github.com/smarkwal/jarhc-gradle-plugin/actions/workflows/build.yml)\n[![Tests](https://img.shields.io/sonar/tests/smarkwal_jarhc-gradle-plugin/main?label=Tests\u0026server=https%3A%2F%2Fsonarcloud.io)](https://sonarcloud.io/component_measures?metric=test_success_density\u0026view=list\u0026id=smarkwal_jarhc-gradle-plugin)\n[![Coverage](https://img.shields.io/sonar/coverage/smarkwal_jarhc-gradle-plugin/main?label=Coverage\u0026server=https%3A%2F%2Fsonarcloud.io)](https://sonarcloud.io/component_measures?id=smarkwal_jarhc-gradle-plugin\u0026metric=coverage\u0026view=list)\n[![Quality](https://img.shields.io/sonar/quality_gate/smarkwal_jarhc-gradle-plugin/main?label=Quality\u0026server=https%3A%2F%2Fsonarcloud.io)](https://sonarcloud.io/dashboard?id=smarkwal_jarhc-gradle-plugin)\n[![Issues](https://img.shields.io/github/issues/smarkwal/jarhc-gradle-plugin?label=Issues)](https://github.com/smarkwal/jarhc-gradle-plugin/issues)\n\n---\n\n## Installation\n\nUsing the [plugins DSL](https://docs.gradle.org/current/userguide/plugins.html#sec:plugins_block) for Kotlin:\n\n```kotlin\nplugins {\n    id(\"org.jarhc\") version \"1.2.0\"\n}\n```\n\n## Configuration\n\nThe plugin adds a `jarhcReport` task to your project:\n\n```shell\n./gradlew jarhcReport\n```\n\nWithout a specific configuration, the task will generate an HTML and a text report for all runtime dependencies of your project. \nBoth reports can be found in the `build` directory:\n\n```\nbuild/\n└── reports/\n    └── jarhc/\n        ├── jarhc-report.html\n        └── jarhc-report.txt\n```\n\nExample reports can be found here: [JarHC example reports](https://github.com/smarkwal/jarhc/wiki/Reports)\n\nYou can control many aspects of the JarHC task and take influence on the analysis and the report(s):\n\n```kotlin\ntasks {\n\n    jarhcReport {\n\n        // Classpath with JAR files (dependencies) to be analyzed by JarHC.\n        // Default: configurations.runtimeClasspath\n        classpath.setFrom(configurations.runtimeClasspath)\n\n        // There are also properties \"provided\" and \"runtime\" to set the classpath\n        // for JAR files used as provided libraries and Java runtime libraries.\n        // provided.setFrom(...)\n        // runtime.setFrom(...)\n\n        // Title of the JarHC report.\n        // Default: \"JarHC Report for ${project.name} ${project.version}\"\n        reportTitle.set(\"ASM 7.0\")\n\n        // Path to generated report files (*.html or *.txt).\n        // Default: \"${buildDir}/reports/jarhc/jarhc-report.html\"\n        //      and \"${buildDir}/reports/jarhc/jarhc-report.txt\"\n        reportFiles.setFrom(\n            file(\"${projectDir}/jarhc-report-asm-7.0.html\"),\n            file(\"${projectDir}/jarhc-report-asm-7.0.txt\")\n        )\n\n        // Sections to include in the report.\n        // See https://github.com/smarkwal/jarhc/wiki/Usage for more details.\n        // Default: empty list = include all sections\n        sections.addAll(\"jf\", \"d\", \"dc\", \"bc\", \"bl\", \"jm\", \"m\", \"ob\" )\n\n        // Exclude sections without any issues from the report.\n        // Default: false\n        skipEmpty.set(true)\n\n        // Java release (8, 9, 10, ...) to use for analysis of multi-release JAR files.\n        // Default: version of Java used to run Gradle build\n        release.set(11)\n\n        // Classloader strategy. Used only if provided and/or runtime classpath is set.\n        // Default: \"ParentLast\"\n        strategy.set(\"ParentFirst\")\n\n        // Ignore issues related to missing Java annotations.\n        // Default: false\n        ignoreMissingAnnotations.set(true)\n\n        // Ignore duplicate classes or resources if they are identical copies.\n        // Default: false\n        ignoreExactCopy.set(true)\n\n        // Path to the data directory used by JarHC to cache downloaded JAR and POM files.\n        // Default: \"${rootDir}/.jarhc\"\n        dataDir.set(file(\"${buildDir}/jarhc-data\"))\n\n    }\n\n}\n```\n\nMost configuration properties are 1-to-1 equivalents of the command line options explained in the [JarHC documentation](https://github.com/smarkwal/jarhc/wiki/Usage).\n\n## Advanced examples\n\nAdd project artifact to classpath:\n\n```kotlin\ntasks {\n    jarhcReport {\n        dependsOn(jar)\n        classpath.setFrom(\n            jar.get().archiveFile,\n            configurations.runtimeClasspath\n        )\n    }    \n}\n```\n\nAdd libraries to the \"provided\" classpath:\n\n```kotlin\n// create a custom configuration\nval providedDependencies by configurations.creating\n\n// add dependencies to the custom configuration\ndependencies {\n    providedDependencies(\"javax.servlet:javax.servlet-api:3.1.0\")\n}\n\n// use the custom configuration in the task\ntasks {\n    jarhcReport {\n        provided.setFrom(providedDependencies)\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmarkwal%2Fjarhc-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmarkwal%2Fjarhc-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmarkwal%2Fjarhc-gradle-plugin/lists"}