From a3457055c99aa1a9e233264342cbc795831245be Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov <mikhail.glushenkov@gmail.com> Date: Tue, 17 Mar 2015 17:01:59 +0100 Subject: [PATCH] Revert "Added checks to see if files and directories exist" This reverts commit 1b93023235e57c2b0a237ea770563ac36196b51d. --- .../Distribution/PackageDescription/Check.hs | 49 ++++++++----------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/Cabal/Distribution/PackageDescription/Check.hs b/Cabal/Distribution/PackageDescription/Check.hs index c92c5a0583..9127acfb7a 100644 --- a/Cabal/Distribution/PackageDescription/Check.hs +++ b/Cabal/Distribution/PackageDescription/Check.hs @@ -1383,36 +1383,30 @@ checkPackageContent :: Monad m => CheckPackageContentOps m -> PackageDescription -> m [PackageCheck] checkPackageContent ops pkg = do + licenseErrors <- checkLicensesExist ops pkg setupError <- checkSetupExists ops pkg configureError <- checkConfigureExists ops pkg localPathErrors <- checkLocalPathsExist ops pkg vcsLocation <- checkMissingVcsInfo ops pkg - fileExistsError <- checkFilesExist ops pkg - return $ - catMaybes [setupError, configureError] + return $ licenseErrors + ++ catMaybes [setupError, configureError] ++ localPathErrors ++ vcsLocation - ++ fileExistsError - -checkFilesExist :: Monad m => CheckPackageContentOps m - -> PackageDescription - -> m [PackageCheck] -checkFilesExist ops pkg = do - let filess = [ (files, kind) - | (files, kind) <- - [ (files, "license-file") | files <- licenseFiles pkg ] - ++ [ (files, "extra-source-files") | files <- extraSrcFiles pkg ] - ++ [ (files, "data-files") | files <- dataFiles pkg ] - ++ [ (files, "extra-doc-files") | files <- extraDocFiles pkg ] - ] - - missing <- filterM (liftM not . doesFileExist ops . fst) filess - return [ PackageBuildWarning { - explanation = quote (kind ++ ": " ++ file) - ++ " file does not exist." - } - | (file, kind) <- missing ] + +checkLicensesExist :: Monad m => CheckPackageContentOps m + -> PackageDescription + -> m [PackageCheck] +checkLicensesExist ops pkg = do + exists <- mapM (doesFileExist ops) (licenseFiles pkg) + return + [ PackageBuildWarning $ + "The '" ++ fieldname ++ "' field refers to the file " + ++ quote file ++ " which does not exist." + | (file, False) <- zip (licenseFiles pkg) exists ] + where + fieldname | length (licenseFiles pkg) == 1 = "license-file" + | otherwise = "license-files" checkSetupExists :: Monad m => CheckPackageContentOps m -> PackageDescription @@ -1442,12 +1436,9 @@ checkLocalPathsExist ops pkg = do let dirs = [ (dir, kind) | bi <- allBuildInfo pkg , (dir, kind) <- - [ (dir, "extra-lib-dirs") | dir <- extraLibDirs bi ] - ++ [ (dir, "include-dirs") | dir <- includeDirs bi ] - ++ [ (dir, "hs-source-dirs") | dir <- hsSourceDirs bi ] - ++ [ (dir, "c-sources") | dir <- cSources bi ] - ++ [ (dir, "js-sources") | dir <- jsSources bi ] - + [ (dir, "extra-lib-dirs") | dir <- extraLibDirs bi ] + ++ [ (dir, "include-dirs") | dir <- includeDirs bi ] + ++ [ (dir, "hs-source-dirs") | dir <- hsSourceDirs bi ] , isRelative dir ] missing <- filterM (liftM not . doesDirectoryExist ops . fst) dirs return [ PackageBuildWarning { -- GitLab