Skip to content

Stackage.Package build functionality #10

Closed

Description

@chrisdone

To be taken from stackage-build which already has tried and tested code for this. We already have the basic Stackage.Package module which can read a package description:

-- | Anything to do with a package associated with some directory.
module Stackage.Package where
data PackageException
data Package = Package
  {packageName :: !PackageName
  ,packageVersion :: !PackageVersion
  ,packageDir :: !FilePath
  ,packageFiles :: !(Set FilePath)
  ,packageDependencies :: !(Map PackageName VersionRange)
  ,packageTools :: !(Set Tool)
  ,packageFlags :: !(Map Text Bool)}
data BuildResult
data PackageConfig = PackageConfig
  { packageConfigEnableTests :: !Bool
  , packageConfigEnableBenchmarks :: !Bool
  , packageConfigFlags :: !Map Text Bool
  }

In particular, we need these functions garnered from the Shake-based code in stackage-build:

readPackage :: (MonadLogger m,MonadIO m,MonadThrow m)
            => PackageConfig -> Loc Absolute File -> m Package
buildPackage :: (MonadLogger m,MonadIO m,MonadThrow m)
             => Package -> m BuildResult
testPackage :: (MonadLogger m,MonadIO m,MonadThrow m)
            => Package -> m TestResult
copyPackage :: (MonadLogger m,MonadIO m,MonadThrow m)
            => Package -> m ()
registerPackage :: (MonadLogger m,MonadIO m,MonadThrow m)
                => Package -> m ()

Activity

  1. self-assigned this
    on May 8, 2015
  2. chrisdone commented on May 25, 2015

    @chrisdone
    MemberAuthor

    This is done .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions