public static void writeSourceIfChanged()

in tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/utils/MavenUtils.java [274:300]


    public static void writeSourceIfChanged(String source, String fileName, File baseDir, File javaFileHeader) throws MojoFailureException {
        File target = new File(new File(baseDir, "src/main/java"), fileName);
        if (target.exists()) {
            try {
                if (!FileUtils.readFileToString(target).contains("@Generated")) {
                    // Do not write class if a class already exists and has no @Generated annotation
                    return;
                }
            } catch (IOException ioe) {
                throw new MojoFailureException("IO error trying to read whether " + target.toString() + " contains @Generated annotation", ioe);
            }
        }

        deleteFile(baseDir, target);

        try {
            String header;
            try (InputStream is = new FileInputStream(javaFileHeader)) {
                header = PackageHelper.loadText(is);
            }
            String code = header + source;

            updateResource(null, target.toPath(), code);
        } catch (Exception e) {
            throw new MojoFailureException("IOError with file " + target, e);
        }
    }