From 679c3145fb8fdc346880c205c9dde369e782feee Mon Sep 17 00:00:00 2001 From: Daniel Gröber Date: Sun, 14 Oct 2018 03:32:49 +0200 Subject: Add stack support --- src/CabalHelper/Compiletime/Types/RelativePath.hs | 39 +++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/CabalHelper/Compiletime/Types/RelativePath.hs (limited to 'src/CabalHelper/Compiletime/Types') diff --git a/src/CabalHelper/Compiletime/Types/RelativePath.hs b/src/CabalHelper/Compiletime/Types/RelativePath.hs new file mode 100644 index 0000000..bfc29bf --- /dev/null +++ b/src/CabalHelper/Compiletime/Types/RelativePath.hs @@ -0,0 +1,39 @@ +-- cabal-helper: Simple interface to Cabal's configuration state +-- Copyright (C) 2018 Daniel Gröber +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + +{-| +Module : CabalHelper.Compiletime.Types.RelativePath +License : GPL-3 +-} + +module CabalHelper.Compiletime.Types.RelativePath + ( RelativePath + , mkRelativePath + , unRelativePath + ) where + +import System.FilePath + +-- | A path guaranteed to be relative. The constructor is not exposed, use the +-- 'mkRelativePath' smart constructor. +newtype RelativePath = RelativePath { unRelativePath :: FilePath } + +-- | Smart constructor for 'RelativePath'. Checks if the given path is absolute +-- and throws 'UserError' if not. +mkRelativePath :: FilePath -> RelativePath +mkRelativePath dir + | isAbsolute dir = RelativePath dir + | otherwise = error "mkRelativePath: the path given was absolute!" -- cgit v1.2.3