| | |
| | | System.exit(0); |
| | | } |
| | | |
| | | protected File getBaseFolder(Params params) { |
| | | String path = System.getProperty("GITBLIT_HOME", Params.baseFolder); |
| | | if (!StringUtils.isEmpty(System.getenv("GITBLIT_HOME"))) { |
| | | path = System.getenv("GITBLIT_HOME"); |
| | | } |
| | | |
| | | return new File(path).getAbsoluteFile(); |
| | | } |
| | | |
| | | /** |
| | | * Stop Gitblt GO. |
| | | */ |
| | |
| | | * Start Gitblit GO. |
| | | */ |
| | | protected final void start(Params params) { |
| | | final File baseFolder = new File(Params.baseFolder).getAbsoluteFile(); |
| | | final File baseFolder = getBaseFolder(params); |
| | | FileSettings settings = params.FILESETTINGS; |
| | | if (!StringUtils.isEmpty(params.settingsfile)) { |
| | | if (new File(params.settingsfile).exists()) { |
| | |
| | | e.printStackTrace(); |
| | | } finally { |
| | | try { |
| | | is.close(); |
| | | if (is != null) { |
| | | is.close(); |
| | | } |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | } |
| | | |
| | | logger = LoggerFactory.getLogger(GitBlitServer.class); |
| | | logger.info(Constants.BORDER); |
| | | logger.info(" _____ _ _ _ _ _ _"); |
| | | logger.info(" | __ \\(_)| | | | | |(_)| |"); |
| | | logger.info(" | | \\/ _ | |_ | |__ | | _ | |_"); |
| | | logger.info(" | | __ | || __|| '_ \\ | || || __|"); |
| | | logger.info(" | |_\\ \\| || |_ | |_) || || || |_"); |
| | | logger.info(" \\____/|_| \\__||_.__/ |_||_| \\__|"); |
| | | int spacing = (Constants.BORDER.length() - Constants.getGitBlitVersion().length()) / 2; |
| | | StringBuilder sb = new StringBuilder(); |
| | | while (spacing > 0) { |
| | | spacing--; |
| | | sb.append(' '); |
| | | } |
| | | logger.info(sb.toString() + Constants.getGitBlitVersion()); |
| | | logger.info(""); |
| | | logger.info(Constants.BORDER); |
| | | logger.info("\n" + Constants.getASCIIArt()); |
| | | |
| | | System.setProperty("java.awt.headless", "true"); |
| | | |
| | |
| | | |
| | | @Override |
| | | public void run() { |
| | | logger.info("Shutdown Monitor listening on port " + socket.getLocalPort()); |
| | | Socket accept; |
| | | try { |
| | | accept = socket.accept(); |
| | | BufferedReader reader = new BufferedReader(new InputStreamReader( |
| | | accept.getInputStream())); |
| | | reader.readLine(); |
| | | logger.info(Constants.BORDER); |
| | | logger.info("Stopping " + Constants.NAME); |
| | | logger.info(Constants.BORDER); |
| | | server.stop(); |
| | | server.setStopAtShutdown(false); |
| | | accept.close(); |
| | | socket.close(); |
| | | } catch (Exception e) { |
| | | logger.warn("Failed to shutdown Jetty", e); |
| | | // Only run if the socket was able to be created (not already in use, failed to bind, etc.) |
| | | if (null != socket) { |
| | | logger.info("Shutdown Monitor listening on port " + socket.getLocalPort()); |
| | | Socket accept; |
| | | try { |
| | | accept = socket.accept(); |
| | | BufferedReader reader = new BufferedReader(new InputStreamReader( |
| | | accept.getInputStream())); |
| | | reader.readLine(); |
| | | logger.info(Constants.BORDER); |
| | | logger.info("Stopping " + Constants.NAME); |
| | | logger.info(Constants.BORDER); |
| | | server.stop(); |
| | | server.setStopAtShutdown(false); |
| | | accept.close(); |
| | | socket.close(); |
| | | } catch (Exception e) { |
| | | logger.warn("Failed to shutdown Jetty", e); |
| | | } |
| | | } |
| | | } |
| | | } |