All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bitbucket.bradleysmithllc.etlunit.cli.util.ProjectUpdateCheck Maven / Gradle / Ivy

There is a newer version: 4.1.3
Show newest version
package org.bitbucket.bradleysmithllc.etlunit.cli.util;

import org.apache.commons.io.FileUtils;
import org.bitbucket.bradleysmithllc.etlunit.io.FileBuilder;
import org.bitbucket.bradleysmithllc.java_cl_parser.CLIEntry;
import org.bitbucket.bradleysmithllc.java_cl_parser.CLIMain;
import org.bitbucket.bradleysmithllc.java_cl_parser.CommonsCLILauncher;

import java.io.File;

@CLIEntry(
		version = "2.0.16.1",
		description = "Checks a project to see if an update is needed.",
		nickName = "project-update-check"
)
public class ProjectUpdateCheck {
	public static final int EXIT_PROJECT_UP_TO_DATE = 0;
	public static final int EXIT_PROJECT_OUT_OF_DATE = 1;

	public static void main(String [] argv) {
		CommonsCLILauncher.mainClean(argv);
	}

	@CLIMain
	public void go() throws Exception {
		// compare the pom.xml with the target/pom_bak.xml
		File thisPom = new File("pom.xml");
		File lastPom = new FileBuilder(new File("target")).name("pom_bak.xml").file();

		if (thisPom.exists() && lastPom.exists())
		{
			String thisPomString = FileUtils.readFileToString(thisPom);
			String lastPomString = FileUtils.readFileToString(lastPom);

			// compare
			if (thisPomString.equals(lastPomString))
			{
				System.out.println("Project is up to date");
				System.exit(EXIT_PROJECT_UP_TO_DATE);
			}
		}

		// default result - project dirty
		System.out.println("Project is out of date");
		System.exit(EXIT_PROJECT_OUT_OF_DATE);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy