/
pom.xml
226 lines (214 loc) · 18.6 KB
/
pom.xml
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.igarashitm</groupId>
<version>1</version>
<artifactId>example-generate-yaml-schema</artifactId>
<packaging>jar</packaging>
<name>PoC to generate a restricted YAML schema</name>
<description>PoC to generate a restricted YAML schema</description>
<properties>
<camel.version>3.20.0-SNAPSHOT</camel.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-bom</artifactId>
<version>${camel.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-yaml-dsl</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-yaml-dsl-maven-plugin</artifactId>
<version>${camel.version}</version>
<executions>
<execution>
<id>generate-yaml-schema-kebab-case-restricted</id>
<phase>generate-sources</phase>
<goals>
<goal>generate-yaml-schema</goal>
</goals>
<configuration>
<kebabCase>true</kebabCase>
<additionalProperties>false</additionalProperties>
<outputFile>src/generated/resources/schema/camel-yaml-dsl-restricted-banned.json</outputFile>
<bannedDefinitions>
<bannedDefinition>org.apache.camel.model.AggregateDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.BeanDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.CatchDefinition</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.ChoiceDefinition</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.CircuitBreakerDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ClaimCheckDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ContextScanDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ConvertBodyDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.DataFormatDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.DelayDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.DescriptionDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.DynamicRouterDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.EnrichDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ErrorHandlerDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.FaultToleranceConfigurationDefinition</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.FilterDefinition</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.FinallyDefinition</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.FromDefinition</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.GlobalOptionDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.GlobalOptionsDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.IdempotentConsumerDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.InOnlyDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.InOutDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.InputTypeDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.InterceptDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.InterceptFromDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.InterceptSendToEndpointDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.KameletDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.LoadBalanceDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.LogDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.LoopDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.MarshalDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.MulticastDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.OnCompletionDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.OnExceptionDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.OnFallbackDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.OptimisticLockRetryPolicyDefinition</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.OtherwiseDefinition</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.OutputDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.OutputTypeDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.PackageScanDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.PausableDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.PipelineDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.PolicyDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.PollEnrichDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ProcessDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.PropertyDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.PropertyExpressionDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RecipientListDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RedeliveryPolicyDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RemoveHeaderDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RemoveHeadersDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RemovePropertyDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RemovePropertiesDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ResequenceDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.Resilience4jConfigurationDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RestContextRefDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ResumableDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RollbackDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RouteBuilderDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RouteConfigurationContextRefDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RouteConfigurationDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RouteContextRefDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RouteDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RouteTemplateBeanDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RouteTemplateDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RouteTemplateParameterDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.RoutingSlipDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.SagaActionUriDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.SagaDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.SamplingDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ScriptDefinition</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.SetBodyDefinition</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.SetExchangePatternDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.SetHeaderDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.SetPropertyDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.SortDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.SplitDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.StepDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.StopDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.TemplatedRouteBeanDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.TemplatedRouteDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.TemplatedRouteParameterDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ThreadPoolProfileDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ThreadsDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ThrottleDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ThrowExceptionDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ToDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ToDynamicDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.TransactedDefinition</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.TransformDefinition</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.TryDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.UnmarshalDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.ValidateDefinition</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.WhenDefinition</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.WhenSkipSendToEndpointDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.WireTapDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.model.cloud.*</bannedDefinition>
<bannedDefinition>org.apache.camel.model.config.*</bannedDefinition>
<bannedDefinition>org.apache.camel.model.dataformat.*</bannedDefinition>
<bannedDefinition>org.apache.camel.model.errorhandler.*</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.language.ConstantExpression</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.language.CSimpleExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.DatasonnetExpression</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.language.ExchangePropertyExpression</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.language.GroovyExpression</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.language.HeaderExpression</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.language.Hl7TerserExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.JavaScriptExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.JoorExpression</bannedDefinition>
<!-- <bannedDefinition>org.apache.camel.model.language.JqExpression</bannedDefinition> -->
<bannedDefinition>org.apache.camel.model.language.JsonPathExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.LanguageExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.MethodCallExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.MvelExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.OgnlExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.PythonExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.RefExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.SimpleExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.SpELExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.TokenizerExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.XPathExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.XQueryExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.language.XMLTokenizerExpression</bannedDefinition>
<bannedDefinition>org.apache.camel.model.loadbalancer.*</bannedDefinition>
<bannedDefinition>org.apache.camel.model.rest.*</bannedDefinition>
<bannedDefinition>org.apache.camel.model.transformer.*</bannedDefinition>
<bannedDefinition>org.apache.camel.model.validator.*</bannedDefinition>
<bannedDefinition>org.apache.camel.dsl.yaml.deserializers.BeansDeserializer</bannedDefinition>
<bannedDefinition>org.apache.camel.dsl.yaml.deserializers.ErrorHandlerBuilderDeserializer</bannedDefinition>
<bannedDefinition>org.apache.camel.dsl.yaml.deserializers.NamedBeanDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.dsl.yaml.deserializers.OutputAwareFromDefinition</bannedDefinition>
<bannedDefinition>org.apache.camel.dsl.yaml.deserializers.RouteFromDefinitionDeserializer</bannedDefinition>
</bannedDefinitions>
</configuration>
</execution>
<execution>
<id>generate-yaml-schema-kebab-case-full</id>
<phase>generate-sources</phase>
<goals>
<goal>generate-yaml-schema</goal>
</goals>
<configuration>
<kebabCase>true</kebabCase>
<outputFile>src/generated/resources/schema/camel-yaml-dsl-full.json</outputFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>