{"id":13694293,"url":"https://github.com/nebula-plugins/gradle-lint-plugin","last_synced_at":"2025-05-14T23:04:51.295Z","repository":{"id":39634278,"uuid":"48393191","full_name":"nebula-plugins/gradle-lint-plugin","owner":"nebula-plugins","description":"A pluggable and configurable linter tool for identifying and reporting on patterns of misuse or deprecations in Gradle scripts. ","archived":false,"fork":false,"pushed_at":"2025-04-22T19:29:31.000Z","size":2684,"stargazers_count":782,"open_issues_count":115,"forks_count":89,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-04-22T20:39:51.722Z","etag":null,"topics":["gradle","lint","linter"],"latest_commit_sha":null,"homepage":null,"language":"Groovy","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/nebula-plugins.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2015-12-21T20:42:47.000Z","updated_at":"2025-04-22T19:29:35.000Z","dependencies_parsed_at":"2024-02-02T19:26:27.384Z","dependency_job_id":"728ab819-cbc8-485d-9a65-a94a00e786f5","html_url":"https://github.com/nebula-plugins/gradle-lint-plugin","commit_stats":{"total_commits":942,"total_committers":23,"mean_commits":40.95652173913044,"dds":0.7048832271762209,"last_synced_commit":"9d60ce5c634027941251fe571a04a908f32f9cd0"},"previous_names":[],"tags_count":299,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebula-plugins%2Fgradle-lint-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebula-plugins%2Fgradle-lint-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebula-plugins%2Fgradle-lint-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nebula-plugins%2Fgradle-lint-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nebula-plugins","download_url":"https://codeload.github.com/nebula-plugins/gradle-lint-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254243358,"owners_count":22038046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["gradle","lint","linter"],"created_at":"2024-08-02T17:01:28.818Z","updated_at":"2025-05-14T23:04:46.286Z","avatar_url":"https://github.com/nebula-plugins.png","language":"Groovy","readme":"# Gradle Lint Plugin\n\n![Support Status](https://img.shields.io/badge/nebula-active-green.svg)\n[![Gradle Plugin Portal](https://img.shields.io/maven-metadata/v/https/plugins.gradle.org/m2/com.netflix.nebula/gradle-lint-plugin/maven-metadata.xml.svg?label=gradlePluginPortal)](https://plugins.gradle.org/plugin/nebula.lint)\n[![Maven Central](https://img.shields.io/maven-central/v/com.netflix.nebula/gradle-lint-plugin)](https://maven-badges.herokuapp.com/maven-central/com.netflix.nebula/gradle-lint-plugin)\n![Build](https://github.com/nebula-plugins/gradle-lint-plugin/actions/workflows/nebula.yml/badge.svg)\n[![Apache 2.0](https://img.shields.io/github/license/nebula-plugins/gradle-lint-plugin.svg)](http://www.apache.org/licenses/LICENSE-2.0)\n\n\n## Purpose\n\nThe Gradle Lint plugin is a pluggable and configurable linter tool for identifying and reporting on patterns of misuse or deprecations in Gradle scripts and related files.  It is inspired by the excellent ESLint tool for Javascript and by the formatting in NPM's [eslint-friendly-formatter](https://www.npmjs.com/package/eslint-friendly-formatter) package.\n\nIt assists a centralized build tools team in gently introducing and maintaining a standard build script style across their organization.\n\n## Getting Started\n\nRead the [full documentation](https://github.com/nebula-plugins/gradle-lint-plugin/wiki).\n\nTo apply this plugin, please get the latest version from the [Gradle plugin portal](https://plugins.gradle.org/plugin/nebula.lint) and add the following to `build.gradle`:\n\n```groovy\nbuildscript { repositories { mavenCentral() } }\nplugins {\n  id 'nebula.lint' version '\u003clatest version from the Gradle plugin portal\u003e'\n}\n```\n\n*Important:* For now, in a multi-module build you **must** apply lint to the root project, at a minimum.\n\nAlternatively:\n\n```groovy\nbuildscript {\n  repositories { mavenCentral() }\n  dependencies {\n    classpath 'com.netflix.nebula:gradle-lint-plugin:latest.release'\n  }\n}\n\n\napply plugin: 'nebula.lint'\n```\n\nDefine which rules you would like to lint against:\n\n```groovy\ngradleLint.rules = ['all-dependency'] // add as many rules here as you'd like\n```\n\nFor an enterprise build, we recommend defining the lint rules in a `init.gradle` script or in a gradle script that is included via the Gradle `apply from` mechanism.\n\nFor multimodule projects, we recommend applying the plugin in an allprojects block:\n\n```groovy\nallprojects {\n  apply plugin: 'nebula.lint'\n  gradleLint.rules = ['all-dependency'] // add as many rules here as you'd like\n}\n```\n## api/implementation support\n\n[v15.0.0](https://github.com/nebula-plugins/gradle-lint-plugin/releases/tag/v15.0.0)  introduced api/implementation configuration support.\n\nThis allows to show warnings around api/implementation configurations\n\nSince we need to do some major work to keep track of declared configurations and then replace code with the proper configuration, we decided to just show warnings for now.\n\nThis work includes finding dependency information for non resolvable configurations so we look into the parents\n\nIf [gradle/gradle#11106](https://github.com/gradle/gradle/issues/11106) lands some day, we could definitely enhance this experience.\n\nWhile it is great to have automatic fix, not having it is worse. So for now warning about this with the same detail as before is much better than a broken experience with new gradle configurations\n\n## Warning\n\nGradle Lint Plugin currently doesn't support:\n\n* kotlin build scripts. Please, switch to groovy build script if you want to use linting. [#166](https://github.com/nebula-plugins/gradle-lint-plugin/issues/166)\n\n## License\n\nCopyright 2015-2018-2019 Netflix, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","funding_links":[],"categories":["Groovy"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnebula-plugins%2Fgradle-lint-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnebula-plugins%2Fgradle-lint-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnebula-plugins%2Fgradle-lint-plugin/lists"}