kit 0.6.1 → 0.6.2
raw patch · 4 files changed
+17/−10 lines, 4 files
Files
- Kit/CmdArgs.hs +2/−2
- Kit/Main.hs +10/−7
- Kit/Spec.hs +4/−0
- kit.cabal +1/−1
Kit/CmdArgs.hs view
@@ -8,7 +8,7 @@ data KitCmdArgs = Update | Package- | PublishLocal+ | PublishLocal { tag :: Maybe String } | Verify { sdk :: String } | CreateSpec { name :: String, version :: String } deriving (Show, Data, Typeable) @@ -22,7 +22,7 @@ help "Write out a KitSpec file using the given name and version." , Package &= help "Create a tar.gz wrapping this kit"- , PublishLocal &= explicit &= CA.name "publish-local" &=+ , PublishLocal { tag = Nothing } &= explicit &= CA.name "publish-local" &= help "Package this kit, then deploy it to the local repository (~/.kit/repository)" , Verify { sdk = "iphonesimulator4.0" &= typ "SDK" &= help "iphoneos, iphonesimulator4.0, etc."} &= help "Package this kit, then attempt to use it as a dependency in an empty project. This will assert that the kit and all its dependencies can be compiled together."
Kit/Main.hs view
@@ -23,10 +23,13 @@ doPackageKit :: Command () doPackageKit = mySpec >>= liftIO . package - doDeployLocal :: Command ()- doDeployLocal = mySpec >>= \spec -> liftIO $ do - package spec- publishLocal spec + doPublishLocal :: Maybe String -> Command ()+ doPublishLocal versionTag = do+ spec <- mySpec + let updatedSpec = maybe spec (\tag -> updateVersion spec (++tag)) versionTag+ liftIO $ do+ package updatedSpec + publishLocal updatedSpec return () where publishLocal :: KitSpec -> IO ()@@ -36,14 +39,14 @@ let thisKitDir = repo </> "kits" </> packageName spec </> packageVersion spec mkdirP thisKitDir copyFile ("dist" </> pkg) (thisKitDir </> pkg)- copyFile "KitSpec" (thisKitDir </> "KitSpec")+ writeSpec (thisKitDir </> "KitSpec") spec doVerify :: String -> Command () doVerify sdk = do spec <- mySpec puts "Checking that the kit can be depended upon..." puts " #> Deploying locally"- doDeployLocal+ doPublishLocal Nothing -- TODO publish with a verify tag puts " #> Building temporary parent project" tmp <- liftIO getTemporaryDirectory inDirectory tmp $ do@@ -67,7 +70,7 @@ handleArgs :: KA.KitCmdArgs -> Command () handleArgs KA.Update = doUpdate handleArgs KA.Package = doPackageKit- handleArgs KA.PublishLocal = doDeployLocal+ handleArgs (KA.PublishLocal versionTag) = doPublishLocal versionTag handleArgs (KA.Verify sdkName) = doVerify sdkName handleArgs (KA.CreateSpec name version) = doCreateSpec name version
Kit/Spec.hs view
@@ -3,6 +3,7 @@ -- | The Core Kit types KitSpec(..), Kit(..),+ updateVersion, -- | Duck typing the name/version of a Kit/Spec Packageable(..), packageFileName,@@ -31,6 +32,9 @@ specConfigFile :: FilePath, specKitDepsXcodeFlags :: Maybe String } deriving (Show, Read)++ updateVersion :: KitSpec -> (String -> String) -> KitSpec+ updateVersion spec f = spec { specKit = (specKit spec) { kitVersion = f . kitVersion . specKit $ spec } } data Kit = Kit { kitName :: String,
kit.cabal view
@@ -1,5 +1,5 @@ name: kit-version: 0.6.1+version: 0.6.2 cabal-version: >=1.2 build-type: Simple license: BSD3