dependency-management: an empty .gitmodules is "submodules", Composer's default type is not library, R DESCRIPTION and Julia Project.toml say "no dependencies are declared", license-notice third_party/, a project's own submodule is "third-party"
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
Start in project_validator/checks/dependency_management.py, where SUBMODULES = ".gitmodules" tests only for the file's presence, and in project_validator/ecosystems/php/init.py around line 125, where the Composer 'library' default is missing. Each report has a repro: an empty .gitmodules, a composer.json with no type, or a Project.toml with [deps] should no longer produce the false warning or message. Done means those repros pass and the other ecosystems' outputs are unchanged.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
kubespray: WARN "third-party code is committed (git submodules)" for a 0-byte .gitmodules (its pre-commit even forbids submodules). guzzle and laravel: told to commit composer.lock because type is missing, but Composer's documented default is library. dplyr/testthat/data.table and Documenter.jl: PASS "no dependencies are declared" although DESCRIPTION Imports: and [deps] declare twenty (ggplot2 and DataFrames get "not applicable" instead: inconsistent). golangci-lint's third_party/ holds only license notices. cetz's one submodule is the organisation's shared scripts. terraform-aws-modules: 29 "declaring" files are examples/ and shared modules deliberately commit no lockfile.
Evidence from the corpus audit
kubernetes-sigs/kubespray / dependency-management
- kind: FALSE_POSITIVE
- actual: WARN "third-party code is committed (git submodules (.gitmodules))" with the hint "fetch third-party code
with the ecosystem's package manager instead of committing a copy of it" - expected: no such claim:
.gitmodulesexists but is empty (0 bytes); the project has no submodules (its pre-commit
config even runsforbid-new-submodules). - evidence:
wc -c .gitmodules→0 .gitmodules;.pre-commit-config.yaml:13:- id: forbid-new-submodules.
Validator:project_validator/checks/dependency_management.py:14:SUBMODULES = ".gitmodules"(presence, not
content, is tested). - repro: an empty
.gitmodulesin any project. - confidence: high
golangci/golangci-lint / dependency-management
- kind: FALSE_POSITIVE
- actual: WARN:
third-party code is committed (third_party/); dependencies are declared in docs/go.mod, go.mod, ... and locked in ... - expected: PASS:
third_party/holds nothing but license notices for linters that were forked intopkg/; no third-party code is committed. - evidence:
ls third_party/*->third_party/dogsled: LICENSE,third_party/gochecknoglobals: LICENSE,third_party/gochecknoinits: LICENSE,third_party/gometalinter: LICENSE,third_party/lll: LICENSE,third_party/nakedret: LICENSE,third_party/x_tools: LICENSE(one file each) - repro:
third_party/foo/LICENSEonly, plusgo.mod/go.sum. Expect no "third-party code" warning (a directory with no source files is not code). - confidence: medium
JuliaDocs/Documenter.jl / dependency-management
- kind: MESSAGE
- actual: PASS:
no dependencies are declared - expected: wording that says Julia is not judged (DataFrames and JuMP get
SKIP: not applicable to Julia); Documenter'sProject.tomldeclares ~20[deps], so "no dependencies are declared" is false. The PASS comes from the JavaScript place alone (no package.json). - evidence:
Project.toml:5-9:[deps]/ANSIColoredPrinters = "a4c015fc-..."/AbstractTrees = "1520ce14-..."/Base64 = .../CodecZlib = ...;JuliaDocs__Documenter.jl.jsonplaces:JavaScript/TypeScript | . | PASS | no dependencies are declared - repro:
Project.tomlwith[deps]and oneassets/x.js - confidence: medium
guzzle/guzzle, laravel/framework / dependency-management
- kind: FALSE_POSITIVE
- actual: WARN: dependencies are declared in composer.json, vendor-bin/composer-normalize/composer.json,
vendor-bin/php-cs-fixer/composer.json and 1 more (Composer) but not locked (guzzle);PHP: the root: dependencies are declared in composer.json, src/Illuminate/Auth/composer.json, ... and 33 more (Composer) but not locked(laravel) - expected: PASS: Composer's documented default for a missing
typeislibrary; both are libraries (neither commits
a lock file by design, laravel even ignores it). Secondary: guzzle'svendor-bin/*/composer.jsonare
bamarni/composer-bin-plugin tool manifests (one dependency each), not the project's dependency declarations. - evidence: guzzle
composer.json:1-4:{/"name": "guzzlehttp/guzzle",/"description": "Guzzle is a PHP HTTP client library",/"license": "MIT",— no top-level"type"(the only"type"keys, lines 83 and 103, are inside
repositories); laravelcomposer.json: no"type"key; laravel.gitignore:13:composer.lock; validator
project_validator/ecosystems/php/__init__.py:125:library=lambda _path, text: _composer(text).get("type") == "library",. - repro:
composer.jsonwithrequireand notype, nocomposer.lock→ WARN "not locked" (reproduced in
repro-php; adding"type": "library"→ PASS). - confidence: high
tidyverse/dplyr, r-lib/testthat, Rdatatable/data.table / dependency-management
- kind: MESSAGE
- actual: PASS: no dependencies are declared; "if the project has dependencies, consider a dependency manager: CPM, FetchContent, Meson wraps, vcpkg or Conan"
- expected: either SKIP for the R package (as ggplot2 and targets get: "not applicable to R") or a sentence about DESCRIPTION; "no dependencies are declared" is false (dplyr's
DESCRIPTIONdeclaresImports: cli (>= 3.6.2), generics, glue (>= 1.3.2), lifecycle (>= 1.0.5), magrittr (>= 1.5), ...) and the CPM/vcpkg hint is noise for an R package. The sentence comes from the C/C++ profile judging thesrc/code (previous DETECTION finding) and is printed without a language prefix. - evidence: dplyr
DESCRIPTION:24-26:Imports:/cli (>= 3.6.2),/generics,...; dplyr.allow.txt:[PASS] dependency-management: no dependencies are declared. - repro: as the DETECTION repro above; expect
dependency-managementto SKIP or prefix "C/C++:". - confidence: low (cosmetic; root cause is the DETECTION finding)
cetz-package/cetz / dependency-management
- kind: MESSAGE
- actual: WARN:
dependency-management: third-party code is committed (git submodules (.gitmodules)); .../fetch third-party code with the ecosystem's package manager instead of committing a copy of it - expected: WARN wording should not call it third-party: the one submodule is the project's own organisation's shared scripts repository (and is not even checked out here), not vendored dependency code.
- evidence:
.gitmodules:1-3:[submodule "common"]/path = common/url = https://github.com/cetz-package/common.git. - repro:
.gitmoduleswhoseurlis under the same owner as the repository; expect "a submodule of the project's own" or no warning. - confidence: low
terraform-aws-modules/terraform-aws-vpc, -eks, -lambda / dependency-management
- kind: MESSAGE
- actual: WARN:
dependencies are declared in examples/block-public-access/main.tf, examples/block-public-access/versions.tf, examples/complete/main.tf and 29 more (Terraform providers) but not locked/commit .terraform.lock.hcl - expected: a note that the lockfile is for root configurations: these are shared modules that deliberately do not commit a lockfile (the repo ignores it and tells terraform-docs not to show one), and the 29+ "declaring" files are mostly
examples/. The WARN itself is defensible policy; the message and the file list are misleading for a module repository. - evidence:
.gitignore:4-5:# Terraform lockfile/.terraform.lock.hcl;.pre-commit-config.yaml:7-9:- id: terraform_docs/args:/- '--args=--lockfile=false'. - repro: module repo with
versions.tfand.gitignoreignoring.terraform.lock.hcl; expect the message to distinguish root configurations from modules. - confidence: low
xmlunit/xmlunit / dependency-management
- kind: FALSE_POSITIVE
- actual: WARN: third-party code is committed (git submodules (.gitmodules)); ...
fetch third-party code with the ecosystem's package manager instead of committing a copy of it - expected: no "third-party code" remark: the only submodule is the project's own test-data repository.
- evidence:
.gitmodules:1-3:[submodule "test-resources"]/path = test-resources/
url = https://github.com/xmlunit/test-resources.git(same GitHub organisation as the project). - repro:
.gitmoduleswhoseurlis under the same owner as the repository. - confidence: medium
Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.
🤖 Generated with Claude Code
- Vorherrschende Sprache
- Python
- Sterne
- 4
- Forks
- 1
- Ø Merge
- 10 Std. 41 Min.
- Gemergte PRs (30 T.)
- 79
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus cpp-best-practices/project_validator
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
cpp-best-practices/project_validator#267 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
cpp-best-practices/project_validator#263 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
cpp-best-practices/project_validator#260 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
cpp-best-practices/project_validator#259 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
cpp-best-practices/project_validator#255 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in cpp-best-practices/project_validator
Ähnliche Issues
-
add entry to blockOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
StevenBlack/hosts#3299 ·
-
`garak --report` overwrites the input report when its name has no ".report"Evtl. vergeben @0z5a hat das heute übernommen. Offenneeds-triage
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 2 Tagen
-
plot_graph crashes when a mesh node has no m2m edgeEvtl. vergeben @tygvi hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
mllam/neural-lam#883 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
future-agi/future-agi#4092 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
transcript analytics: a text whose only protected spans the prose pass redacts is withheld wholeOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
WingedGuardian/GENesis-AGI#4641 ·
Maintainer antworten meist innerhalb von 1 Tag