You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2017/02/23 16:27:46 UTC

[3/6] lucy-clownfish git commit: Only write documentation for installed parcels

Only write documentation for installed parcels


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/2a44a5b3
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/2a44a5b3
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/2a44a5b3

Branch: refs/heads/master
Commit: 2a44a5b364facdc17b948beff43f8d9c8ee7e96e
Parents: 3530458
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Mon Feb 13 16:12:19 2017 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Fri Feb 17 13:21:53 2017 +0100

----------------------------------------------------------------------
 compiler/src/CFCC.c     | 8 ++++----
 compiler/src/CFCCHtml.c | 9 +++++----
 compiler/src/CFCCMan.c  | 2 --
 compiler/src/CFCClass.c | 7 +++++++
 compiler/src/CFCClass.h | 3 +++
 5 files changed, 19 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCC.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCC.c b/compiler/src/CFCC.c
index 6197e2e..10fec57 100644
--- a/compiler/src/CFCC.c
+++ b/compiler/src/CFCC.c
@@ -92,7 +92,8 @@ CFCC_write_man_pages(CFCC *self) {
     size_t num_classes = 0;
     for (size_t i = 0; ordered[i] != NULL; i++) {
         CFCClass *klass = ordered[i];
-        if (!CFCClass_included(klass)) { ++num_classes; }
+        if (!CFCClass_needs_documentation(klass)) { continue; }
+        ++num_classes;
     }
     char **man_pages = (char**)CALLOCATE(num_classes, sizeof(char*));
 
@@ -101,7 +102,7 @@ CFCC_write_man_pages(CFCC *self) {
     // system.
     for (size_t i = 0, j = 0; ordered[i] != NULL; i++) {
         CFCClass *klass = ordered[i];
-        if (CFCClass_included(klass)) { continue; }
+        if (!CFCClass_needs_documentation(klass)) { continue; }
 
         char *man_page = CFCCMan_create_man_page(klass);
         man_pages[j++] = man_page;
@@ -114,10 +115,9 @@ CFCC_write_man_pages(CFCC *self) {
     // Write out any man pages that have changed.
     for (size_t i = 0, j = 0; ordered[i] != NULL; i++) {
         CFCClass *klass = ordered[i];
-        if (CFCClass_included(klass)) { continue; }
+        if (!CFCClass_needs_documentation(klass)) { continue; }
 
         char *raw_man_page = man_pages[j++];
-        if (!raw_man_page) { continue; }
         char *man_page = CFCUtil_sprintf("%s%s%s", self->man_header,
                                          raw_man_page, self->man_footer);
 

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCCHtml.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCCHtml.c b/compiler/src/CFCCHtml.c
index e527c53..6d5f908 100644
--- a/compiler/src/CFCCHtml.c
+++ b/compiler/src/CFCCHtml.c
@@ -268,9 +268,7 @@ CFCCHtml_write_html_docs(CFCCHtml *self) {
 
     for (size_t i = 0; ordered[i] != NULL; i++) {
         CFCClass *klass = ordered[i];
-        if (CFCClass_included(klass) || !CFCClass_public(klass)) {
-            continue;
-        }
+        if (!CFCClass_needs_documentation(klass)) { continue; }
 
         const char *class_name = CFCClass_get_name(klass);
         char *path = CFCUtil_global_replace(class_name, "::", CHY_DIR_SEP);
@@ -341,6 +339,7 @@ S_create_index_doc(CFCCHtml *self, CFCClass **classes, CFCDocument **docs) {
     }
 
     // Compile class lists per parcel.
+    // TODO: Sort parcels. Don't derive filename from random parcel.
 
     char *class_lists    = CFCUtil_strdup("");
     char *parcel_names   = CFCUtil_strdup("");
@@ -348,7 +347,9 @@ S_create_index_doc(CFCCHtml *self, CFCClass **classes, CFCDocument **docs) {
 
     for (size_t i = 0; parcels[i]; i++) {
         CFCParcel *parcel = parcels[i];
-        if (CFCParcel_included(parcel)) { continue; }
+        if (CFCParcel_included(parcel) || !CFCParcel_is_installed(parcel)) {
+            continue;
+        }
 
         const char *prefix      = CFCParcel_get_prefix(parcel);
         const char *parcel_name = CFCParcel_get_name(parcel);

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCCMan.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCCMan.c b/compiler/src/CFCCMan.c
index 771d410..b271702 100644
--- a/compiler/src/CFCCMan.c
+++ b/compiler/src/CFCCMan.c
@@ -77,8 +77,6 @@ S_man_escape(const char *content);
 
 char*
 CFCCMan_create_man_page(CFCClass *klass) {
-    if (!CFCClass_public(klass)) { return NULL; }
-
     const char *class_name = CFCClass_get_name(klass);
 
     // Create NAME.

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCClass.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCClass.c b/compiler/src/CFCClass.c
index ea39848..1fb2041 100644
--- a/compiler/src/CFCClass.c
+++ b/compiler/src/CFCClass.c
@@ -887,6 +887,13 @@ CFCClass_abstract(CFCClass *self) {
     return self->is_abstract;
 }
 
+int
+CFCClass_needs_documentation(CFCClass *self) {
+    return CFCClass_public(self)
+           && !CFCClass_included(self)
+           && CFCParcel_is_installed(self->parcel);
+}
+
 const char*
 CFCClass_get_struct_sym(CFCClass *self) {
     return self->struct_sym;

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCClass.h
----------------------------------------------------------------------
diff --git a/compiler/src/CFCClass.h b/compiler/src/CFCClass.h
index 91fa0cf..bf86f61 100644
--- a/compiler/src/CFCClass.h
+++ b/compiler/src/CFCClass.h
@@ -255,6 +255,9 @@ CFCClass_inert(CFCClass *self);
 int
 CFCClass_abstract(CFCClass *self);
 
+int
+CFCClass_needs_documentation(CFCClass *self);
+
 const char*
 CFCClass_get_struct_sym(CFCClass *self);