diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java index b750ee2167bb..497d45078fec 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java @@ -66,6 +66,10 @@ @SuppressWarnings("rawtypes") public class DefaultGenerator implements Generator { + private static final String FILE_PATH_COLLISION_LOG = "FILEPATH_COLLISION"; + private static final String FILE_PATH_COLLISION_LOG_MESSAGE = + FILE_PATH_COLLISION_LOG + ": File path collision detected. Files may be overwritten by later-processed collisions. " + + "Use 'modelNameMappings' or another name mapping to resolve file name collisions."; private static final String METADATA_DIR = ".openapi-generator"; protected final Logger LOGGER = LoggerFactory.getLogger(DefaultGenerator.class); private final boolean dryRun; @@ -1461,7 +1465,9 @@ private File processTemplateToFile(Map templateData, String temp // O(1) case-insensitive duplicate check via a pre-lowercased shadow set if (!seenFilesLower.add(absoluteTarget.toString().toLowerCase(Locale.ROOT))) { - LOGGER.warn("Duplicate file path detected. Not all operating systems can handle case sensitive file paths. path={}", absoluteTarget); + once(LOGGER).warn(FILE_PATH_COLLISION_LOG_MESSAGE); + LOGGER.warn("Duplicate file path detected. Not all operating systems can handle case sensitive file paths, see log '{}' for more information. path={}", + FILE_PATH_COLLISION_LOG, absoluteTarget); } return this.templateProcessor.write(templateData, templateName, target); } else {