From 2d4e7ad8257aef78f27cda8c92c948f40a8bc49a Mon Sep 17 00:00:00 2001 From: Matthew-Mosior Date: Thu, 25 Jul 2024 14:10:39 -0400 Subject: [PATCH 1/9] Adding files to address --clean does not remove the generated docs sub issue of issue 1918. --- src/Idris/Package.idr | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Idris/Package.idr b/src/Idris/Package.idr index 76cf233930..5b51cf544a 100644 --- a/src/Idris/Package.idr +++ b/src/Idris/Package.idr @@ -843,6 +843,21 @@ clean pkg opts -- `opts` is not used but might be in the future deleteFolder builddir [] maybe (pure ()) (\e => delete (outputdir e)) (executable pkg) + -- clean out the generated docs + defs <- get Ctxt + let build = build_dir (dirs (options defs)) + let docBase = build "docs" + let docDir = docBase "docs" + Right docfiles' <- coreLift $ listDir docDir + | Left err => pure () + Right docfiles'' <- coreLift $ listDir docBase + | Left err => pure () + traverse_ (\x => delete $ docDir x) + docfiles' + traverse_ (\x => delete $ docBase x) + docfiles'' + deleteFolder docDir [] + deleteFolder docBase [] runScript (postclean pkg) where delete : String -> Core () From f51050138601275236b294e796d6daebd6124e9d Mon Sep 17 00:00:00 2001 From: Matthew-Mosior Date: Thu, 25 Jul 2024 14:14:13 -0400 Subject: [PATCH 2/9] Removing unnecessary line. --- src/Idris/Package.idr | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Idris/Package.idr b/src/Idris/Package.idr index 5b51cf544a..3b08bf8488 100644 --- a/src/Idris/Package.idr +++ b/src/Idris/Package.idr @@ -844,7 +844,6 @@ clean pkg opts -- `opts` is not used but might be in the future maybe (pure ()) (\e => delete (outputdir e)) (executable pkg) -- clean out the generated docs - defs <- get Ctxt let build = build_dir (dirs (options defs)) let docBase = build "docs" let docDir = docBase "docs" From cbb1c147a697f938e0a948cd57b7532a955f161a Mon Sep 17 00:00:00 2001 From: Matthew-Mosior Date: Thu, 25 Jul 2024 14:17:40 -0400 Subject: [PATCH 3/9] Updated CHANGELOG_NEXT.md. --- CHANGELOG_NEXT.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG_NEXT.md b/CHANGELOG_NEXT.md index 66f2007fee..6a1c9e03ec 100644 --- a/CHANGELOG_NEXT.md +++ b/CHANGELOG_NEXT.md @@ -255,3 +255,4 @@ This CHANGELOG describes the merged but unreleased changes. Please see [CHANGELO #### Documentation * Module docstrings are now displayed for namespace indexes when documentation is built via --mkdoc. +* Generated documentation are now removed via --clean. From 6e43f9ceeacf0b49de881da914359e5c73f66b5b Mon Sep 17 00:00:00 2001 From: Matthew-Mosior Date: Thu, 25 Jul 2024 17:58:50 -0400 Subject: [PATCH 4/9] Small refactor. --- src/Idris/Package.idr | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Idris/Package.idr b/src/Idris/Package.idr index 3b08bf8488..af10175419 100644 --- a/src/Idris/Package.idr +++ b/src/Idris/Package.idr @@ -847,16 +847,16 @@ clean pkg opts -- `opts` is not used but might be in the future let build = build_dir (dirs (options defs)) let docBase = build "docs" let docDir = docBase "docs" - Right docfiles' <- coreLift $ listDir docDir - | Left err => pure () - Right docfiles'' <- coreLift $ listDir docBase - | Left err => pure () - traverse_ (\x => delete $ docDir x) - docfiles' - traverse_ (\x => delete $ docBase x) - docfiles'' - deleteFolder docDir [] - deleteFolder docBase [] + () <- do Right docfiles' <- coreLift $ listDir docDir + | Left err => pure () + traverse_ (\x => delete $ docDir x) + docfiles' + deleteFolder docDir [] + () <- do Right docfiles'' <- coreLift $ listDir docBase + | Left err => pure () + traverse_ (\x => delete $ docBase x) + docfiles'' + deleteFolder docBase [] runScript (postclean pkg) where delete : String -> Core () From 5a19a888a0072efafbcac478de0b56fca81721e3 Mon Sep 17 00:00:00 2001 From: Matthew-Mosior Date: Fri, 26 Jul 2024 09:53:27 -0400 Subject: [PATCH 5/9] Prettify documentation. --- CHANGELOG_NEXT.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG_NEXT.md b/CHANGELOG_NEXT.md index 6a1c9e03ec..129c09a61d 100644 --- a/CHANGELOG_NEXT.md +++ b/CHANGELOG_NEXT.md @@ -254,5 +254,5 @@ This CHANGELOG describes the merged but unreleased changes. Please see [CHANGELO #### Documentation -* Module docstrings are now displayed for namespace indexes when documentation is built via --mkdoc. -* Generated documentation are now removed via --clean. +* Module docstrings are now displayed for namespace indexes when documentation is built via `--mkdoc`. +* Generated documentation are now removed via `--clean`. From ccff608e1970f2b205b3e8ea7afdb967eb85c9dc Mon Sep 17 00:00:00 2001 From: Matthew-Mosior Date: Sat, 27 Jul 2024 18:32:59 -0400 Subject: [PATCH 6/9] Auxiliary function refactor. --- src/Idris/Package.idr | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/Idris/Package.idr b/src/Idris/Package.idr index af10175419..e48404ad8e 100644 --- a/src/Idris/Package.idr +++ b/src/Idris/Package.idr @@ -845,18 +845,8 @@ clean pkg opts -- `opts` is not used but might be in the future (executable pkg) -- clean out the generated docs let build = build_dir (dirs (options defs)) - let docBase = build "docs" - let docDir = docBase "docs" - () <- do Right docfiles' <- coreLift $ listDir docDir - | Left err => pure () - traverse_ (\x => delete $ docDir x) - docfiles' - deleteFolder docDir [] - () <- do Right docfiles'' <- coreLift $ listDir docBase - | Left err => pure () - traverse_ (\x => delete $ docBase x) - docfiles'' - deleteFolder docBase [] + () <- deleteDocDirFolder build + () <- deleteDocBaseFolder build runScript (postclean pkg) where delete : String -> Core () @@ -872,6 +862,24 @@ clean pkg opts -- `opts` is not used but might be in the future = do let ttFile = builddir joinPath ns mod delete $ ttFile <.> "ttc" delete $ ttFile <.> "ttm" + + deleteDocBaseFolder : String -> Core () + deleteDocBaseFolder build + = do let docBase = build "docs" + Right docbasefiles <- coreLift $ listDir docBase + | Left err => pure () + traverse_ (\x => delete $ docBase x) + docbasefiles + deleteFolder docBase [] + + deleteDocDirFolder : String -> Core () + deleteDocDirFolder build + = do let docDir = build "docs" "docs" + Right docdirfiles <- coreLift $ listDir docDir + | Left err => pure () + traverse_ (\x => delete $ docDir x) + docdirfiles + deleteFolder docDir [] -- Just load the given module, if it exists, which will involve building -- it if necessary From 063f353a10554ca950c4c6fbcb081af586793ace Mon Sep 17 00:00:00 2001 From: Matthew-Mosior Date: Sat, 27 Jul 2024 18:35:07 -0400 Subject: [PATCH 7/9] Remove unnecessary whitespace. --- src/Idris/Package.idr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Idris/Package.idr b/src/Idris/Package.idr index e48404ad8e..8dd5ce0d92 100644 --- a/src/Idris/Package.idr +++ b/src/Idris/Package.idr @@ -862,7 +862,7 @@ clean pkg opts -- `opts` is not used but might be in the future = do let ttFile = builddir joinPath ns mod delete $ ttFile <.> "ttc" delete $ ttFile <.> "ttm" - + deleteDocBaseFolder : String -> Core () deleteDocBaseFolder build = do let docBase = build "docs" From d788e07c327b9bf57d154d7b75304e9481c1153f Mon Sep 17 00:00:00 2001 From: Matthew-Mosior Date: Thu, 1 Aug 2024 09:45:03 -0400 Subject: [PATCH 8/9] Removing redundant auxiliary function. --- src/Idris/Package.idr | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/Idris/Package.idr b/src/Idris/Package.idr index 8dd5ce0d92..71b5969663 100644 --- a/src/Idris/Package.idr +++ b/src/Idris/Package.idr @@ -845,8 +845,8 @@ clean pkg opts -- `opts` is not used but might be in the future (executable pkg) -- clean out the generated docs let build = build_dir (dirs (options defs)) - () <- deleteDocDirFolder build - () <- deleteDocBaseFolder build + () <- deleteDocsFolder $ build "docs" "docs" + () <- deleteDocsFolder $ build "docs" runScript (postclean pkg) where delete : String -> Core () @@ -863,23 +863,13 @@ clean pkg opts -- `opts` is not used but might be in the future delete $ ttFile <.> "ttc" delete $ ttFile <.> "ttm" - deleteDocBaseFolder : String -> Core () - deleteDocBaseFolder build - = do let docBase = build "docs" - Right docbasefiles <- coreLift $ listDir docBase + deleteDocsFolder : String -> Core () + deleteDocsFolder dir + = do Right docbasefiles <- coreLift $ listDir dir | Left err => pure () - traverse_ (\x => delete $ docBase x) + traverse_ (\x => delete $ dir x) docbasefiles - deleteFolder docBase [] - - deleteDocDirFolder : String -> Core () - deleteDocDirFolder build - = do let docDir = build "docs" "docs" - Right docdirfiles <- coreLift $ listDir docDir - | Left err => pure () - traverse_ (\x => delete $ docDir x) - docdirfiles - deleteFolder docDir [] + deleteFolder dir [] -- Just load the given module, if it exists, which will involve building -- it if necessary From 77d478098593448a797f9157f963faffe238f3af Mon Sep 17 00:00:00 2001 From: Matthew-Mosior Date: Sun, 4 Aug 2024 21:43:16 -0400 Subject: [PATCH 9/9] Cleaning up unnecessary code. --- src/Idris/Package.idr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Idris/Package.idr b/src/Idris/Package.idr index 71b5969663..85406ca3dd 100644 --- a/src/Idris/Package.idr +++ b/src/Idris/Package.idr @@ -845,8 +845,8 @@ clean pkg opts -- `opts` is not used but might be in the future (executable pkg) -- clean out the generated docs let build = build_dir (dirs (options defs)) - () <- deleteDocsFolder $ build "docs" "docs" - () <- deleteDocsFolder $ build "docs" + deleteDocsFolder $ build "docs" "docs" + deleteDocsFolder $ build "docs" runScript (postclean pkg) where delete : String -> Core ()