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

devonfw / IDEasy / 25503019064

07 May 2026 02:44PM UTC coverage: 70.762% (+0.02%) from 70.741%
25503019064

Pull #1894

github

web-flow
Merge 7a9711a33 into fd215c395
Pull Request #1894: #1892: fixed gui-launcher pom.xml not being included in native images on nightly/release builds.

4409 of 6880 branches covered (64.08%)

Branch coverage included in aggregate %.

11361 of 15406 relevant lines covered (73.74%)

3.12 hits per line

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

20.0
cli/src/main/java/com/devonfw/tools/ide/tool/gui/Gui.java
1
package com.devonfw.tools.ide.tool.gui;
2

3
import java.nio.file.Files;
4
import java.nio.file.Path;
5
import java.util.List;
6

7
import org.slf4j.Logger;
8
import org.slf4j.LoggerFactory;
9

10
import com.devonfw.tools.ide.commandlet.Commandlet;
11
import com.devonfw.tools.ide.context.IdeContext;
12
import com.devonfw.tools.ide.process.ProcessContext;
13
import com.devonfw.tools.ide.process.ProcessContextImpl;
14
import com.devonfw.tools.ide.process.ProcessMode;
15
import com.devonfw.tools.ide.tool.ToolEditionAndVersion;
16
import com.devonfw.tools.ide.tool.ToolInstallRequest;
17
import com.devonfw.tools.ide.tool.java.Java;
18
import com.devonfw.tools.ide.tool.mvn.Mvn;
19
import com.devonfw.tools.ide.version.VersionIdentifier;
20

21
/**
22
 * {@link Commandlet} to launch the IDEasy GUI.
23
 */
24
public class Gui extends Commandlet {
25

26
  private static final Logger LOG = LoggerFactory.getLogger(Gui.class);
4✔
27

28
  /**
29
   * @param context the {@link IdeContext}.
30
   */
31
  public Gui(IdeContext context) {
32

33
    super(context);
3✔
34
    addKeyword(getName());
4✔
35
  }
1✔
36

37
  @Override
38
  public String getName() {
39

40
    return "gui";
2✔
41
  }
42

43
  @Override
44
  protected void doRun() {
45

46
    ProcessContext processContext = new ProcessContextImpl(this.context);
×
47

48
    ToolInstallRequest toolInstallRequest = new ToolInstallRequest(false);
×
49
    toolInstallRequest.setProcessContext(processContext);
×
50
    toolInstallRequest.setRequested(
×
51
        new ToolEditionAndVersion(VersionIdentifier.of("25.*"))
×
52
    );
53

54
    Java java = this.context.getCommandletManager().getCommandlet(Java.class);
×
55
    Mvn mvn = this.context.getCommandletManager().getCommandlet(Mvn.class);
×
56
    java.install(toolInstallRequest);
×
57
    mvn.install(false);
×
58

59
    LOG.debug("Starting GUI via commandlet");
×
60

61
    Path pomPath = context.getIdeInstallationPath().resolve("gui/pom.xml");
×
62
    if (!Files.exists(pomPath)) {
×
63
      LOG.error("Fatal error: The pom.xml file required for launching the IDEasy GUI could not be found in expected location: {}", pomPath);
×
64
      return;
×
65
    }
66

67
    List<String> args = List.of(
×
68
        "-f",
69
        pomPath.toString(),
×
70
        "exec:exec",
71
        "-Dexec.executable=java",
72
        "-Dexec.classpathScope=compile",
73
        "-Dexec.args=-classpath %classpath com.devonfw.ide.gui.AppLauncher"
74
    );
75

76
    mvn.runTool(processContext, ProcessMode.DEFAULT, args);
×
77
  }
×
78
}
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

© 2026 Coveralls, Inc