[rkward-cvs] SF.net SVN: rkward-code:[4939] trunk/rkward/packages/rkwarddev

m-eik at users.sf.net m-eik at users.sf.net
Sun Oct 19 20:43:39 UTC 2014


Revision: 4939
          http://sourceforge.net/p/rkward/code/4939
Author:   m-eik
Date:     2014-10-19 20:43:38 +0000 (Sun, 19 Oct 2014)
Log Message:
-----------
rkwarddev: final change before the 0.06-5 relase, allow non-maintainers to not need an email address in the <about> node

Modified Paths:
--------------
    trunk/rkward/packages/rkwarddev/ChangeLog
    trunk/rkward/packages/rkwarddev/R/rk-internal.R
    trunk/rkward/packages/rkwarddev/R/rk.XML.about.R
    trunk/rkward/packages/rkwarddev/debian/changelog
    trunk/rkward/packages/rkwarddev/inst/NEWS.Rd
    trunk/rkward/packages/rkwarddev/inst/doc/rkwarddev_vignette.pdf
    trunk/rkward/packages/rkwarddev/man/rk.XML.about.Rd

Modified: trunk/rkward/packages/rkwarddev/ChangeLog
===================================================================
--- trunk/rkward/packages/rkwarddev/ChangeLog	2014-10-19 17:27:27 UTC (rev 4938)
+++ trunk/rkward/packages/rkwarddev/ChangeLog	2014-10-19 20:43:38 UTC (rev 4939)
@@ -2,29 +2,41 @@
 
 changes in version 0.06-5 (2014-10-19)
 fixed:
-  - the "show" feature in rk.plugin.skeleton() was broken due to changes in the namespace defaults
-  - scanning plugin XML code for JS and help related content didn't work as expected in rk.plugin.component()
+  - the "show" feature in rk.plugin.skeleton() was broken due to changes in
+    the namespace defaults
+  - scanning plugin XML code for JS and help related content didn't work as
+    expected in rk.plugin.component()
   - rk.rkh.scan() now also recognises <optioncolumn> and <matrix> nodes
-  - a logical bug prevented rk.plugin.component() to run with default values for XML
-  - internal function paste.JS.options(), used by rk.JS.options(), was only working correctly for the "then"
-    part if ite() statements in arrays; now also produces usable code for an "else" part, if available
+  - a logical bug prevented rk.plugin.component() to run with default values
+    for XML
+  - internal function paste.JS.options(), used by rk.JS.options(), was only
+    working correctly for the "then" part if ite() statements in arrays; now
+    also produces usable code for an "else" part, if available
 added:
-  - new functions rk.XML.valueselector(),  rk.XML.valueslot() and the combining rk.XML.values() to define
-    <valueselector> and <valueslot> nodes, similar to rk.XML.varselector(),  rk.XML.varslot() and rk.XML.vars()
+  - new functions rk.XML.valueselector(),  rk.XML.valueslot() and the
+    combining rk.XML.values() to define <valueselector> and <valueslot> nodes,
+    similar to rk.XML.varselector(),  rk.XML.varslot() and rk.XML.vars()
   - new function rk.XML.select() to define <select> nodes
-  - new functions rk.set.rkh.prompter() and rk.get.rkh.prompter() to make it easier to generate help files
-    (later...)
-  - rk.rkh.scan() (and automatically rk.plugin.skeleton() and rk.plugin.component()) are now capable of fetching
-    text set with rk.set.rkh.prompter() and use it to generate help files
-  - all functions scanned by rk.rkh.scan() for setting nodes in .rkh files have gained two additional arguments,
-    "help" and "component", to register the text to be used via rk.set.rkh.prompter()
-  - new function rk.XML.option() to allow setting and accessing IDs for single options as well
-  - new function rk.JS.optionset() and object class "rk.JS.oset" to generate for loops over <optionset> columns
+  - new functions rk.set.rkh.prompter() and rk.get.rkh.prompter() to make it
+    easier to generate help files (later...)
+  - rk.rkh.scan() (and automatically rk.plugin.skeleton() and
+    rk.plugin.component()) are now capable of fetching text set with rk.set.rkh.prompter()
+    and use it to generate help files
+  - all functions scanned by rk.rkh.scan() for setting nodes in .rkh files
+    have gained two additional arguments, "help" and "component", to register
+    the text to be used via rk.set.rkh.prompter()
+  - new function rk.XML.option() to allow setting and accessing IDs for
+    single options as well
+  - new function rk.JS.optionset() and object class "rk.JS.oset" to generate
+    for loops over <optionset> columns
 changed:
-  - updated the plugin skeleton example script; e.g., it now uses the new .rkh file generating features
-  - rk.XML.radio() and rk.XML.dropdown() now also accept objects made with rk.XML.option() in their respective
-    list of options
-  - renamed all class definition files due to include problems with roxygenize()
+  - updated the plugin skeleton example script; e.g., it now uses the new
+    .rkh file generating features
+  - rk.XML.radio() and rk.XML.dropdown() now also accept objects made with
+    rk.XML.option() in their respective list of options
+  - renamed all class definition files due to include problems with
+    roxygenize()
+  - allow non-maintainers to omit email addresses in <about> nodes
 
 changes in version 0.06-4 (2014-09-14)
 added:

Modified: trunk/rkward/packages/rkwarddev/R/rk-internal.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk-internal.R	2014-10-19 17:27:27 UTC (rev 4938)
+++ trunk/rkward/packages/rkwarddev/R/rk-internal.R	2014-10-19 20:43:38 UTC (rev 4939)
@@ -511,9 +511,13 @@
       attrs <- XMLAttrs(this.child)
       given <- make.vector(attrs[["given"]])
       family <- make.vector(attrs[["family"]])
-      email <- make.vector(attrs[["email"]])
+      if(!is.null(attrs[["email"]])){
+        email <- paste0(", email=", make.vector(attrs[["email"]]))
+      } else {
+        email <- ""
+      }
       role <- make.vector(attrs[["role"]])
-      this.author <- paste0("person(given=", given, ", family=", family, ", email=", email, ", role=", role, ")")
+      this.author <- paste0("person(given=", given, ", family=", family, email, ", role=", role, ")")
       all.authors[length(all.authors) + 1] <- this.author
     } else {}
   }

Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.about.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.about.R	2014-10-19 17:27:27 UTC (rev 4938)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.about.R	2014-10-19 20:43:38 UTC (rev 4939)
@@ -23,7 +23,7 @@
 #'    \describe{
 #'      \item{given}{Author given name}
 #'      \item{family}{Author family name}
-#'      \item{email}{Author mail address}
+#'      \item{email}{Author mail address (can be omitted if \code{role} does not include \code{"cre"})}
 #'      \item{role}{This person's specific role, e.g. \code{"aut"} for actual author, \code{"cre"} for maintainer or \code{"ctb"} for contributor.}
 #'    }
 #'    See \code{\link[utils:person]{person}} for more details on this, especially for valid roles.
@@ -121,11 +121,20 @@
   # - email
   # - role
   xml.authors <- unlist(sapply(author, function(this.author){
-      stopifnot(all(c("given", "family", "email") %in% names(unlist(this.author))))
+      stopifnot(all(c("given", "family") %in% names(unlist(this.author))))
       author.given  <- format(this.author, include="given")
       author.family <- format(this.author, include="family")
-      author.email  <- format(this.author, include="email", braces=list(email=""))
+      if("email" %in% names(unlist(this.author))){
+        author.email  <- format(this.author, include="email", braces=list(email=""))
+      } else {
+        author.email  <- NULL
+      }
       author.role   <- format(this.author, include="role", braces=list(role=""), collapse=list(role=", "))
+      # at least maintainers need an email address
+      if("cre" %in% unlist(this.author) & is.null(author.email)){
+        stop(simpleError("the maintainer ", author.given, " ", author.family, " needs an email address!"))
+      } else {}
+     
       result <- XMLNode("author",
         attrs=list(
           given=author.given,

Modified: trunk/rkward/packages/rkwarddev/debian/changelog
===================================================================
--- trunk/rkward/packages/rkwarddev/debian/changelog	2014-10-19 17:27:27 UTC (rev 4938)
+++ trunk/rkward/packages/rkwarddev/debian/changelog	2014-10-19 20:43:38 UTC (rev 4939)
@@ -1,3 +1,9 @@
+r-other-rkward-rkwarddev (0.06-5-1) unstable; urgency=low
+
+  * new upstream release
+
+ -- m.eik michalke <meik.michalke at hhu.de>  Sun, 19 Oct 2014 22:34:34 +0200
+
 r-other-rkward-rkwarddev (0.06-4-1) unstable; urgency=low
 
   * new upstream release

Modified: trunk/rkward/packages/rkwarddev/inst/NEWS.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/inst/NEWS.Rd	2014-10-19 17:27:27 UTC (rev 4938)
+++ trunk/rkward/packages/rkwarddev/inst/NEWS.Rd	2014-10-19 20:43:38 UTC (rev 4939)
@@ -4,35 +4,47 @@
 \section{Changes in rkwarddev version 0.06-5 (2014-10-19)}{
   \subsection{fixed}{
     \itemize{
-      \item the \code{"show"} feature in \code{rk.plugin.skeleton()} was broken due to changes in the namespace defaults
-      \item scanning plugin XML code for JS and help related content didn't work as expected in \code{rk.plugin.component()}
+      \item the \code{"show"} feature in \code{rk.plugin.skeleton()} was broken due to changes in
+        the namespace defaults
+      \item scanning plugin XML code for JS and help related content didn't work as
+        expected in \code{rk.plugin.component()}
       \item \code{rk.rkh.scan()} now also recognises <optioncolumn> and <matrix> nodes
-      \item a logical bug prevented \code{rk.plugin.component()} to run with default values for XML
-      \item internal function \code{paste.JS.options()}, used by \code{rk.JS.options()}, was only working correctly for the \code{"then"}
-        part if \code{ite()} statements in arrays; now also produces usable code for an \code{"else"} part, if available
+      \item a logical bug prevented \code{rk.plugin.component()} to run with default values
+        for XML
+      \item internal function \code{paste.JS.options()}, used by \code{rk.JS.options()}, was only
+        working correctly for the \code{"then"} part if \code{ite()} statements in arrays; now
+        also produces usable code for an \code{"else"} part, if available
     }
   }
   \subsection{added}{
     \itemize{
-      \item new functions \code{rk.XML.valueselector()},  \code{rk.XML.valueslot()} and the combining \code{rk.XML.values()} to define
-        <valueselector> and <valueslot> nodes, similar to \code{rk.XML.varselector()},  \code{rk.XML.varslot()} and \code{rk.XML.vars()}
+      \item new functions \code{rk.XML.valueselector()},  \code{rk.XML.valueslot()} and the
+        combining \code{rk.XML.values()} to define <valueselector> and <valueslot> nodes,
+        similar to \code{rk.XML.varselector()},  \code{rk.XML.varslot()} and \code{rk.XML.vars()}
       \item new function \code{rk.XML.select()} to define <select> nodes
-      \item new functions \code{rk.set.rkh.prompter()} and \code{rk.get.rkh.prompter()} to make it easier to generate help files
-        (later...)
-      \item \code{rk.rkh.scan()} (and automatically \code{rk.plugin.skeleton()} and \code{rk.plugin.component()}) are now capable of fetching
-        text set with \code{rk.set.rkh.prompter()} and use it to generate help files
-      \item all functions scanned by \code{rk.rkh.scan()} for setting nodes in .rkh files have gained two additional arguments,
-        \code{"help"} and \code{"component"}, to register the text to be used via \code{rk.set.rkh.prompter()}
-      \item new function \code{rk.XML.option()} to allow setting and accessing IDs for single options as well
-      \item new function \code{rk.JS.optionset()} and object class \code{"rk.JS.oset"} to generate for loops over <optionset> columns
+      \item new functions \code{rk.set.rkh.prompter()} and \code{rk.get.rkh.prompter()} to make it
+        easier to generate help files (later...)
+      \item \code{rk.rkh.scan()} (and automatically \code{rk.plugin.skeleton()} and
+        \code{rk.plugin.component()}) are now capable of fetching text set with \code{rk.set.rkh.prompter()}
+        and use it to generate help files
+      \item all functions scanned by \code{rk.rkh.scan()} for setting nodes in .rkh files
+        have gained two additional arguments, \code{"help"} and \code{"component"}, to register
+        the text to be used via \code{rk.set.rkh.prompter()}
+      \item new function \code{rk.XML.option()} to allow setting and accessing IDs for
+        single options as well
+      \item new function \code{rk.JS.optionset()} and object class \code{"rk.JS.oset"} to generate
+        for loops over <optionset> columns
     }
   }
   \subsection{changed}{
     \itemize{
-      \item updated the plugin skeleton example script; e.g., it now uses the new .rkh file generating features
-      \item \code{rk.XML.radio()} and \code{rk.XML.dropdown()} now also accept objects made with \code{rk.XML.option()} in their respective
-        list of options
-      \item renamed all class definition files due to include problems with \code{roxygenize()}
+      \item updated the plugin skeleton example script; e.g., it now uses the new
+        .rkh file generating features
+      \item \code{rk.XML.radio()} and \code{rk.XML.dropdown()} now also accept objects made with
+        \code{rk.XML.option()} in their respective list of options
+      \item renamed all class definition files due to include problems with
+        \code{roxygenize()}
+      \item allow non-maintainers to omit email addresses in <about> nodes
     }
   }
 }

Modified: trunk/rkward/packages/rkwarddev/inst/doc/rkwarddev_vignette.pdf
===================================================================
(Binary files differ)

Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.about.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.about.Rd	2014-10-19 17:27:27 UTC (rev 4938)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.about.Rd	2014-10-19 20:43:38 UTC (rev 4939)
@@ -15,7 +15,7 @@
 \describe{
   \item{given}{Author given name}
   \item{family}{Author family name}
-  \item{email}{Author mail address}
+  \item{email}{Author mail address (can be omitted if \code{role} does not include \code{"cre"})}
   \item{role}{This person's specific role, e.g. \code{"aut"} for actual author,
       \code{"cre"} for maintainer or \code{"ctb"} for contributor.}
 }





More information about the rkward-tracker mailing list