29 lines
743 B
Haskell
29 lines
743 B
Haskell
module Main where
|
|
|
|
import qualified Data.ByteString.Lazy.Char8 as ByteString
|
|
import MiniGenericJson.Manifest
|
|
( decodeManifest
|
|
, encodeManifest
|
|
, parseArgs
|
|
, 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", "stable"]
|
|
_ -> args
|
|
|
|
case parseArgs 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)
|