Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

For generated or vendored files, exclude a narrowly defined path from the duplication scanner. For hand-maintained legacy code, prefer a baseline or “new findings only” gate so existing clones do not block unrelated work while new duplication stays visible. These are different controls: a path exclusion removes files from analysis, while a baseline or suppression may only change which findings are reported or fail CI.

Choose the right exclusion method

Situation Best-fit method What changes
Generated or vendored files that are outside the team’s review scope Narrow path, file-list, or filename-pattern exclusion supported by the detector Files leave the scan, so both existing and future duplication there are hidden.
Hand-maintained code with existing duplication Baseline or new-findings-only gate, when available Existing accepted clones can remain visible for cleanup while newly detected clones trigger the configured gate. Behavior depends on the detector.
A small, justified region that should not produce a finding Tool-supported inline suppression markers Findings for the marked region may be suppressed; this does not necessarily remove the surrounding file from analysis.
Findings should remain in reports, but should not fail a particular build gate Integration-specific violation or failure exclusion The report may still contain findings even though the build does not fail on them.

For jscpd, the documented baseline mode fails on clones absent from the baseline. PMD CPD documents file selection and region markers, but the cited CPD command-line documentation does not describe an equivalent baseline gate. See the jscpd configuration reference and PMD CPD documentation.

Identify the duplication scanner and its configuration

First find the exact detector command and version used by both developers and CI. A repository may run a duplication scanner separately from its linter, test-coverage tool, build system, or Git. An ignore rule for one tool does not automatically apply to another: for example, ESLint’s flat-config ignore settings govern files ignored while linting, not a separate clone detector.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Inspect the CI workflow, build script, package scripts, or plugin configuration to locate the duplication command and its version.
  2. Find that detector’s own configuration file and command-line arguments. Note the scan root, path-pattern rules, file-list behavior, and whether settings affect analyzed files, reported findings, or build failure.
  3. Classify the target: generated output, third-party vendor code, fixtures or snapshots, migrations, protocol/client code, or hand-maintained legacy code. Decide whether it should be outside analysis or remain visible under a gradual gate.

Generated files mixed with hand-written files need special care. Prefer a stable generation directory or explicit manifest over a broad suffix wildcard that could hide maintained source. Excluding vendored code from duplication analysis does not settle separate licensing or distribution obligations.

#1 Best Overall
GameStop Physical Gift Card
  • Redeemable at US GameStop, EB Games, Babbage's, Electronic Boutique, EBX, Planet X, and Software Etc. stores. Also redeemable online at and GameStop.com and EBGames.com.
  • Over 6,100 stores located throughout the United States.
  • GameStop. Power to the Players.
  • Redemption: Instore and Online
  • No returns and no refunds on gift cards.

Configure jscpd exclusions and legacy baselines

The jscpd configuration reference documents --ignore for glob patterns, --ignore-pattern for regular-expression matches in code, a default .jscpd.json configuration path, and --debug to print merged CLI and configuration settings. Adapt paths to the repository and confirm the installed version’s behavior.

Exclude generated or vendor paths

jscpd --ignore "**/generated/**,**/vendor/**" ./src

This example filters matching paths from the scan; it does not remove those files from version control. Do not copy it unchanged if generated and maintained files share those directory names.

Rank #2
Xbox Physical Gift Card
  • XBOX GIFT CARD: Buy full digital game downloads, game add-ons, in-game currency, memberships, devices, apps, movies, TV shows, and more.
  • DIGITAL GAMES: Choose from hundreds of games, from AAA to indie options. Start playing the moment your most anticipated game is available when you pre-order and pre-download it.
  • GAME AD-ONS: Extend the experience of your favorite games with add-ons and in-game currency.
  • MOVIES & TV SHOWS: Rent or buy new and popular movies and TV shows from a massive library.
  • PERFECT GIFT: Great as a gift for a friend or yourself. Xbox Gift Cards are easy to use, never expire, and give the freedom to pick the gift they want. Enjoy more ways to play without a credit card attached to your Microsoft account.

Gate new clones in legacy code

To record an accepted state, commit the baseline file and refresh it deliberately when the team approves a new accepted state:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
jscpd --baseline .jscpd-baseline.json --update-baseline ./src

Then run the check in CI:

jscpd --baseline .jscpd-baseline.json --fail-on-new-clones ./src

The documentation also describes comparing against a Git ref:

Rank #3
$100 XBOX Gift Card [Digital Code]
  • THE PERFECT GAMING GIFT — Buy an XBOX Gift Card for yourself or a friend and let them choose the games, add‑ons, subscriptions, and accessories they want most.
  • USE FOR GAMES & CONTENT — Redeem for thousands of digital XBOX games, from backward compatible classics to the latest new releases, plus DLC and in‑game currency.
  • GAME PASS READY — Apply your balance toward XBOX Game Pass Ultimate to play new titles on day one* and access a library of hundreds of high‑quality console games.
  • PRE‑ORDER & PRE‑INSTALL GAMES — Use your balance to pre‑order and pre‑download upcoming titles so you’re ready to play the moment they launch.
  • NO FEES OR EXPIRATION — XBOX Gift Cards never expire and have no service fees, so your balance is ready whenever you are.
jscpd --baseline-from-ref origin/main --fail-on-new-clones ./src

For the ref-based form, the base ref must exist locally; a shallow CI checkout may need to fetch it. jscpd describes baseline fingerprints as based on duplicate content and multiplicity, so this is not a generic promise that all tools match or ignore legacy findings identically. Avoid updating a baseline automatically on every CI run: doing so can accept new clones rather than fail on them.

Suppress a narrow region

jscpd documents jscpd:ignore-start and jscpd:ignore-end markers for a local region. Its detection guide says the default mild mode drops whitespace tokens, weak also drops comments, and strict keeps every token. These modes alter what counts as a match; they do not exclude generated paths. See jscpd’s detection guide.

Rank #4
Fortnite Physical Gift Card
  • An Epic Games account is required to redeem an Epic Games Store Card code
  • If playing on a console platform (PlayStation Network, Xbox Live, Nintendo Switch or Mobile) you need to link your Epic Games account to that gaming platform (one time) to redeem your gift card code
  • The 16 digit code on the back of the card WILL NOT work if redeemed directly through your gaming platform (PlayStation Network, Xbox Live, Nintendo Switch, Mobile, etc.)
  • Note: Nintendo devices do not support Fortnite Shared Wallet, so V-Bucks purchased using your account balance will not show up on your Nintendo device. However, if you purchase items in the web Item Shop — or another platform where you play Fortnite — those items will be available in your Locker across all platforms.
  • Redemption: Online

Configure PMD CPD exclusions carefully

PMD CPD’s CLI reference documents --dir, --file-list, --exclude, and --exclude-file-list. A file list uses one path per line; the exclude file list also uses one path per line and can be combined with --exclude. The reference says --exclude-file-list is available for CPD since PMD 7.14.0; --ignore-list was renamed in that release and is deprecated. Confirm the installed version and exact path syntax in the PMD CLI reference.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
pmd cpd --minimum-tokens 100 --dir src \
  --exclude "src/generated"

This illustrates the option, not a universal directory-glob rule: the documented option describes paths to files to ignore, so validate whether the value you supply is accepted for your installed version and repository layout. CPD requires --minimum-tokens, and its documented default language is Java. Its CPD-OFF and CPD-ON region markers are supported only for a listed set of languages in the CPD documentation.

Best Value
$25 PlayStation Store Gift Card [Digital Code]
  • Redeem for anything on PlayStationStore: games, add-ons, PlayStationPlus and more.
  • Everything you want to play. Choose from the largest library of PlayStation content.
  • Use gift card funds to contribute towards PlayStationPlus memberships.

Options such as --ignore-identifiers and --ignore-literals change matching behavior; they do not remove generated or legacy paths from analysis. Raising the minimum clone size has the same limitation: it changes what is detected rather than selecting which files are scanned.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Understand Maven PMD’s two different exclusion layers

The Maven PMD plugin’s violation-exclusion guide distinguishes suppressing CPD failures from excluding source files from analysis. In the guide’s version 3.28.0 example, excludeFromFailureFile can exclude violations from failure handling, while <excludes> or <excludeRoots> exclude files from analysis. The guide shows patterns such as **/generated/*.java and specifies that exclusion patterns are relative to the source root. Check the plugin version and configuration context in the Maven PMD plugin violation-exclusions guide.

Choose based on the desired result: use analysis exclusions when the files should not be scanned; use a failure exclusion when findings may remain useful in the report but should not fail the build. A passing build alone does not prove that the files disappeared from analysis.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify the change locally and in CI

  1. Run the detector with its effective configuration visible where possible. For jscpd, use --debug to inspect merged settings.
  2. Check the report’s analyzed file count and paths. Confirm that a representative generated file is absent and a representative hand-maintained file remains included.
  3. Introduce or select a known in-scope duplication case in a safe test branch or fixture and confirm that the intended report or gate still detects it.
  4. Test the CI behavior: the job should fail for the condition it is meant to gate, and the exclusion or baseline configuration should be committed.
  5. Guard against a scan that analyzes nothing. jscpd documents --fail-on-empty, which makes an empty scan fail instead of passing quietly.

Do not judge success only by whether CI turns green. A broad pattern can hide the entire source tree, and a failure-only suppression can leave the report unchanged.

Troubleshoot exclusions that do not behave as expected

  • The supposedly excluded file still appears: Check that the scanner loaded the configuration you edited, the path is relative to the expected root, and the installed version supports the option or syntax.
  • Hand-written files disappeared too: Narrow the path or replace a broad filename wildcard with a generated-file manifest or stable output directory.
  • The build passes but findings remain: The integration may suppress build failures without removing findings from reports. Confirm whether the setting changes scan scope, reporting, or only gating.
  • The baseline check fails to find its base: Fetch the referenced ref in CI or use a committed baseline file when the required ref is not available locally.
  • The scan passes with no useful coverage: Inspect report paths and counts, then enable an empty-scan failure if the detector supports it.
  • Changing thresholds did not remove generated files: Thresholds and token-normalization settings change clone matching, not path selection. Configure a supported path exclusion instead.

Keep exclusions reviewable

Record each exception’s scope, reason, and owner in a place the team reviews. Revisit it when generator output, directory layout, or detector configuration changes. For legacy code, treat a baseline as an explicit accepted state and refresh it only as a deliberate maintenance decision; where no baseline feature exists, keep suppressions as narrow as possible and track the remaining blind spot.

Quick Recap

Bestseller No. 1
GameStop Physical Gift Card
GameStop Physical Gift Card
Over 6,100 stores located throughout the United States.; GameStop. Power to the Players.; Redemption: Instore and Online
$25.00
Bestseller No. 2
Xbox Physical Gift Card
Xbox Physical Gift Card
MOVIES & TV SHOWS: Rent or buy new and popular movies and TV shows from a massive library.
$25.00
Bestseller No. 3
$100 XBOX Gift Card [Digital Code]
$100 XBOX Gift Card [Digital Code]
Gift cards are region‑specific (U.S. only) and cannot be transferred once redeemed.
$100.00
Bestseller No. 4
Fortnite Physical Gift Card
Fortnite Physical Gift Card
An Epic Games account is required to redeem an Epic Games Store Card code; Redemption: Online
$50.00
Bestseller No. 5
$25 PlayStation Store Gift Card [Digital Code]
$25 PlayStation Store Gift Card [Digital Code]
Redeem for anything on PlayStationStore: games, add-ons, PlayStationPlus and more.; Everything you want to play. Choose from the largest library of PlayStation content.
$25.00

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.