Skip to content

Commit

Permalink
Merge pull request #10344 from swagger-api/issue-6260
Browse files Browse the repository at this point in the history
refs #6260 - Fix #6260 on 3.0.0 by preventing parallelism
  • Loading branch information
frantuma authored Jun 24, 2020
2 parents 2bb0604 + 08a0f2e commit a14a9a8
Showing 1 changed file with 12 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

/*
* Copyright 2001-2005 The Apache Software Foundation.
*
*
* Licensed 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
*
*
* https://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
Expand Down Expand Up @@ -52,7 +52,7 @@
/**
* Goal which generates client/server code from a swagger json/yaml definition.
*/
@Mojo(name = "generate", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
@Mojo(name = "generate", defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true)
public class CodeGenMojo extends AbstractMojo {

@Parameter(name = "verbose", required = false, defaultValue = "false")
Expand Down Expand Up @@ -220,7 +220,7 @@ public class CodeGenMojo extends AbstractMojo {
* A map of reserved names and how they should be escaped
*/
@Parameter(name = "reservedWordsMappings")
private List<String> reservedWordsMappings;
private List<String> reservedWordsMappings;

/**
* Generate the apis
Expand Down Expand Up @@ -314,6 +314,13 @@ public class CodeGenMojo extends AbstractMojo {

@Override
public void execute() throws MojoExecutionException {
// Using the naive approach for achieving thread safety
synchronized (CodeGenMojo.class) {
execute_();
}
}

protected void execute_() throws MojoExecutionException {

if (skip) {
getLog().info("Code generation is skipped.");
Expand Down

0 comments on commit a14a9a8

Please sign in to comment.