CrossPlatformIOApp

Companion:
object
trait IOApp
class Object
trait Matchable
class Any

Value members

Inherited methods

final def main(args: Array[String]): Unit
Inherited from:
_$1.toLowerCase())).filterNot(((_$2:String)=>_$2.contains("windows"))).flatMap[String](((_$3:String)=>List.apply[String]("USR1","INFO"))) liveFiberSnapshotSignal.foreach[Unit](((name:String)=>Signal.handle(name,((_$4:)=>IOApp.this.runtime.fiberMonitor.liveFiberSnapshot(((_$5:String)=>System.err.print(_$5))))))) }else() valrt:Runtime=Runtime.getRuntime() valqueue:ArrayBlockingQueue[AnyRef]=newArrayBlockingQueue[AnyRef](1) valcounter:AtomicInteger=newAtomicInteger(1) valioa:IO[ExitCode]=IOApp.this.run(wrapRefArray[String](args).toList) valfiber:IOFiber[ExitCode]=ioa.unsafeRunFiber({ counter.decrementAndGet() queue.offer(newCancellationException("IOAppmainfiberwascanceled")) () },((t:Throwable)=>{ counter.decrementAndGet() queue.offer(t) () }),((a:ExitCode)=>{ counter.decrementAndGet() queue.offer(a) () }))(IOApp.this.runtime) if(isStackTracing){ IOApp.this.runtime.fiberMonitor.monitorSuspended(fiber) () }else() defhandleShutdown():Unit={ if(counter.compareAndSet(1,0)){ valcancelLatch:CountDownLatch=newCountDownLatch(1) fiber.cancel.unsafeRunAsync(((_$6:Either[Throwable,Unit])=>cancelLatch.countDown()))(IOApp.this.runtime) valtimeout:Duration=IOApp.this.runtimeConfig.shutdownHookTimeout if(timeout.isFinite){ blocking[Boolean](cancelLatch.await(timeout.length,timeout.unit)) () }elseblocking[Unit](cancelLatch.await()) }else() IOApp.this.runtime.shutdown.apply() } valhook:Thread=newThread((()=>handleShutdown())) hook.setName("io-cancel-hook") tryrt.addShutdownHook(hook)catch{ case_:IllegalStateException=> handleShutdown() } try{ valresult:Object=blocking[Object](queue.take()) resultmatch{ caseec:ExitCode=> IOApp.this.runtime.shutdown.apply() if(ec.==(ExitCode.Success))if(isForked.&&(NonDaemonThreadLogger.isEnabled()))newNonDaemonThreadLogger().start()else()elseif(isForked)System.exit(ec.code)else() casee:CancellationException=> if(isForked)System.exit(1)elsethrowe caseNonFatal(t)=> if(isForked){ `t₂`.printStackTrace() System.exit(1) }elsethrow`t₂` caset:Throwable=> `t₃`.printStackTrace() rt.halt(1) } }catch{ case_:InterruptedException=> hook.start() rt.removeShutdownHook(hook) Thread.currentThread().interrupt() } }">IOApp
def run(args: List[String]): IO[ExitCode]

The entry point for your application. Will be called by the runtime when the process is started. If the underlying runtime supports it, any arguments passed to the process will be made available in the args parameter. The numeric value within the resulting ExitCode will be used as the exit code when the process terminates unless terminated exceptionally or by interrupt.

The entry point for your application. Will be called by the runtime when the process is started. If the underlying runtime supports it, any arguments passed to the process will be made available in the args parameter. The numeric value within the resulting ExitCode will be used as the exit code when the process terminates unless terminated exceptionally or by interrupt.

Value parameters:
args

The arguments passed to the process, if supported by the underlying runtime. For example, java com.company.MyApp --foo --bar baz or node com-mycompany-fastopt.js --foo --bar baz would each result in List("--foo", "--bar", "baz").

See also:

IOApp.Simple!.run:cats\.effect\.IO[Unit]*

Inherited from:
IOApp