-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New approach for ide-mirrors #941
Comments
For the record we could even change more radically:
So each version would be a folder containing config files. That would directly contain the complete download URL(s) for the exact version, OS, architecture. If no matching |
Actually only adding the "latest" version does not work or solve our issue. In that linked commit we can also see that the eclipse versions |
After we continue to have various bugs and complex problems computing the download URLs for all combinations of OS, Architecture, Version, Edition and we face that providers do not follow conventions or break their own conventions for single releases or from one version to the next, etc. I come to the conclusion that we really should create a new mirrors git repository from scratch with a new layout as suggested above. We should consider using We could even think if we want to express that for This leads us to the schema:
We could even automatically find the URLs file in the
Values for
Values for
In devonfw-ide itself the new approach would have the following implications per use-case:
On the other hand the github action workflow for this new mirrors repo crawling for new versions and computing the URLs, etc. would get somewhat more complex. Here we still have to deal with things like
~ |
For the record: In 2022 we can even decide to drop support for Therefore relevant combinations are currently:
|
I created the new repository here: |
Currently for mirrors workflow we have good support for github API. It also has several mirrors: The great thing is that is follows very strict conventions. And we can simply get the versions here: So
I am not saying that we have to add |
…e-mirrors-1009-Create-crawler-Create-1008-create-URL-checker devonfw#941: IDE UPDATER
Incredible but true: All bugs I am aware of and all tasks to implement for this epic are finally done and I can therefore close this now. |
This epic is about replacing ide-mirrors with ide-urls. The latter has been created from scratch for this epic.
The rationale is that ide-mirrors had several design flaws in its structure that prevented us from automatic updating and required manual intervention. The idea of both mirrors and urls is to provide the meta-data of all the various tools we support with their available versions and URLs where to download which version for what operating system and architecture.
With the new approach of ide-urls we want to make a clean cut and redesign the entire structure of the metadata such that we get rid of manual maintenance and our end-users benefit from getting always the latest meta-data what especially means the latest available version information. The benefit of creating a new ide-urls repository is that we can keep the existing ide-mirrors untouched so existing releases of devonfw-ide out there that still rely on it do not get broken by our changes. Starting with release
2023.07.001
the new ide-urls will be used and ide-mirrors becomes legacy. For downward compatibility we will leave ide-mirrors online even for a long time after the new release is published. However, after a year or so it could also be deleted.So far we have implemented an approach in get-versions script that computes the
available-versions
from scratch every time viacurl
download and pipe magic to extract the versions from formats such as JSON, do specific replacements, filter unstable/undesired versions, sort versions, etc.The actual details can be found in the comments below.
I marked this complex issue as an Epic and therefore created sub-tasks for the actual stories to break down the epic:
The text was updated successfully, but these errors were encountered: