diff --git a/jOOQ-codegen-gradle/src/main/java/org/jooq/codegen/gradle/NamedConfiguration.java b/jOOQ-codegen-gradle/src/main/java/org/jooq/codegen/gradle/NamedConfiguration.java index c69a65edb7..5761db41d0 100644 --- a/jOOQ-codegen-gradle/src/main/java/org/jooq/codegen/gradle/NamedConfiguration.java +++ b/jOOQ-codegen-gradle/src/main/java/org/jooq/codegen/gradle/NamedConfiguration.java @@ -100,11 +100,15 @@ public class NamedConfiguration { void configuration0(Configuration configuration) { if (!unnamed) - MiniJAXB.append(this.configuration, project.getExtensions().getByType(CodegenPluginExtension.class).defaultConfiguration().configuration); + MiniJAXB.append(this.configuration, copy(project.getExtensions().getByType(CodegenPluginExtension.class).defaultConfiguration().configuration)); MiniJAXB.append(this.configuration, configuration); } + static Configuration copy(Configuration configuration) { + return MiniJAXB.unmarshal(MiniJAXB.marshal(configuration), Configuration.class); + } + public void configuration(Action action) { ConfigurationExtension c = objects.newInstance(ConfigurationExtension.class, objects); action.execute(c);