Skip to content

Support for IDE_MIN_VERSION #793

Description

@hohwille

As a IDEasy user, I want to be able to define a minimum version of IDEasy product itself in my settings/ide.properties so that my developers get informed if they are using an outdated version of IDEasy that will not work for my project.

This feature was already present in devonfw-ide:
https://github.com/devonfw/ide/blob/9efaf926f1daa4e1e37a22fc89081255fbf55dab/scripts/src/main/resources/scripts/command/ide#L239-L248
However, it was more of a hidden feature since it was forgotten to document it here:
https://github.com/devonfw/ide/blob/master/documentation/variables.asciidoc
Original devonfw-ide story: devonfw/ide#999

In IDEasy we want to introduce a variable IDE_MIN_VERSION.
It should not fall back to a legacy variable DEVON_IDE_MIN_VERSION since the values configured for devonfw-ide do not make any sense in the context of IDEasy.
If that variable is defined, it shall be parsed as a VersionIdentifier and then the current IDEasy version shall be compared with it.
If the installed IDEasy version is lower than the configured IDE_MIN_VERSION then

  • ide create shall fail after cloning the settings with an according error message
  • in other situations (running a tool, installing something, status commandlet, etc.) we should only render a warning message.
    That message should be:
Your version of IDEasy is currently «installed-version»
However, this is too old as your project requires at latest version ${IDE_MIN_VERSION}
Please run the following command to update to the latest version of IDEasy and fix the problem:
ide upgrade

The variable should also be documented in variables.adoc.
Further, in our ide-settings in the top-level ide.properties we should already configure this variable with a current official release version.
Once we are out of beta that should point to the official non-beta release.
Whenever we introduce new features and use them in our ide-settings (e.g. something like improved XML merger), we need to update IDE_MIN_VERSION to an official release version of IDEasy before using such features in settings configuration files.

Metadata

Metadata

Labels

configurationshould be configurable or configuration changeenhancementNew feature or requestsettingside-settings repo and replated processes and features

Fields

No fields configured for Feature.

Projects

Status
✅ Done

Relationships

None yet

Development

No branches or pull requests

Issue actions