public synchronized void stop ( ) throws DatastoreEmulatorException { // We intentionally don't check the internal state. If people want to try and stop the server // multiple times that's fine. stopEmulatorInternal ( ) ; if ( state != State . STOPPED ) { state = State . STOPPED ; if ( projectDirectory != null ) { try { Process process = new ProcessBuilder ( "rm" , "-r" , projectDirectory . getAbsolutePath ( ) ) . start ( ) ; if ( process . waitFor ( ) != 0 ) { throw new IOException ( "Temporary project directory deletion exited with " + process . exitValue ( ) ) ; } } catch ( IOException e ) { throw new IllegalStateException ( "Could not delete temporary project directory" , e ) ; } catch ( InterruptedException e ) { Thread . currentThread ( ) . interrupt ( ) ; throw new IllegalStateException ( "Could not delete temporary project directory" , e ) ; } } } }
Stops the emulator . Multiple calls are allowed .