Skip to content

Commit f13b4de

Browse files
committed
Added warnings when the additionalProperties are not defined in the
cliOptions of a language.
1 parent 68c6954 commit f13b4de

File tree

1 file changed

+19
-5
lines changed
  • modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin

1 file changed

+19
-5
lines changed

modules/swagger-codegen-maven-plugin/src/main/java/io/swagger/codegen/plugin/CodeGenMojo.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@
3030

3131
import java.io.File;
3232
import java.util.HashMap;
33+
import java.util.HashSet;
3334
import java.util.Map;
35+
import java.util.Set;
3436

3537
import static io.swagger.codegen.plugin.AdditionalParams.*;
3638

@@ -152,17 +154,20 @@ public void execute() throws MojoExecutionException {
152154
if (null != invokerPackage) {
153155
config.additionalProperties().put(INVOKER_PACKAGE_PARAM, invokerPackage);
154156
}
155-
157+
158+
Set<String> definedOptions = new HashSet<String>();
159+
for (CliOption langCliOption : config.cliOptions()) {
160+
definedOptions.add(langCliOption.getOpt());
161+
}
162+
156163
if (configOptions != null) {
157-
for(Map.Entry<?, ?> configEntry : configOptions.entrySet()) {
158-
config.additionalProperties().put(configEntry.getKey().toString(), configEntry.getValue());
159-
}
164+
addAdditionalProperties(config, definedOptions, configOptions);
160165
}
161166

162167
if (null != configurationFile) {
163168
Config genConfig = ConfigParser.read(configurationFile);
164169
if (null != genConfig) {
165-
config.additionalProperties().putAll(genConfig.getOptions());
170+
addAdditionalProperties(config, definedOptions, genConfig.getOptions());
166171
} else {
167172
throw new RuntimeException("Unable to read configuration file");
168173
}
@@ -193,4 +198,13 @@ public void execute() throws MojoExecutionException {
193198
project.addCompileSourceRoot(output.toString());
194199
}
195200
}
201+
202+
private void addAdditionalProperties(CodegenConfig config, Set<String> definedOptions, Map<?,?> configOptions) {
203+
for(Map.Entry<?, ?> configEntry : configOptions.entrySet()) {
204+
config.additionalProperties().put(configEntry.getKey().toString(), configEntry.getValue());
205+
if(!definedOptions.contains(configEntry.getKey())) {
206+
getLog().warn("Additional property: " + configEntry.getKey() + " is not defined for this language.");
207+
}
208+
}
209+
}
196210
}

0 commit comments

Comments
 (0)