aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2017-02-07 10:10:26 +0100
committerCamil Staps2017-02-07 10:10:26 +0100
commit78dcf0bcbf0abeb922f32e57a1763f2a2ea43fff (patch)
treeb6887e981e4759d3f97381de7acf724a873be954
parentAdd very basic installation task (diff)
Make main module optional
-rw-r--r--CLPM/Package.dcl2
-rw-r--r--CLPM/Package.icl4
-rw-r--r--clpm.icl4
3 files changed, 6 insertions, 4 deletions
diff --git a/CLPM/Package.dcl b/CLPM/Package.dcl
index 5499a5d..aed3c9a 100644
--- a/CLPM/Package.dcl
+++ b/CLPM/Package.dcl
@@ -39,7 +39,7 @@ PACKAGE_FILE :== "clpm.json"
, desc :: Description
, author :: Author
, url :: Url
- , main :: Path
+ , main :: Maybe Path
, depends :: [Dependency]
, paths :: [Path]
, options :: Options
diff --git a/CLPM/Package.icl b/CLPM/Package.icl
index fedb224..82f4dad 100644
--- a/CLPM/Package.icl
+++ b/CLPM/Package.icl
@@ -135,7 +135,7 @@ toPackage spkg = sequence (map parse depends`) >>= \ds -> Ok
, desc = fromJust $ spkg.StoredPackage.desc <|> Just DEFAULT_DESC
, author = fromJust $ spkg.StoredPackage.author <|> Just DEFAULT_AUTHOR
, url = fromJust $ spkg.StoredPackage.url <|> Just DEFAULT_URL
- , main = fromJust $ spkg.StoredPackage.main <|> Just DEFAULT_MAIN
+ , main = spkg.StoredPackage.main
, depends = ds
, paths = fromJust $ spkg.StoredPackage.paths <|> Just DEFAULT_PATHS
, options = toOptions spkg.StoredPackage.options
@@ -175,7 +175,7 @@ toStoredPackage pkg =
, desc = Just pkg.Package.desc
, author = Just pkg.Package.author
, url = Just pkg.Package.url
- , main = Just pkg.Package.main
+ , main = pkg.Package.main
, depends = listToMaybeList $ map toStoredDep pkg.Package.depends
, paths = listToMaybeList pkg.Package.paths
, options = Just $ toStoredOpts pkg.Package.options
diff --git a/clpm.icl b/clpm.icl
index a3382d1..b2fa764 100644
--- a/clpm.icl
+++ b/clpm.icl
@@ -103,13 +103,15 @@ where
cmd_make :: [String] Package *File *World -> *(*File, *World)
cmd_make opts pkg io w
+| isNothing pkg.main
+ = (io <<< "This package does not have a main module.\r\n", w)
# (ps,w) = getRecursivePaths pkg w
| isError ps
= (io <<< fromError ps <<< "\r\n", w)
# ps = fromOk ps
# (r,w) = syscall (foldl (+) "clm" [" -I " + p \\ p <- ps] +
foldl (+) "" [" " + f \\ f <- optionsToFlags pkg.options ++ opts] +
- " " + pkg.main + " -o " + pkg.main) w
+ " " + fromJust pkg.main + " -o " + fromJust pkg.main) w
= (io,w)
parseArgs :: (Arguments [String] -> ([String], Arguments))