private boolean updateDockerfile(PushVersionChangesContext context, File file, String name, String value) throws IOException { String[] linePrefixes = { "FROM " + name + ":", "ENV " + name + " " }; List<String> lines = IOHelpers.readLines(file); boolean answer = false; for (int i = 0, size = lines.size(); i < size; i++) { String line = lines.get(i); for (String linePrefix : linePrefixes) { if (line.startsWith(linePrefix)) { String remaining = line.substring(linePrefix.length()); if (!remaining.trim().equals(value)) { answer = true; lines.set(i, linePrefix + value); } } } } if (answer) { IOHelpers.writeLines(file, lines); } return answer; } }
private boolean updateMakefile(PushVersionChangesContext context, File file, String name, String value) throws IOException { List<String> lines = IOHelpers.readLines(file); boolean answer = replaceMakefileStatement(lines, name, value); if (answer) { IOHelpers.writeLines(file, lines); } return answer; }
private boolean pullVersionsInFile(CommandContext context, File file, PluginVersions pluginVersions) throws IOException { LOG.info("Processing file " + file); List<String> lines = IOHelpers.readLines(file); List<String> answer = new ArrayList<>(lines.size()); boolean changed = false; for (String line : lines) { int idx = line.indexOf(PLUGINS_SEPARATOR); if (idx < 0) { answer.add(line); continue; } String artifactId = line.substring(0, idx); String currentVersion = line.substring(idx + 1).trim(); if (!currentVersion.isEmpty()) { String newVersion = pluginVersions.getVersion(artifactId); if (newVersion == null) { LOG.info("No new version for plugin " + artifactId); } else if (!newVersion.equals(currentVersion)) { answer.add(artifactId + PLUGINS_SEPARATOR + newVersion); changed = true; continue; } } answer.add(line); } if (changed) { IOHelpers.writeLines(file, answer); } return changed; }
private boolean updateVersionsInFile(CommandContext context, File file, PluginsDependencies plugins, List<DependencyVersionChange> changes) throws IOException { LOG.info("Processing file " + file); List<String> lines = IOHelpers.readLines(file); List<String> answer = new ArrayList<>(lines.size()); Map<String, String> versionMap = new HashMap<>(); for (DependencyVersionChange change : changes) { versionMap.put(change.getDependency(), change.getVersion()); } boolean changed = false; for (String line : lines) { int idx = line.indexOf(PLUGINS_SEPARATOR); if (idx < 0) { answer.add(line); continue; } String artifactId = line.substring(0, idx); String newVersion = versionMap.get(PLUGIN_DEPENDENCY_PREFIX + artifactId); if (newVersion == null) { answer.add(line); continue; } else { answer.add(artifactId + PLUGINS_SEPARATOR + newVersion); changed = true; } } if (changed) { IOHelpers.writeLines(file, answer); } return changed; }
private boolean updateValuesFile(CommandContext context, List<DependencyVersionChange> changes, File file) throws IOException { List<String> lines = IOHelpers.readLines(file); boolean answer = false; for (DependencyVersionChange change : changes) { String linePrefix = "Image: " + change.getDependency() + ":"; String value = change.getVersion(); for (int i = 0, size = lines.size(); i < size; i++) { String line = lines.get(i); if (line.trim().startsWith(linePrefix)) { String remaining = line.substring(linePrefix.length()); if (!remaining.trim().equals(value)) { answer = true; String whitespace = ""; int idx = line.indexOf(linePrefix); if (idx > 0) { whitespace = line.substring(0, idx); } lines.set(i, whitespace + linePrefix + value); } } } } if (answer) { IOHelpers.writeLines(file, lines); } return answer; } }
private boolean updateVersionsInFile(CommandContext context, File file, PluginsDependencies plugins, List<DependencyVersionChange> changes) throws IOException { LOG.info("Processing file " + file); List<String> lines = IOHelpers.readLines(file); List<String> answer = new ArrayList<>(lines.size()); Map<String, String> versionMap = new HashMap<>(); for (DependencyVersionChange change : changes) { versionMap.put(change.getDependency(), change.getVersion()); } boolean changed = false; for (String line : lines) { int idx = line.indexOf(PLUGINS_SEPARATOR); if (idx < 0) { answer.add(line); continue; } String artifactId = line.substring(0, idx); String newVersion = versionMap.get(PLUGIN_DEPENDENCY_PREFIX + artifactId); if (newVersion == null) { answer.add(line); continue; } else { answer.add(artifactId + PLUGINS_SEPARATOR + newVersion); changed = true; } } if (changed) { IOHelpers.writeLines(file, answer); } return changed; }
List<String> lines; try { lines = IOHelpers.readLines(file); } catch (IOException e) { LOG.warn("Failed to load file " + file + " " + e, e);