浏览代码

gidl: fix some data-files, add empty tower interface to tower backend

Pat Hickey 9 年之前
父节点
当前提交
bd1acf5836
共有 2 个文件被更改,包括 10 次插入3 次删除
  1. 4 1
      gidl.cabal
  2. 6 2
      src/Gidl/Backend/Tower.hs

+ 4 - 1
gidl.cabal

@@ -11,6 +11,8 @@ cabal-version:       >=1.10
 data-files: support/ivory/Unpack.hs.template,
             support/ivory/CodeGen.hs.template,
             support/ivory/Makefile,
+            support/tower/CodeGen.hs.template,
+            support/tower/default.conf,
             support/tower/Makefile
 
 library
@@ -32,7 +34,8 @@ library
                        Gidl.Backend.Ivory.Test,
                        Gidl.Backend.Ivory.Types,
                        Gidl.Backend.Tower,
-                       Gidl.Backend.Tower.Schema
+                       Gidl.Backend.Tower.Schema,
+                       Gidl.Backend.Tower.Interface
 
   other-modules:       Paths_gidl
 

+ 6 - 2
src/Gidl/Backend/Tower.hs

@@ -14,6 +14,7 @@ import Gidl.Backend.Cabal
 import Gidl.Backend.Ivory (dotwords, ivorySources)
 import Gidl.Backend.Ivory.Schema (ifModuleName)
 import Gidl.Backend.Tower.Schema
+import Gidl.Backend.Tower.Interface
 
 towerBackend :: TypeEnv -> InterfaceEnv -> String -> String -> [Artifact]
 towerBackend te ie pkgname namespace_raw =
@@ -42,9 +43,12 @@ towerSources :: InterfaceEnv -> [String] -> [Artifact]
 towerSources (InterfaceEnv ie) namespace = towerInterfaces
   where
   towerInterfaces = concat
-    [ [ schemaModule (namespace ++ ["Interface"]) i (producerSchema i)
-      , schemaModule (namespace ++ ["Interface"]) i (consumerSchema i) ]
+    [ [ schemaModule    ifnamespace i (producerSchema i)
+      , schemaModule    ifnamespace i (consumerSchema i)
+      , interfaceModule ifnamespace i
+      ]
     | (_iname, i) <- ie ]
+  ifnamespace = namespace ++ ["Interface"]
 
 makefile :: Artifact
 makefile = artifactCabalFile P.getDataDir "support/tower/Makefile"