summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstuebinm2022-02-28 00:39:54 +0100
committerstuebinm2022-02-28 00:39:54 +0100
commit8a201e8658c9365d301a7cda9077ddf005b014c9 (patch)
treec2f400c9c7d52c179682e57061709391b0ca05bd
parent55c2994e856ceaf82edd06587e2faffb7c58950c (diff)
separate tiled modules out into own package
-rw-r--r--lib/CheckDir.hs2
-rw-r--r--lib/CheckMap.hs2
-rw-r--r--lib/LayerData.hs2
-rw-r--r--lib/LintWriter.hs2
-rw-r--r--lib/Properties.hs4
-rw-r--r--lib/Util.hs2
-rw-r--r--package.yaml10
-rw-r--r--tiled/Data/Tiled.hs (renamed from lib/Tiled.hs)3
-rw-r--r--tiled/Data/Tiled/Abstract.hs (renamed from lib/TiledAbstract.hs)4
-rw-r--r--walint.cabal23
10 files changed, 42 insertions, 12 deletions
diff --git a/lib/CheckDir.hs b/lib/CheckDir.hs
index be23747..93b6345 100644
--- a/lib/CheckDir.hs
+++ b/lib/CheckDir.hs
@@ -40,7 +40,7 @@ import System.FilePath (splitPath, (</>))
import qualified System.FilePath as FP
import System.FilePath.Posix (takeDirectory)
import Text.Dot (showDot)
-import Tiled (Tiledmap)
+import Data.Tiled (Tiledmap)
import Types (Dep (Local, LocalMap), Hint (Hint),
Level (..), hintLevel)
import Util (PrettyPrint (prettyprint))
diff --git a/lib/CheckMap.hs b/lib/CheckMap.hs
index 3ac03bd..0b5b58a 100644
--- a/lib/CheckMap.hs
+++ b/lib/CheckMap.hs
@@ -32,7 +32,7 @@ import LintWriter (LintResult, invertLintResult,
runLintWriter)
import Properties (checkLayer, checkMap, checkTileset)
import System.FilePath (takeFileName)
-import Tiled (Layer (layerLayers, layerName),
+import Data.Tiled (Layer (layerLayers, layerName),
LoadResult (..),
Tiledmap (tiledmapLayers, tiledmapTilesets),
loadTiledmap)
diff --git a/lib/LayerData.hs b/lib/LayerData.hs
index 6956c92..46d6449 100644
--- a/lib/LayerData.hs
+++ b/lib/LayerData.hs
@@ -8,7 +8,7 @@ import Control.Monad.Zip (mzipWith)
import Data.Set (insert)
import Data.Vector (maximum, uncons)
import qualified Text.Show as TS
-import Tiled (GlobalId (unGlobalId), Layer (..))
+import Data.Tiled (GlobalId (unGlobalId), Layer (..))
import Util (PrettyPrint (..))
-- | A collision between two layers of the given names.
diff --git a/lib/LintWriter.hs b/lib/LintWriter.hs
index d0c6c4e..b55b16e 100644
--- a/lib/LintWriter.hs
+++ b/lib/LintWriter.hs
@@ -48,7 +48,7 @@ import Universum
import Badges (Badge)
import Data.Map (fromListWith)
import LintConfig (LintConfig')
-import TiledAbstract (HasName (getName))
+import Data.Tiled.Abstract (HasName (getName))
import Types (Dep, Hint, Level (..), Lint (..), hint,
lintsToHints)
diff --git a/lib/Properties.hs b/lib/Properties.hs
index 5d9c094..1ba5faa 100644
--- a/lib/Properties.hs
+++ b/lib/Properties.hs
@@ -18,10 +18,10 @@ import Universum hiding (intercalate, isPrefixOf)
import Data.Text (intercalate, isInfixOf, isPrefixOf)
import qualified Data.Text as T
import qualified Data.Vector as V
-import Tiled (Layer (..), Object (..), Property (..),
+import Data.Tiled (Layer (..), Object (..), Property (..),
PropertyValue (..), Tile (..),
Tiledmap (..), Tileset (..))
-import TiledAbstract (HasName (..), HasProperties (..),
+import Data.Tiled.Abstract (HasName (..), HasProperties (..),
HasTypeName (..), IsProperty (..))
import Util (layerIsEmpty, mkProxy, naiveEscapeHTML,
prettyprint)
diff --git a/lib/Util.hs b/lib/Util.hs
index f935e78..ccd2ef3 100644
--- a/lib/Util.hs
+++ b/lib/Util.hs
@@ -17,7 +17,7 @@ import Universum
import Data.Aeson as Aeson
import qualified Data.Set as S
import qualified Data.Text as T
-import Tiled (Layer (layerData), PropertyValue (..),
+import Data.Tiled (Layer (layerData), PropertyValue (..),
Tileset (tilesetName), layerName, mkTiledId)
mkProxy :: a -> Proxy a
diff --git a/package.yaml b/package.yaml
index f9498d6..53ef4c2 100644
--- a/package.yaml
+++ b/package.yaml
@@ -15,10 +15,20 @@ dependencies:
- bytestring
- text
+internal-libraries:
+ tiled:
+ source-dirs: 'tiled'
+ dependencies:
+ - vector
+ exposed-modules:
+ - Data.Tiled
+ - Data.Tiled.Abstract
+
library:
source-dirs: 'lib'
dependencies:
- containers
+ - tiled
- text
- vector
- transformers
diff --git a/lib/Tiled.hs b/tiled/Data/Tiled.hs
index 3162dfd..046a080 100644
--- a/lib/Tiled.hs
+++ b/tiled/Data/Tiled.hs
@@ -15,7 +15,7 @@
-- cover some of the types and records that are available in the format. For
-- those you should read the TMX documentation at
-- http://doc.mapeditor.org/en/latest/reference/tmx-map-format/
-module Tiled where
+module Data.Tiled where
import Universum
@@ -383,6 +383,7 @@ instance ToJSON Tiledmap where
toJSON = genericToJSON (aesonOptions 8)
data LoadResult = Loaded Tiledmap | IOErr String | DecodeErr String
+ deriving Show
-- | Load a Tiled map from the given 'FilePath'.
loadTiledmap :: FilePath -> IO LoadResult
diff --git a/lib/TiledAbstract.hs b/tiled/Data/Tiled/Abstract.hs
index 9fd2df0..4b2e15d 100644
--- a/lib/TiledAbstract.hs
+++ b/tiled/Data/Tiled/Abstract.hs
@@ -1,11 +1,11 @@
{-# LANGUAGE OverloadedStrings #-}
-module TiledAbstract where
+module Data.Tiled.Abstract where
import Universum
import qualified Data.Vector as V
-import Tiled (Layer (..), Object (..), Property (..),
+import Data.Tiled (Layer (..), Object (..), Property (..),
PropertyValue (..), Tile (..), Tiledmap (..),
Tileset (..))
diff --git a/walint.cabal b/walint.cabal
index 94d79f5..0bc387a 100644
--- a/walint.cabal
+++ b/walint.cabal
@@ -28,8 +28,6 @@ library
LintWriter
Paths
Properties
- Tiled
- TiledAbstract
Uris
Paths_walint
hs-source-dirs:
@@ -53,12 +51,33 @@ library
, regex-tdfa
, text
, text-metrics
+ , tiled
, transformers
, universum
, uri-encode
, vector
default-language: Haskell2010
+library tiled
+ exposed-modules:
+ Data.Tiled
+ Data.Tiled.Abstract
+ other-modules:
+ Paths_walint
+ hs-source-dirs:
+ tiled
+ default-extensions:
+ NoImplicitPrelude
+ ghc-options: -Wall -Wno-name-shadowing -Wno-unticked-promoted-constructors
+ build-depends:
+ aeson
+ , base
+ , bytestring
+ , text
+ , universum
+ , vector
+ default-language: Haskell2010
+
executable walint
main-is: Main.hs
other-modules: