1 package io.micronaut.build;
2
3 /**
4 * The packaging kind of the application.
5 *
6 * @author graemerocher
7 * @author Álvaro Sánchez-Mariscal
8 * @since 1.1
9 */
10 public enum MicronautRuntime {
11
12 /**
13 * No specific runtime specified.
14 */
15 NONE(),
16
17 /**
18 * Default packaging.
19 */
20 NETTY(),
21
22 /**
23 * Tomcat server.
24 */
25 TOMCAT(),
26
27 /**
28 * Jetty server.
29 */
30 JETTY(),
31
32 /**
33 * Undertow server.
34 */
35 UNDERTOW(),
36
37 /**
38 * AWS lambda packaged as a Jar file.
39 */
40 LAMBDA(DockerBuildStrategy.LAMBDA),
41
42 /**
43 * Oracle Cloud Function, packaged as a docker container.
44 */
45 ORACLE_FUNCTION(DockerBuildStrategy.ORACLE_FUNCTION),
46
47 /**
48 * Google Cloud Function, packaged as a Fat JAR.
49 */
50 GOOGLE_FUNCTION(),
51
52 /**
53 * Azure Cloud Function.
54 */
55 AZURE_FUNCTION();
56
57 private final DockerBuildStrategy buildStrategy;
58
59 MicronautRuntime() {
60 this.buildStrategy = DockerBuildStrategy.DEFAULT;
61 }
62
63 MicronautRuntime(DockerBuildStrategy buildStrategy) {
64 this.buildStrategy = buildStrategy;
65 }
66
67 /**
68 * @return The docker build strategy
69 */
70 public DockerBuildStrategy getBuildStrategy() {
71 return buildStrategy;
72 }
73
74 public static final String PROPERTY = "micronaut.runtime";
75
76 }