29 lines
755 B
Haskell
29 lines
755 B
Haskell
|
|
module Main where
|
||
|
|
|
||
|
|
import qualified Data.ByteString.Lazy.Char8 as ByteString
|
||
|
|
import MiniManifest.Json
|
||
|
|
( decodeManifest
|
||
|
|
, encodeManifest
|
||
|
|
, parseManifestArgs
|
||
|
|
, renderManifest
|
||
|
|
)
|
||
|
|
import System.Environment (getArgs)
|
||
|
|
import System.Exit (die)
|
||
|
|
|
||
|
|
main :: IO ()
|
||
|
|
main = do
|
||
|
|
args <- getArgs
|
||
|
|
let inputArgs =
|
||
|
|
case args of
|
||
|
|
[] -> ["api", "production", "3", "platform,security", "canary:10"]
|
||
|
|
_ -> args
|
||
|
|
|
||
|
|
case parseManifestArgs inputArgs of
|
||
|
|
Left err -> die err
|
||
|
|
Right manifest -> do
|
||
|
|
let encodedManifest = encodeManifest manifest
|
||
|
|
ByteString.putStrLn encodedManifest
|
||
|
|
case decodeManifest encodedManifest of
|
||
|
|
Left err -> die err
|
||
|
|
Right decodedManifest -> putStrLn (renderManifest decodedManifest)
|