Skip to content

#2211: Delete PythonUrlUpdater and related files - #2220

Open
Paras14 wants to merge 3 commits into
devonfw:mainfrom
Paras14:2211-delete-python-url-updater
Open

#2211: Delete PythonUrlUpdater and related files#2220
Paras14 wants to merge 3 commits into
devonfw:mainfrom
Paras14:2211-delete-python-url-updater

Conversation

@Paras14

@Paras14 Paras14 commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #2211

Implemented changes:

  • Deleted PythonUrlUpdater and its supporting classes PythonFile, PythonJsonObject and PythonRelease, together with PythonUrlUpdaterTest and its test resource.
  • Removed the PythonUrlUpdater import and its entry in the updater list in UpdateManager.
  • Background: since Python not available for Mac x64 #2100 / #2100: Resolve python versions via uv instead of ide-urls #2152, Python versions are resolved via uv python list (PythonRepository) instead of ide-urls, so the Python URL metadata is no longer used for installing Python and does not need to be crawled anymore.
  • The python dependencies.json and security.json in ide-urls remain in use (findDependencies / findSecurity) and are untouched by this PR.
  • Note: the removal of the existing Python version metadata in ide-urls is a separate PR (Delete python version metadata (devonfw/IDEasy#2211) ide-urls#45) in the devonfw/ide-urls repository, which must only be merged after this PR, because the nightly update-urls workflow would otherwise regenerate the deleted folders.

Testing instructions

  1. Run mvn clean test, all tests pass and the build is successful.
  2. Verify that UpdateManager no longer references PythonUrlUpdater and that the url-updater module still compiles and runs for the remaining tools.
  3. After merge, the nightly Update URLS workflow no longer writes new Python versions into ide-urls; existing Python metadata stays untouched.

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summarizes what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled
    with internal
  • You have formulated clear instructions on how to test your contribution under "Testing instructions"

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board Jul 28, 2026
@Paras14 Paras14 self-assigned this Jul 28, 2026
@Paras14 Paras14 added enhancement New feature or request python runtime for python language install installation process of IDE + tools and install commandlet internal Nothing to be added to CHANGELOG, only internal story uv fast Python package and project manager labels Jul 28, 2026
@Paras14 Paras14 moved this from 🆕 New to Team Review in IDEasy board Jul 28, 2026
@coveralls

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 30343976495

Coverage decreased (-0.08%) to 72.519%

Details

  • Coverage decreased (-0.08%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 26 coverage regressions across 4 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

26 previously-covered lines in 4 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/url/updater/UpdateManager.java 20 0.0%
com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java 4 82.86%
com/devonfw/tools/ide/tool/ide/IdeToolCommandlet.java 1 78.33%
com/devonfw/tools/ide/version/VersionSegment.java 1 90.03%

Coverage Stats

Coverage Status
Relevant Lines: 16949
Covered Lines: 12822
Line Coverage: 75.65%
Relevant Branches: 7577
Covered Branches: 4964
Branch Coverage: 65.51%
Branches in Coverage %: Yes
Coverage Strength: 3.2 hits per line

💛 - Coveralls

@oanding-blrng oanding-blrng left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The project and the module are passing can be compiled and passed are tests. The UpdateManager.java doesn't create/use the PythonUrlUpdater.java and therefore no crawling regarding the URL defined in the PythonUrlUpdater.java should be made.

After fixing the CHANGELOG.adoc and updating the branch to the latest commit of main, this PR can move forward.

Comment thread CHANGELOG.adoc

* https://github.com/devonfw/IDEasy/issues/2176[#2176]: Support 7z archive extraction
* https://github.com/devonfw/IDEasy/issues/2100[#2100]: Fix Python not available for Mac x64
* https://github.com/devonfw/IDEasy/issues/NNNN[#2211]: Delete PythonUrlUpdater and python metadata from ide-urls

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* https://github.com/devonfw/IDEasy/issues/NNNN[#2211]: Delete PythonUrlUpdater and python metadata from ide-urls

The ticket and this pr are labeled with internal. As per DoD, no additional entry had to be made in the CHANGELOG.adoc.

@hohwille hohwille moved this from Team Review to 👀 In review in IDEasy board Jul 30, 2026

@hohwille hohwille left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Paras14 thanks for your PR. Great to do some cleanup. 👍
I have some formatting question that we should clarify but must not block this PR.
Also you should apply the review suggestion from @oanding-blrng
Then we can merge.

Comment on lines +78 to +88
new DockerDesktopUrlUpdater(), new DotNetUrlUpdater(), new EclipseCppUrlUpdater(), new EclipseJeeUrlUpdater(), new EclipseJavaUrlUpdater(),
new GcLogAnalyzerUrlUpdater(),
new GCloudUrlUpdater(), new GcViewerUrlUpdater(), new GhUrlUpdater(), new GoUrlUpdater(), new GraalVmCommunityUpdater(), new GraalVmOracleUrlUpdater(),
new GradleUrlUpdater(), new HelmUrlUpdater(), new InsoUrlUpdater(), new IntellijUrlUpdater(), new JasyptUrlUpdater(), new JavaAzulUrlUpdater(),
new JavaUrlUpdater(), new JenkinsUrlUpdater(), new JmcUrlUpdater(), new KotlincUrlUpdater(), new KotlincNativeUrlUpdater(), new LazyDockerUrlUpdater(), new MvnUrlUpdater(),
new MvndUrlUpdater(), new NgUrlUpdater(), new NodeUrlUpdater(), new NpmUrlUpdater(), new OcUrlUpdater(), new PgAdminUrlUpdater(), new PipUrlUpdater(), new PycharmUrlUpdater(),
new PythonUrlUpdater(), new QuarkusUrlUpdater(), new RubyUrlUpdater(), new RustUrlUpdater(), new DockerRancherDesktopUrlUpdater(), new SonarUrlUpdater(),
new SquirrelSqlUrlUpdater(), new SoapUiUrlUpdater(), new TerraformUrlUpdater(), new TomcatUrlUpdater(), new UvUrlUpdater(), new VsCodeUrlUpdater(), new VsCodiumUrlUpdater());
new JavaUrlUpdater(), new JenkinsUrlUpdater(), new JmcUrlUpdater(), new KotlincUrlUpdater(), new KotlincNativeUrlUpdater(), new LazyDockerUrlUpdater(),
new MvnUrlUpdater(),
new MvndUrlUpdater(), new NgUrlUpdater(), new NodeUrlUpdater(), new NpmUrlUpdater(), new OcUrlUpdater(), new PgAdminUrlUpdater(), new PipUrlUpdater(),
new PycharmUrlUpdater(),
new QuarkusUrlUpdater(), new RubyUrlUpdater(), new RustUrlUpdater(), new DockerRancherDesktopUrlUpdater(), new SonarUrlUpdater(),
new SquirrelSqlUrlUpdater(), new SoapUiUrlUpdater(), new TerraformUrlUpdater(), new TomcatUrlUpdater(), new UvUrlUpdater(), new VsCodeUrlUpdater(),
new VsCodiumUrlUpdater());

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing technical wrong here, but how can we prevent these diff-wars and the ugly reformatting?
Is that cause by IntelliJ because my IntelliJ is not doing this?
I think it is stupid to break a line that is considered too long and then move a single updater out of the long CSV into its own line leaving a strange mess of long and short lines.
Either we have one url updater listed per line (what makes this very verbose and requires more vertical scrolling), or we have a commonly agreed number or chars per line and on reformatting each line is filled so that limit is not exceeded but the line gets as long as it is allowed to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request install installation process of IDE + tools and install commandlet internal Nothing to be added to CHANGELOG, only internal story python runtime for python language uv fast Python package and project manager

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

Delete PythonUrlUpdater and python metadata from ide-urls

4 participants