package hudson.plugins.accurev.cmd; import org.apache.log4j.Logger; import javax.annotation.CheckForNull; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class GetAccuRevVersion { private static final Logger logger = Logger.getLogger(GetAccuRevVersion.class.getName()); /** * Get current accuRev version by invoking the AccuRev CLI command * * @return String accuRevVersion */ public static String getAccuRevVersion() { InputStreamReader input = null; BufferedReader reader = null; String accuRevVersion = null; try { Process process = Runtime.getRuntime().exec("accurev"); process.waitFor(); input = new InputStreamReader(process.getInputStream(), "UTF-8"); reader = new BufferedReader(input); accuRevVersion = reader.readLine(); } catch (InterruptedException e) { logger.info("InterruptedException occured to invoke accurev version command. " + e); } catch (IOException exe) { logger.info("IOException occured to invoke accurev version command. " + exe); } finally { try { if (input != null) input.close(); if (reader != null) reader.close(); } catch (IOException e) { logger.info("IOException occured close the resources . " + e); } } return accuRevVersion; } }