← Back to issue list

sources: convert to package.

View original Github issue

Metadata

Project
snapcraft
Number
#955
Type
pull request
State
merged
Author
kyrofa
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #955 (commit 0ef7dc218) converted snapcraft/internal/sources.py into a package, groundwork for LP bug #1648906. Follow-ups #957 and #961-#970 then split each source handler into its own module.

Resolution: closed resolved

Reason: The refactor PR was approved and merged into master as commit 0ef7dc218 ("sources: convert to package. (#955)"), moving snapcraft/internal/sources.py into a sources package. The stated plan was completed by follow-up commits770607725 (#957), ec4b8f341 (#961), 770607725, 9aad0e3a5 (#963), f9ee3f034 (#964), e42bc812f (#965), 07697e4f4 (#966), d80be9fe0 (#967), ebfd3ea27 (#968), 6fb798890 (#969) and db2a6fb6a (#970), which refactored base, local, bazaar, deb, git, mercurial, rpm, script, svn, tar and zip sources into individual modules.

Evaluated by: mr-cal-bot

No scores available.

Issue body

This PR makes progress on LP: [#1648906](https://bugs.launchpad.net/snapcraft/+bug/1648906) by moving `snapcraft/internal/sources.py` into its own package. Subsequent PRs will further refactor this by extracting each source into its own module.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #955 (commit 0ef7dc218) converted snapcraft/internal/sources.py into a package, groundwork for LP bug #1648906. Follow-ups #957 and #961-#970 then split each source handler into its own module.
stealth/space-bunny-alpha — closed resolved Merged PR #955 as commit 0ef7dc218, converting snapcraft/internal/sources.py into a package as groundwork for extracting individual source handlers.
stealth/space-bunny-alpha — closed resolved Merged PR #955 as commit 0ef7dc218, converting snapcraft/internal/sources.py into a package as a step toward modularizing individual source handlers.
qwen/qwen3.6-35b-a3b — — Merged conversion of snapcraft/internal/sources.py into a package. Approved by one reviewer and passed CI. This refactoring enables extracting individual source handlers into separate modules in follow-up updates.
qwen3.6-35b-a3b-mtp-q6 — — Merged by kyrofa, this pull request converts sources.py into a dedicated package to advance LP #1648906. Codecov noted a 1.18% coverage decrease upon merge. Subsequent changes will extract individual sources into separate modules.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft#957 (confidence 95%)

    Commit 770607725 'sources: refactor base sources into module' — first follow-up completing the extraction plan described in #955

  • Related To: snapcraft#961 (confidence 93%)

    Commit ec4b8f341 'sources: refactor local source into module' — follow-up extraction after #955

  • Related To: snapcraft#963 (confidence 92%)

    Commit 9aad0e3a5 'sources: refactor deb source into module' — part of the same per-source extraction series

  • Related To: snapcraft#969 (confidence 92%)

    Commit 6fb798890 'sources: refactor tar source into module' — same follow-up series

  • Related To: snapcraft#970 (confidence 92%)

    Commit db2a6fb6a 'sources: refactor zip source into module' — appears to be the last of the extraction PRs referenced by #955

Related issues

Issue Project State Summary Similarity
#964 sources: refactor git source into module. snapcraft merged Merged PR #964 (commit f9ee3f034) by maintainer kyrofa, extracting the Git source handler out of sources.py into snapcraft/sources/_git.py as part of the sources refactor series for LP #1648906.
73%
#953 sources: refactor base sources into new package. snapcraft closed Closed unmerged after review changes; successor PR snapcraft#957 completed the Base and FileBase extraction in commit 1d34e9e6b.
72%
#1648906 Sources are getting difficult to maintain snapcraft (launchpad) closed Source handlers were split from snapcraft/internal/sources.py into modules by snapcore/snapcraft PRs #957 and #961–#970, resolving the maintainability issue.
72%
#966 sources: refactor rpm source into module. snapcraft merged Merged PR snapcraft#966 (merge commit 07697e4f4) extracted the RPM source handler into snapcraft/sources/_rpm.py as part of the ongoing refactor for LP bug #1648906; +131/-90 lines, no functional change.
71%
#954 pluginhandler: convert to package snapcraft merged Merged PR #954 (commit 121498b9e, Dec 2016) restructuring snapcraft's pluginhandler module into a package, per LP #1649301; pure refactor with no coverage change.
70%
#61 sources: add snap source handler craft-parts merged Merged in canonical/craft-parts#61 via commit 47fbdb86, adding a Snapcraft-derived handler and tests to download and extract files from snap packages.
70%