class CopybaraGenerator {

    public String generateCopybaraConfigFile() {
        StringJoiner copybaraConfig = new StringJoiner("\n");
        copybaraConfig.add("urlOrigin = \"https://github.com/OpenTOSCA/tosca-definitions-internal.git\"");
        copybaraConfig.add("urlDestination = \"file:///tmp/copybara/tosca-definitions-public\"");
        copybaraConfig.add("core.workflow(");
        copybaraConfig.add("    name = \"default\",");
        copybaraConfig.add("    origin = git.origin(");
        copybaraConfig.add("        url = urlOrigin,");
        copybaraConfig.add("        ref = \"master\",");
        copybaraConfig.add("    ),");
        copybaraConfig.add("    destination = git.destination(");
        copybaraConfig.add("        url = urlDestination,");
        copybaraConfig.add("        fetch = \"master\",");
        copybaraConfig.add("        push = \"master\",");
        copybaraConfig.add("    ),");
        copybaraConfig.add("    authoring = authoring.pass_thru(\"OpenTOSCA Bot <opentosca@iaas.uni-stuttgart.de>\"),");
        copybaraConfig.add("    " + generateOriginFilesConfig());
        copybaraConfig.add("    destination_files = glob([\"**\"], exclude = [\"README_INTERNAL.md\"]),");
        copybaraConfig.add(")");
        return copybaraConfig.toString();
    }

    public  CopybaraGenerator();
    public  CopybaraGenerator(IRepository repository);

}