• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

devonfw / IDEasy / 12429379558

20 Dec 2024 10:01AM UTC coverage: 67.345% (-0.1%) from 67.478%
12429379558

Pull #903

github

web-flow
Merge d3d2a74f1 into bc0d144fa
Pull Request #903: #898 improved feedback messages

2576 of 4174 branches covered (61.72%)

Branch coverage included in aggregate %.

6659 of 9539 relevant lines covered (69.81%)

3.07 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

70.69
cli/src/main/java/com/devonfw/tools/ide/commandlet/VersionGetCommandlet.java
1
package com.devonfw.tools.ide.commandlet;
2

3
import com.devonfw.tools.ide.context.IdeContext;
4
import com.devonfw.tools.ide.log.IdeLogLevel;
5
import com.devonfw.tools.ide.log.IdeSubLogger;
6
import com.devonfw.tools.ide.property.FlagProperty;
7
import com.devonfw.tools.ide.property.ToolProperty;
8
import com.devonfw.tools.ide.tool.ToolCommandlet;
9
import com.devonfw.tools.ide.version.VersionIdentifier;
10

11
/**
12
 * An internal {@link Commandlet} to get the installed version for a tool.
13
 *
14
 * @see ToolCommandlet#getInstalledVersion()
15
 */
16
public class VersionGetCommandlet extends Commandlet {
17

18
  /** The tool to get the version of. */
19
  public final ToolProperty tool;
20

21
  /** Flag to get the configured version. */
22
  public final FlagProperty configured;
23

24
  /** Flag to get the installed version. */
25
  public final FlagProperty installed;
26

27
  /**
28
   * The constructor.
29
   *
30
   * @param context the {@link IdeContext}.
31
   */
32
  public VersionGetCommandlet(IdeContext context) {
33

34
    super(context);
3✔
35
    addKeyword(getName());
4✔
36
    this.tool = add(new ToolProperty("", true, "tool"));
11✔
37
    this.configured = add(new FlagProperty("--configured"));
9✔
38
    this.installed = add(new FlagProperty("--installed"));
9✔
39
  }
1✔
40

41
  @Override
42
  public String getName() {
43

44
    return "get-version";
2✔
45
  }
46

47
  @Override
48
  public boolean isProcessableOutput() {
49

50
    return true;
×
51
  }
52

53
  @Override
54
  public void run() {
55

56
    ToolCommandlet commandlet = this.tool.getValue();
5✔
57
    VersionIdentifier configuredVersion = commandlet.getConfiguredVersion();
3✔
58
    VersionIdentifier installedVersion = commandlet.getInstalledVersion();
3✔
59
    IdeSubLogger logger = this.context.level(IdeLogLevel.PROCESSABLE);
5✔
60
    if (this.installed.isTrue() && !this.configured.isTrue()) {// get installed version
8!
61
      if (installedVersion == null) {
2✔
62
        toolInstallInfo(commandlet.getName(), configuredVersion, null, commandlet);
8✔
63
      } else {
64
        logger.log(installedVersion.toString());
5✔
65
      }
66
    } else if (!this.installed.isTrue() && this.configured.isTrue()) {// get configured version
8!
67
      logger.log(configuredVersion.toString());
5✔
68
    } else if (this.installed.isTrue() && this.configured.isTrue()) {// get both configured and installed version
4!
69
      logger.log(configuredVersion.toString());
×
70
      if (!configuredVersion.matches(installedVersion)) {
×
71
        if (installedVersion != null) {
×
72
          logger.log(installedVersion.toString());
×
73
        } else {
74
          logger.log("No installed version detected");
×
75
        }
76
      }
77
    } else {
78
      if (installedVersion == null) {
2✔
79
        logger.log(configuredVersion.toString());
5✔
80
      } else {
81
        logger.log(installedVersion.toString());
4✔
82
      }
83
    }
84
  }
1✔
85

86
  private void toolInstallInfo(String toolName, VersionIdentifier configuredVersion, VersionIdentifier installedVersion, ToolCommandlet commandlet) {
87

88
    IdeSubLogger logger = this.context.level(IdeLogLevel.PROCESSABLE);
5✔
89
    if (installedVersion == null) {
2!
90
      logger.log("No installation of tool {} was found.", commandlet.getName());
12✔
91
    } else {
92
      logger.log("The installed version for tool {} is {}", commandlet.getName(), installedVersion);
×
93
    }
94
    logger.log("The configured version for tool {} is {}", toolName, configuredVersion);
14✔
95
    logger.log("To install that version call the following command:");
3✔
96
    logger.log("ide install {}", toolName);
10✔
97

98
  }
1✔
99

100
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc