James Falkner
2020-03-12 92e5f31395261f0c0cd6dc7b1591b24b082b9095
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{
  "apiVersion": "1.0.0",
  "metadata": {
    "name": "{{ user }}-workspace"
  },
  "components": [
    {
      "id": "redhat/java/latest",
      "type": "chePlugin"
    },
    {
      "mountSources": true,
      "memoryLimit": "4Gi",
      "type": "dockerimage",
      "alias": "quarkus-tools",
      "image": "image-registry.openshift-image-registry.svc:5000/openshift/quarkus-stack:1.5",
      "env": [
        {
          "value": "/home/jboss/.m2",
          "name": "MAVEN_CONFIG"
        },
        {
          "value": "-Xmx4G -Xss128M -XX:MetaspaceSize=1G -XX:MaxMetaspaceSize=2G -XX:+CMSClassUnloadingEnabled",
          "name": "MAVEN_OPTS"
        }
      ],
      "endpoints": [
        {
          "name": "web-{{ user }}",
          "port": 8080,
          "attributes": {
            "discoverable": "true",
            "public": "true",
            "protocol": "http"
          }
        },
        {
          "name": "debug-{{ user }}",
          "port": 5005,
          "attributes": {
            "discoverable": "true",
            "public": "true",
            "protocol": "jdwp"
          }
        }
      ]
    }
  ],
  "commands": [
    {
      "name": "Build",
      "actions": [
        {
          "type": "exec",
          "component": "quarkus-tools",
          "command": "mvn clean package -f ${current.project.path}",
          "workdir": "${CHE_PROJECTS_ROOT}"
        }
      ]
    },
    {
      "name": "Test",
      "actions": [
        {
          "type": "exec",
          "component": "quarkus-tools",
          "command": "mvn verify -f ${current.project.path}",
          "workdir": "${CHE_PROJECTS_ROOT}"
        }
      ]
    },
    {
      "name": "Build and Run Locally",
      "actions": [
        {
          "type": "exec",
          "component": "quarkus-tools",
          "command": "mvn clean compile quarkus:dev -f ${current.project.path}",
          "workdir": "${CHE_PROJECTS_ROOT}"
        }
      ]
    },
    {
      "name": "Build Native Quarkus App",
      "actions": [
        {
          "type": "exec",
          "component": "quarkus-tools",
          "command": "mvn -f ${current.project.path} clean package -Pnative -DskipTests",
          "workdir": "${CHE_PROJECTS_ROOT}"
        }
      ]
    },
    {
      "name": "Package for OpenShift",
      "actions": [
        {
          "type": "exec",
          "component": "quarkus-tools",
          "command": "mvn -f ${current.project.path} clean package -DskipTests -Dquarkus.profile=prod",
          "workdir": "${CHE_PROJECTS_ROOT}"
        }
      ]
    },
    {
      "name": "Run Spring Boot App",
      "actions": [
        {
          "type": "exec",
          "component": "quarkus-tools",
          "command": "mvn spring-boot:run -f ${current.project.path}",
          "workdir": "${CHE_PROJECTS_ROOT}"
        }
      ]
    },
    {
      "name": "Start Debugger on 5005",
      "actions": [
        {
          "type": "vscode-launch",
          "referenceContent": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"type\": \"java\",\n      \"request\": \"attach\",\n      \"name\": \"Attach to App\",\n      \"hostName\": \"localhost\",\n      \"port\": 5005\n    }\n  ]\n}\n"
        }
      ]
    }
 
  ]
}