packages feed

kit 0.7.7 → 0.7.8

raw patch · 4 files changed

+99/−102 lines, 4 filesdep +cabal-file-thdep +template-haskell

Dependencies added: cabal-file-th, template-haskell

Files

Kit/CmdArgs.hs view
@@ -1,10 +1,11 @@+{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE DeriveDataTypeable #-} module Kit.CmdArgs (parseArgs, KitCmdArgs(..)) where-   import System.Console.CmdArgs as CA+  import Distribution.PackageDescription.TH    appVersion :: String-  appVersion = "0.7.7" -- TODO how to keep this up to date with kit.cabal?+  appVersion = $(packageVariable (pkgVersion . package))    data KitCmdArgs = Update                   | Package
Kit/Spec.hs view
@@ -60,7 +60,7 @@     packageVersion = kitVersion . specKit    defaultSpec :: String -> String -> KitSpec-  defaultSpec name version = KitSpec (Kit name version) [] "src" "test" "lib" "resources" "Prefix.pch" "Config.xcconfig" Nothing+  defaultSpec name version = KitSpec (Kit name version) [] "src" "test" "lib" "resources" "Prefix.pch" "Config.xcconfig" Nothing    -- TODO make this and the json reading use the same defaults   -- I suspect that to do this I'll need update functions for each of   -- fields in the KitSpec record.
Kit/Xcode/ProjectFileTemplate.hs view
@@ -4,9 +4,12 @@ import Kit.Xcode.Common import Text.PList import Control.Monad (join)+import Data.Maybe (maybeToList)  import qualified Data.List as L +val_arr = arr . map val+ projectFile objects rootId = PListFile "!$*UTF8*$!" $ obj [       "archiveVersion" ~> val "1",       "classes" ~> obj [],@@ -15,6 +18,10 @@       "rootObject" ~> val rootId    ] +projectRootUUID = "0867D690FE84028FC02AAC07" +kitUpdateTargetUUID = "470E2D641287730A0084AE6F"+staticLibTargetUUID = "D2AAC07D0554694100DB518D"+ groupProductsUUID = "034768DFFF38A50411DB9C8B" mainGroupUUID = "0867D691FE84028FC02AAC07" classesGroupUUID = "08FB77AEFE84172EC02AAC07"@@ -28,8 +35,11 @@ sourcesBuildPhaseUUID = "D2AAC07B0554694100DB518D" frameworksBuildPhaseUUID = "D2AAC07C0554694100DB518D" +projectBuildConfigurationsUUID = "1DEB922208733DC00010E9CD"+staticLibBuildConfigurationsUUID = "1DEB921E08733DC00010E9CD"+ makeProjectPList :: [PListObjectItem] -> [FilePath] -> PListFile -makeProjectPList objects libDirs = projectFile objs "0867D690FE84028FC02AAC07" where+makeProjectPList objects libDirs = projectFile objs projectRootUUID where     objs = objects ++ groups ++ targets ++ buildConfigurations libDirs  groups = [ groupProductsUUID ~> group "Products" [ val productRefUUID ],@@ -42,36 +52,76 @@           ],           otherSourcesGroupUUID ~> group "Other Sources" [val "AA747D9E0F9514B9006C5449"]         ]-      -targets = ("D2AAC07D0554694100DB518D" ~> obj [-            "isa" ~> val "PBXNativeTarget",-            "buildConfigurationList" ~> val "1DEB921E08733DC00010E9CD",-            "buildPhases" ~> arr [ val headersBuildPhaseUUID, val sourcesBuildPhaseUUID, val frameworksBuildPhaseUUID ],-            "buildRules" ~> arr [],-            "dependencies" ~> arr [],-            "name" ~> val "KitDeps",-            "productName" ~> val "KitDeps",-            "productReference" ~> val productRefUUID,-            "productType" ~> val "com.apple.product-type.library.static"-          ]) : kitUpdateTarget ++ ["0867D690FE84028FC02AAC07" ~> obj [++projectRoot = [projectRootUUID ~> obj [             "isa" ~> val "PBXProject",-            "buildConfigurationList" ~> val "1DEB922208733DC00010E9CD",+            "buildConfigurationList" ~> val projectBuildConfigurationsUUID,             "compatibilityVersion" ~> val "Xcode 3.2",             "hasScannedForEncodings" ~> val "1",             "mainGroup" ~> val mainGroupUUID ,             "productRefGroup" ~> val groupProductsUUID,             "projectDirPath" ~> val "",             "projectRoot" ~> val "",-            "targets" ~> arr [ val "D2AAC07D0554694100DB518D", val "470E2D641287730A0084AE6F" ] +            "targets" ~> val_arr [ staticLibTargetUUID, kitUpdateTargetUUID ]          ]]+      +targets = (staticLibTargetUUID ~> obj [+            "isa" ~> val "PBXNativeTarget",+            "buildConfigurationList" ~> val staticLibBuildConfigurationsUUID,+            "buildPhases" ~> val_arr [ headersBuildPhaseUUID, sourcesBuildPhaseUUID, frameworksBuildPhaseUUID ],+            "buildRules" ~> arr [],+            "dependencies" ~> arr [],+            "name" ~> val "KitDeps",+            "productName" ~> val "KitDeps",+            "productReference" ~> val productRefUUID,+            "productType" ~> val "com.apple.product-type.library.static"+          ]) : kitUpdateTarget ++ projectRoot  librarySearchPaths libDirs = "LIBRARY_SEARCH_PATHS" ~> val ("$(inherited) " ++ join (L.intersperse " " libDirs)) -buildConfigurations libDirs = let libSearch = librarySearchPaths libDirs in ["1DEB921F08733DC00010E9CD" ~> obj [-            "isa" ~> val "XCBuildConfiguration",-            "buildSettings" ~> obj [+staticLibDebugConfigurationUUID = "1DEB921F08733DC00010E9CD"+staticLibReleaseConfigurationUUID = "1DEB922008733DC00010E9CD"++projectReleaseConfigurationUUID = "1DEB922408733DC00010E9CD"+projectDebugConfigurationUUID = "1DEB922308733DC00010E9CD" ++buildConfiguration name baseConfig settings = obj $ [+    "isa" ~> val "XCBuildConfiguration",+    "buildSettings" ~> obj settings, "name" ~> val name+  ] ++ (maybeToList baseConfig >>= (\c -> ["baseConfigurationReference" ~> val c]))++buildConfigurations libDirs = let libSearch = librarySearchPaths libDirs in [+          projectBuildConfigurationsUUID ~> obj [+              "isa" ~> val "XCConfigurationList",+              "buildConfigurations" ~> val_arr [projectDebugConfigurationUUID, projectReleaseConfigurationUUID],+              "defaultConfigurationIsVisible" ~> val "0",+              "defaultConfigurationName" ~> val "Release"+            ],+          staticLibBuildConfigurationsUUID ~> obj [+              "isa" ~> val "XCConfigurationList",+              "buildConfigurations" ~> val_arr [staticLibDebugConfigurationUUID, staticLibReleaseConfigurationUUID],+              "defaultConfigurationIsVisible" ~> val "0",+              "defaultConfigurationName" ~> val "Release"+            ],+          projectDebugConfigurationUUID ~> buildConfiguration "Debug" (Just kitConfigRefUUID) [+              "GCC_C_LANGUAGE_STANDARD" ~> val "c99",+              "GCC_OPTIMIZATION_LEVEL" ~> val "0",+              "GCC_WARN_ABOUT_RETURN_TYPE" ~> val "YES",+              "GCC_WARN_UNUSED_VARIABLE" ~> val "YES",+              "OTHER_LDFLAGS" ~> val "-ObjC",+              "SDKROOT" ~> val "iphoneos",+              libSearch+            ],+          projectReleaseConfigurationUUID ~> buildConfiguration "Release" (Just kitConfigRefUUID) [+              "GCC_C_LANGUAGE_STANDARD" ~> val "c99",+              "GCC_WARN_ABOUT_RETURN_TYPE" ~> val "YES",+              "GCC_WARN_UNUSED_VARIABLE" ~> val "YES",+              "OTHER_LDFLAGS" ~> val "-ObjC",+              "SDKROOT" ~> val "iphoneos",+              libSearch+            ],+          staticLibDebugConfigurationUUID ~> buildConfiguration "Debug" Nothing [               "ALWAYS_SEARCH_USER_PATHS" ~> val "NO",-              "ARCHS" ~> val "$(ARCHS_STANDARD_32_BIT)",               "COPY_PHASE_STRIP" ~> val "NO",               "DSTROOT" ~> val "/tmp/KitDeps.dst",               "GCC_DYNAMIC_NO_PIC" ~> val "NO",@@ -83,13 +133,8 @@               "PRODUCT_NAME" ~> val "KitDeps",               libSearch              ],-            "name" ~> val "Debug"-          ],-          "1DEB922008733DC00010E9CD" ~> obj [-            "isa" ~> val "XCBuildConfiguration",-            "buildSettings" ~> obj [+          staticLibReleaseConfigurationUUID ~> buildConfiguration "Release" Nothing [               "ALWAYS_SEARCH_USER_PATHS" ~> val "NO",-              "ARCHS" ~> val "$(ARCHS_STANDARD_32_BIT)",               "DSTROOT" ~> val "/tmp/KitDeps.dst",               "GCC_MODEL_TUNING" ~> val "G5",               "GCC_PRECOMPILE_PREFIX_HEADER" ~> val "YES",@@ -97,60 +142,11 @@               "INSTALL_PATH" ~> val "/usr/local/lib",               "PRODUCT_NAME" ~> val "KitDeps",               libSearch-              ],-            "name" ~> val "Release"-            ],-          "1DEB922308733DC00010E9CD" ~> obj [-            "isa" ~> val "XCBuildConfiguration",-            "baseConfigurationReference" ~> val kitConfigRefUUID,-            "buildSettings" ~> obj [-              "ARCHS" ~> val "$(ARCHS_STANDARD_32_BIT)",-              "GCC_C_LANGUAGE_STANDARD" ~> val "c99",-              "GCC_OPTIMIZATION_LEVEL" ~> val "0",-              "GCC_WARN_ABOUT_RETURN_TYPE" ~> val "YES",-              "GCC_WARN_UNUSED_VARIABLE" ~> val "YES",-              "OTHER_LDFLAGS" ~> val "-ObjC",-              "SDKROOT" ~> val "iphoneos",-              libSearch-            ],-            "name" ~> val "Debug"-          ],-          "1DEB922408733DC00010E9CD" ~> obj [-            "isa" ~> val "XCBuildConfiguration",-            "baseConfigurationReference" ~> val kitConfigRefUUID,-            "buildSettings" ~> obj [-              "ARCHS" ~> val "$(ARCHS_STANDARD_32_BIT)",-              "GCC_C_LANGUAGE_STANDARD" ~> val "c99",-              "GCC_WARN_ABOUT_RETURN_TYPE" ~> val "YES",-              "GCC_WARN_UNUSED_VARIABLE" ~> val "YES",-              "OTHER_LDFLAGS" ~> val "-ObjC",-              "SDKROOT" ~> val "iphoneos",-              libSearch-            ],-            "name" ~> val "Release"-          ],-          "1DEB921E08733DC00010E9CD" ~> obj [-            "isa" ~> val "XCConfigurationList",-            "buildConfigurations" ~> arr [-              val "1DEB921F08733DC00010E9CD",-              val "1DEB922008733DC00010E9CD"-            ],-            "defaultConfigurationIsVisible" ~> val "0",-            "defaultConfigurationName" ~> val "Release"-          ],-          "1DEB922208733DC00010E9CD" ~> obj [-            "isa" ~> val "XCConfigurationList",-            "buildConfigurations" ~> arr [-              val "1DEB922308733DC00010E9CD",-              val "1DEB922408733DC00010E9CD"-            ],-            "defaultConfigurationIsVisible" ~> val "0",-            "defaultConfigurationName" ~> val "Release"-          ]+            ]         ]  kitUpdateTarget = [-      "470E2D641287730A0084AE6F" ~> obj [ +      kitUpdateTargetUUID ~> obj [          "isa" ~> val "PBXLegacyTarget",         "buildArgumentsString" ~> val "",         "buildConfigurationList" ~> val "470E2D721287731E0084AE6F",@@ -161,27 +157,15 @@         "name" ~> val "KitUpdate",         "passBuildSettingsInEnvironment" ~> val "1",         "productName" ~> val "KitUpdate"-      ],+        ],       "470E2D721287731E0084AE6F" ~> obj [         "isa" ~> val "XCConfigurationList",-        "buildConfigurations" ~> arr [ val "470E2D651287730B0084AE6F", val "470E2D661287730B0084AE6F" ],+        "buildConfigurations" ~> val_arr [ "470E2D651287730B0084AE6F", "470E2D661287730B0084AE6F" ],         "defaultConfigurationIsVisible" ~> val "0",         "defaultConfigurationName" ~> val "Debug"-      ],-      "470E2D651287730B0084AE6F" ~> obj [-        "isa" ~> val "XCBuildConfiguration",-        "buildSettings" ~> obj [-          "COPY_PHASE_STRIP" ~> val "NO",-          "GCC_DYNAMIC_NO_PIC" ~> val "NO",-          "GCC_OPTIMIZATION_LEVEL" ~> val "0", -          "PRODUCT_NAME" ~> val "KitUpdate"          ],-        "name" ~> val "Debug"-      ], -      "470E2D661287730B0084AE6F" ~> obj [-        "isa" ~> val "XCBuildConfiguration",-        "buildSettings" ~> obj [ "PRODUCT_NAME" ~> val "KitUpdate" ],-        "name" ~> val "Release"-      ]]+      "470E2D651287730B0084AE6F" ~> buildConfiguration "Debug" Nothing [ "PRODUCT_NAME" ~> val "KitUpdate" ],+      "470E2D661287730B0084AE6F" ~> buildConfiguration "Release" Nothing ["PRODUCT_NAME" ~> val "KitUpdate" ]+      ]  
kit.cabal view
@@ -1,5 +1,5 @@ name:           kit-version:        0.7.7+version:        0.7.8 cabal-version:  >=1.6 build-type:     Simple license:        BSD3@@ -14,11 +14,23 @@ Executable kit   main-is:        Main.hs   buildable:      True-  build-depends:  process -any, network -any, mtl >= 2.0 && < 3, -                  filepath -any, directory -any, containers -any, cmdargs >= 0.6.2,-                  bytestring -any, base >=3 && <5,-                  HTTP >=4000.0.9, Glob >= 0.5.1 && < 6, data-object -any, data-object-yaml -any,-                  unix >= 2.4 && < 2.5, ansi-terminal >= 0.5.5+  build-depends:  base >=3 && <5,+                  Glob >= 0.5.1 && < 6, +                  HTTP >=4000.0.9, +                  ansi-terminal >= 0.5.5,+                  bytestring -any, +                  cabal-file-th >= 0.1,+                  cmdargs >= 0.6.2,+                  containers -any, +                  data-object -any, +                  data-object-yaml -any,+                  directory -any, +                  filepath -any, +                  mtl >= 2.0 && < 3, +                  network -any, +                  process -any,+                  template-haskell,+                  unix >= 2.4 && < 2.5    hs-source-dirs: .   other-modules:  Kit.Spec Kit.Main Kit.Package Kit.Project Kit.Repository Kit.Util Kit.Xcode.Builder