@@ -34,24 +34,26 @@ EXPERIMENTAL_APIS=(
34
34
udproutes
35
35
)
36
36
37
- rm -rf gateway-api/src/apis/
37
+ export APIS_DIR=' gateway-api/src/apis'
38
+ rm -rf $APIS_DIR /standard/
39
+ rm -rf $APIS_DIR /experimental/
38
40
39
- mkdir -p gateway-api/src/apis/
40
- cat << EOF > gateway-api/src/apis/mod.rs
41
+ cat << EOF > $APIS_DIR /mod.rs
41
42
pub mod experimental;
42
43
pub mod standard;
43
44
EOF
44
45
45
- mkdir -p gateway-api/src/apis/standard/
46
- mkdir -p gateway-api/src/apis/experimental/
47
46
48
- echo " // WARNING! generated file do not edit" > gateway-api/src/apis/standard/mod.rs
47
+ mkdir -p $APIS_DIR /standard/
48
+ mkdir -p $APIS_DIR /experimental/
49
+
50
+ echo " // WARNING! generated file do not edit" > $APIS_DIR /standard/mod.rs
49
51
50
52
for API in " ${STANDARD_APIS[@]} "
51
53
do
52
54
echo " generating standard api ${API} "
53
- curl -sSL " https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/${VERSION} /config/crd/standard/gateway.networking.k8s.io_${API} .yaml" | kopium --schema=derived --derive=JsonSchema --derive=Default --derive=PartialEq --docs -f - > gateway-api/src/apis /standard/${API} .rs
54
- echo " pub mod ${API} ;" >> gateway-api/src/apis /standard/mod.rs
55
+ curl -sSL " https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/${VERSION} /config/crd/standard/gateway.networking.k8s.io_${API} .yaml" | kopium --schema=derived --derive=JsonSchema --derive=Default --derive=PartialEq --docs -f - > $APIS_DIR /standard/${API} .rs
56
+ echo " pub mod ${API} ;" >> $APIS_DIR /standard/mod.rs
55
57
done
56
58
57
59
# Standard API enums that need a Default trait impl along with their respective default variant.
@@ -71,8 +73,8 @@ ENUMS_WITH_DEFAULTS=$(printf ",%s" "${ENUMS[@]}")
71
73
ENUMS_WITH_DEFAULTS=${ENUMS_WITH_DEFAULTS: 1}
72
74
73
75
# The task searches for $GATEWAY_API_ENUMS in the enviornment to get the enum names and their default variants.
74
- GATEWAY_API_ENUMS=${ENUMS_WITH_DEFAULTS} cargo xtask gen_enum_defaults >> gateway-api/src/apis /standard/enum_defaults.rs
75
- echo " mod enum_defaults;" >> gateway-api/src/apis /standard/mod.rs
76
+ GATEWAY_API_ENUMS=${ENUMS_WITH_DEFAULTS} cargo xtask gen_enum_defaults >> $APIS_DIR /standard/enum_defaults.rs
77
+ echo " mod enum_defaults;" >> $APIS_DIR /standard/mod.rs
76
78
77
79
GATEWAY_CLASS_CONDITION_CONSTANTS=" GatewayClassConditionType=Accepted"
78
80
GATEWAY_CLASS_REASON_CONSTANTS=" GatewayClassConditionReason=Accepted,InvalidParameters,Pending,Unsupported,Waiting"
@@ -84,16 +86,16 @@ LISTENER_REASON_CONSTANTS="ListenerConditionReason=HostnameConflict,ProtocolConf
84
86
GATEWAY_CLASS_CONDITION_CONSTANTS=${GATEWAY_CLASS_CONDITION_CONSTANTS} GATEWAY_CLASS_REASON_CONSTANTS=${GATEWAY_CLASS_REASON_CONSTANTS} \
85
87
GATEWAY_CONDITION_CONSTANTS=${GATEWAY_CONDITION_CONSTANTS} GATEWAY_REASON_CONSTANTS=${GATEWAY_REASON_CONSTANTS} \
86
88
LISTENER_CONDITION_CONSTANTS=${LISTENER_CONDITION_CONSTANTS} LISTENER_REASON_CONSTANTS=${LISTENER_REASON_CONSTANTS} \
87
- cargo xtask gen_condition_constants >> gateway-api/src/apis /standard/constants.rs
88
- echo " pub mod constants;" >> gateway-api/src/apis /standard/mod.rs
89
+ cargo xtask gen_condition_constants >> $APIS_DIR /standard/constants.rs
90
+ echo " pub mod constants;" >> $APIS_DIR /standard/mod.rs
89
91
90
- echo " // WARNING! generated file do not edit" > gateway-api/src/apis /experimental/mod.rs
92
+ echo " // WARNING! generated file do not edit" > $APIS_DIR /experimental/mod.rs
91
93
92
94
for API in " ${EXPERIMENTAL_APIS[@]} "
93
95
do
94
96
echo " generating experimental api $API "
95
- curl -sSL " https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/${VERSION} /config/crd/experimental/gateway.networking.k8s.io_${API} .yaml" | kopium --schema=derived --derive=JsonSchema --derive=Default --derive=PartialEq --docs -f - > gateway-api/src/apis /experimental/${API} .rs
96
- echo " pub mod ${API} ;" >> gateway-api/src/apis /experimental/mod.rs
97
+ curl -sSL " https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/${VERSION} /config/crd/experimental/gateway.networking.k8s.io_${API} .yaml" | kopium --schema=derived --derive=JsonSchema --derive=Default --derive=PartialEq --docs -f - > $APIS_DIR /experimental/${API} .rs
98
+ echo " pub mod ${API} ;" >> $APIS_DIR /experimental/mod.rs
97
99
done
98
100
99
101
# Experimental API enums that need a Default trait impl along with their respective default variant.
@@ -110,8 +112,8 @@ ENUMS=(
110
112
111
113
ENUMS_WITH_DEFAULTS=$( printf " ,%s" " ${ENUMS[@]} " )
112
114
ENUMS_WITH_DEFAULTS=${ENUMS_WITH_DEFAULTS: 1}
113
- GATEWAY_API_ENUMS=${ENUMS_WITH_DEFAULTS} cargo xtask gen_enum_defaults >> gateway-api/src/apis /experimental/enum_defaults.rs
114
- echo " mod enum_defaults;" >> gateway-api/src/apis /experimental/mod.rs
115
+ GATEWAY_API_ENUMS=${ENUMS_WITH_DEFAULTS} cargo xtask gen_enum_defaults >> $APIS_DIR /experimental/enum_defaults.rs
116
+ echo " mod enum_defaults;" >> $APIS_DIR /experimental/mod.rs
115
117
116
118
# GatewayClass conditions vary between standard and experimental
117
119
GATEWAY_CLASS_CONDITION_CONSTANTS=" ${GATEWAY_CLASS_CONDITION_CONSTANTS} ,SupportedVersion"
@@ -120,8 +122,9 @@ GATEWAY_CLASS_REASON_CONSTANTS="${GATEWAY_CLASS_REASON_CONSTANTS},SupportedVersi
120
122
GATEWAY_CLASS_CONDITION_CONSTANTS=${GATEWAY_CLASS_CONDITION_CONSTANTS} GATEWAY_CLASS_REASON_CONSTANTS=${GATEWAY_CLASS_REASON_CONSTANTS} \
121
123
GATEWAY_CONDITION_CONSTANTS=${GATEWAY_CONDITION_CONSTANTS} GATEWAY_REASON_CONSTANTS=${GATEWAY_REASON_CONSTANTS} \
122
124
LISTENER_CONDITION_CONSTANTS=${LISTENER_CONDITION_CONSTANTS} LISTENER_REASON_CONSTANTS=${LISTENER_REASON_CONSTANTS} \
123
- cargo xtask gen_condition_constants >> gateway-api/src/apis /experimental/constants.rs
124
- echo " pub mod constants;" >> gateway-api/src/apis /experimental/mod.rs
125
+ cargo xtask gen_condition_constants >> $APIS_DIR /experimental/constants.rs
126
+ echo " pub mod constants;" >> $APIS_DIR /experimental/mod.rs
125
127
126
128
# Format the code.
127
129
cargo fmt
130
+
0 commit comments