[Soiltexture-commits] r108 - in pkg/soiltexture: . R inst man tests vignettes

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Jul 3 14:32:47 CEST 2014


Author: jmoeys
Date: 2014-07-03 14:32:47 +0200 (Thu, 03 Jul 2014)
New Revision: 108

Added:
   pkg/soiltexture/R/soiltextureInfo.R
   pkg/soiltexture/inst/SVN_VERSION
   pkg/soiltexture/tests/soiltextureInfo.R
Removed:
   pkg/soiltexture/SVN_VERSION
Modified:
   pkg/soiltexture/DESCRIPTION
   pkg/soiltexture/NEWS
   pkg/soiltexture/R/onAttach.R
   pkg/soiltexture/man/soiltexture-package.Rd
   pkg/soiltexture/vignettes/soiltexture_vignette.Rnw
Log:
bug fix in vignette + SVN_VERSION file + soiltextureInfo()

Modified: pkg/soiltexture/DESCRIPTION
===================================================================
--- pkg/soiltexture/DESCRIPTION	2014-06-10 08:24:41 UTC (rev 107)
+++ pkg/soiltexture/DESCRIPTION	2014-07-03 12:32:47 UTC (rev 108)
@@ -1,6 +1,6 @@
 Package: soiltexture
-Version: 1.2.16
-Date: 2014-06-10
+Version: 1.2.18
+Date: 2014-07-03
 Title: Functions for soil texture plot, classification and transformation
 Author: Julien MOEYS <jules_m78-soiltexture at yahoo.fr>, contributions from Wei Shangguan.
 Maintainer: Julien MOEYS <jules_m78-soiltexture at yahoo.fr> 

Modified: pkg/soiltexture/NEWS
===================================================================
--- pkg/soiltexture/NEWS	2014-06-10 08:24:41 UTC (rev 107)
+++ pkg/soiltexture/NEWS	2014-07-03 12:32:47 UTC (rev 108)
@@ -1,107 +1,115 @@
-The Soil Texture Wizard
-change log. From 2009/10/09. Most recent changes first / on top.
-Julien MOEYS
------------------------------------------------------------------
 
-VERSION 1.2.16
+    package: 'soiltexture'
+
+CHANGES IN VERSION 1.2.18
     
+    2014/07/03  Added SVN_VERSION file and show SVN version when 
+        the package is attached.
+
+CHANGES IN VERSION 1.2.17
+    
+    2014/07/02  Fixed small bug in the vignette (prevented package
+        compilation)
+
+CHANGES IN VERSION 1.2.16
+    
     2014/06/10  New attempt to fix special characters in languages
-                and triangles
+        and triangles
 
-VERSION 1.2.15
+CHANGES IN VERSION 1.2.15
 
     2014/06/09  Added texture triangle from Lemos & Santos (1996) 
-                (Brasilian triangle). Courtesy of Rodolfo Marcondes 
-                Silva Souza, UFPE, Brasil. Code BRASIL.TT
+        (Brasilian triangle). Courtesy of Rodolfo Marcondes 
+        Silva Souza, UFPE, Brasil. Code BRASIL.TT
                 
-                Now support Portuguese language (lang = "pt")
+        Now support Portuguese language (lang = "pt")
                 
-                Modified the way to handle languages and triangles 
-                with special characters, but it seems R still 
-                remove some of the characters
+        Modified the way to handle languages and triangles 
+        with special characters, but it seems R still 
+        remove some of the characters
                 
-VERSION 1.2.14
+CHANGES IN VERSION 1.2.14
 
     2014/04/23  Added texture triangle from Whitney 1911 (USDA)
-                (courtesy of Nic Jelinski, University of Minnesota, 
-                USA)
+        (courtesy of Nic Jelinski, University of Minnesota, 
+        USA)
 
-VERSION 1.2.13
+CHANGES IN VERSION 1.2.13
 
     2014/01/10  A mistake has been corrected in the texture triangle 
-                DE.SEA74.TT (Standortserkundungsanweisung SEA 1974 (DE)), 
-                for classes "lehmiger Ton" (lT) and "schluffiger 
-                Ton" (uT), where a missing vertex has been added.
+        DE.SEA74.TT (Standortserkundungsanweisung SEA 1974 (DE)), 
+        for classes "lehmiger Ton" (lT) and "schluffiger 
+        Ton" (uT), where a missing vertex has been added.
 
-VERSION 1.2.12
+CHANGES IN VERSION 1.2.12
 
     2014/01/09  The triangle named FAO50.TT was in fact erroneously 
-                named, as it is the HYPRES / European Soil Map 
-                texture triangle. The option class.sys = "FAO50.TT" 
-                is now giving a warning, and the new option is 
-                class.sys = "HYPRES.TT". See the vignette for 
-                details.
+        named, as it is the HYPRES / European Soil Map 
+        texture triangle. The option class.sys = "FAO50.TT" 
+        is now giving a warning, and the new option is 
+        class.sys = "HYPRES.TT". See the vignette for 
+        details.
 
-VERSION 1.2.11
+CHANGES IN VERSION 1.2.11
 
     2014/01/08 Compiled under R 3.0.2
                
-               The functions: TT.check.ps.lim.Xm() and 
-               TT.text.transf.Xm() have been moved to the package 
-               soiltexturetransformation, available on r-forge
-               (https://r-forge.r-project.org/R/?group_id=740)
-               
-               The polish triangle is now loaded at startup, but 
-               loading occur within a try() statement, to (try to) 
-               prevent possible encoding problems on some platforms.
-               A message is issued if the triangle was not loaded 
-               properly (but no error or warning).
+        The functions: TT.check.ps.lim.Xm() and 
+        TT.text.transf.Xm() have been moved to the package 
+        soiltexturetransformation, available on r-forge
+        (https://r-forge.r-project.org/R/?group_id=740)
 
-VERSION 1.2.10
+        The polish triangle is now loaded at startup, but 
+        loading occur within a try() statement, to (try to) 
+        prevent possible encoding problems on some platforms.
+        A message is issued if the triangle was not loaded 
+        properly (but no error or warning).
 
+CHANGES IN VERSION 1.2.10
+
     2013/04/29 Compiled under R 3.0.0
 
-VERSION 1.2.9 
+CHANGES IN VERSION 1.2.9 
 
-  20120307 Removed a useless usage of installed.packages() 
-  20120308 Compact the vignettes before R CMD build 
+    20120307 Removed a useless usage of installed.packages() 
+    20120308 Compact the vignettes before R CMD build 
 
-VERSION 1.2.8 
+CHANGES IN VERSION 1.2.8 
 
-  20120125 New attempt to fix xtable package dependence in the vignette.
+    20120125 New attempt to fix xtable package dependence in the vignette.
 
-VERSION 1.2.7 
+CHANGES IN VERSION 1.2.7 
 
-  20120106  no visible change (fixed package dependance in vignette) + corrected TT.plot()
-            example for Spanish language.
+    20120106  no visible change (fixed package dependance in vignette) + corrected TT.plot()
+        example for Spanish language.
 
-VERSION 1.2.6 
+CHANGES IN VERSION 1.2.6 
 
-  20111112  Added the German (GDR) texture triangle for forest soils: 
-            "Standortserkundungsanweisung SEA 1974 (DE)" 
+    20111112  Added the German (GDR) texture triangle for forest soils: 
+        "Standortserkundungsanweisung SEA 1974 (DE)" 
 
-VERSION < 1.2.6
+CHANGES IN VERSION < 1.2.6
 
-  20111109  New attempt to fix problems while loading the Polish texture triangle 
-            under Mac/Darwin and freeBSD.
+    20111109  New attempt to fix problems while loading the Polish texture triangle 
+        under Mac/Darwin and freeBSD.
 
-  20111101  Fixed a potential infinite loop problem in the texture transformation 
-            functions based on "drc"
+    20111101  Fixed a potential infinite loop problem in the texture transformation 
+        functions based on "drc"
 
-  20111101  Improved handling / loading of the Polish triangle (is not working under 
-            Mac). Added the polih triangle to the vignette.
+    20111101  Improved handling / loading of the Polish triangle (is not working under 
+        Mac). Added the polih triangle to the vignette.
 
-  20100610  New function TT.polygon.centroids() used for a smater calculation 
+    20100610  New function TT.polygon.centroids() used for a smater calculation 
             of the texture class centroid for better placement of the texture 
             classes labels (used by TT.classes(), itself used by TT.plot()).
 
-  20100607  Added the Romanian texture triangle to the list of pre-defined  texture 
+    20100607  Added the Romanian texture triangle to the list of pre-defined  texture 
             triangles, and the Romanian language to the list of possible languages 
             for the texture triangle title and axis labels. many thanks to 
             Rosca Bogdan (Romanian Academy, Iasi Branch, Geography team) for providing 
             the code and translation.
 
-  20100513  Accuracy problems detected in TT.points.in.classes() for texture data 
+    20100513  Accuracy problems detected in TT.points.in.classes() for texture data 
             located right on the boundary of the triangle (or some texture classes), 
             with some digits after the decimal: due to non-exact trigonometric 
             calculations (around 1E-15), these points may not be classified 
@@ -115,104 +123,104 @@
             No fix are planned in the close future to fix this error.
             Thanks to Wei Shangguan (see below) for pointing this 'bug'.
 
-  20100513  Added the ISSS (not to be confused with the 'Australian ISSS') 
+    20100513  Added the ISSS (not to be confused with the 'Australian ISSS') 
             texture triangle to the 
             list of pre-defined texture triangles. Many thanks to Wei Shangguan, 
             PhD from the School of geography of Beijing normal university 
             for providing the code of the triangle.
 
-  20100416  Added the Canadian texture triangle to the list of pre-defined 
+    20100416  Added the Canadian texture triangle to the list of pre-defined 
             texture triangles.
 
-  20100409  Created an r-forge page for the package and uploaded it to SCM 
+    20100409  Created an r-forge page for the package and uploaded it to SCM 
             http://r-forge.r-project.org/scm/?group_id=740 
 
-  20100409  Finished documenting the function TT.plot with inlinedocs. Package 
+    20100409  Finished documenting the function TT.plot with inlinedocs. Package 
             successfully compiled.
 
-  20091221  The parameter 'fg' is now defunct, and replaced by 'col' that accepts 
+    20091221  The parameter 'fg' is now defunct, and replaced by 'col' that accepts 
             several values (while fg only accepts one). 'fg' still exists as an 
             option, but shouldn't produce any effect.
 
-  20091119  Simplified some redundant code in TT.css2xy(), the function that 
+    20091119  Simplified some redundant code in TT.css2xy(), the function that 
             transforms clay silt sand data into x-y coordinates.
 
-  20091118  Corrected a bug in the function TT.normalise.sum() (that couldn't 
+    20091118  Corrected a bug in the function TT.normalise.sum() (that couldn't 
             handle data.frames)
 
-  20091014  Added the Belgian soil texture triangle to the list of pre-defined
+    20091014  Added the Belgian soil texture triangle to the list of pre-defined
             texture triangles (now 8).
 
-  20091013  The TT.mahalanobis() function can now compute a grid of the Mahalanobis 
+    20091013  The TT.mahalanobis() function can now compute a grid of the Mahalanobis 
             distance on log-ratio trasnformation of soil texture data. New option 
             alr, default = FALSE, can be set to TRUE for alr transformation.
 
-  20091013  Added TT.chemometrics.alr(), for additive log-ratio trasnformation of 
+    20091013  Added TT.chemometrics.alr(), for additive log-ratio trasnformation of 
             soil texture data. This is a copy of the alr() function in the chemometrics 
             package, with minor modifications for soil texture data. Used internally 
             in TT.mahalanobis().
 
-  20091011  Added TT.normalise.sum(), that normalise the sum of the 3 texture classes
+    20091011  Added TT.normalise.sum(), that normalise the sum of the 3 texture classes
             to text.sum (100%).
 
-  20091011  The options 'pow' and 'q.max.dist' are now set to 0.5 and 50 respectively.
+    20091011  The options 'pow' and 'q.max.dist' are now set to 0.5 and 50 respectively.
             This is a stronger smoothing than the previous values.
 
-  20091011  TT.iwd() has now a 'q.max.dist' option user to determin 'max.dist' if this 
+    20091011  TT.iwd() has now a 'q.max.dist' option user to determin 'max.dist' if this 
             last is set to NULL. max.dist is the maximum euclidian distance, between 
             a grid point and a data point. If the distance between the grid point and 
             the data point is higher than max.dist, this point is not used to calculate 
             the iwd value. max.dist default value is 
             quantile( x = euclidian.distances, probs = q.max.dist ) 
         
-  20091011  The option value 'z.type = "map"' is now deprecated in TT.plot(). Replaced
+    20091011  The option value 'z.type = "map"' is now deprecated in TT.plot(). Replaced
             by TT.iwd() and TT.image(), called outside TT.plot().
 
-  20091011  TT.as.image() internal function deprecated. now inside TT.iwd()
+    20091011  TT.as.image() internal function deprecated. now inside TT.iwd()
 
-  20091011  TT.image.shade() internal function deprecated. now inside TT.iwd() 
+    20091011  TT.image.shade() internal function deprecated. now inside TT.iwd() 
 
-  20091011  TT.iwd.image() renamed to TT.iwd(). The function now output a list with 
+    20091011  TT.iwd.image() renamed to TT.iwd(). The function now output a list with 
             a x y grid and z value matrix, ready to be plotted by TT.image(). The 
             function is not plotting the image any more.
 
-  20091011  TT.iwd() internal function is deprecated. The name will be attributed to 
+    20091011  TT.iwd() internal function is deprecated. The name will be attributed to 
             TT.iwd.image() 
 
-  20091010  TT.baseplot() now has a geo option.	
+    20091010  TT.baseplot() now has a geo option.	
 
-  20091010  TT.kde2d() function created. Wrapper for MASS function kde2d(), but 
+    20091010  TT.kde2d() function created. Wrapper for MASS function kde2d(), but 
             customized for texture triangles. Results can be displayed by 
             TT.contour(), TT.image(), contour() or image().
 
-  20091010  TT.image() function created. Wrapped for image(), but customized 
+    20091010  TT.image() function created. Wrapped for image(), but customized 
             for texture triangles. Used to display x-y-z list data in the same 
             format as 'x' in contour() or image().
 
-  20091010  TT.contour() function created. Wrapped for contour(), but customized 
+    20091010  TT.contour() function created. Wrapped for contour(), but customized 
             for texture triangles. Used to display x-y-z list data in the same 
             format as 'x' in contour() or image().
 
-  20091010  TT.mahalanobis() function created. Wrapper for the function mahalanobis(), 
+    20091010  TT.mahalanobis() function created. Wrapper for the function mahalanobis(), 
             but customized for texture triangles. Results can be displayed by 
             TT.contour(), TT.image() [see above], contour() or image(). Calculates the 
             Mahalanobis distance for 2 of the 3 texture classes, on a regular x-y grid, 
             backtransformed into clay silt sand, used to calculate the Mahalanobis 
             distance.
 
-  20091010  Added TT.xy.grid() that generates a regular grid on the 
+    20091010  Added TT.xy.grid() that generates a regular grid on the 
             x-y axis. Made after part of kde2d
 
-  20091009  Modified TT.plot() function so it accepts an optionnal 'geo' option and an 
+    20091009  Modified TT.plot() function so it accepts an optionnal 'geo' option and an 
             'add' option that behaves like plot(add=TRUE) when non-null. This is intended 
             to allow overplotting a soil texture triangle over a background plotted by 
             another function (i.e. heat map, contour map etc.)
 
-  20091009  Added TT.locator(). This function is equivalent to the locator() function, 
+    20091009  Added TT.locator(). This function is equivalent to the locator() function, 
             except that it returns clay silt sand coordinates instead.
 
-  20091009  Added TT.xy2css() a function to convert x-y coordinates into clay silt sand.
+    20091009  Added TT.xy2css() a function to convert x-y coordinates into clay silt sand.
 
-  20091009  renamed TT.arrows() to TT.axis.arrows().
+    20091009  renamed TT.arrows() to TT.axis.arrows().
 
-
+    20091009  CHANGE LOG STARTED

Modified: pkg/soiltexture/R/onAttach.R
===================================================================
--- pkg/soiltexture/R/onAttach.R	2014-06-10 08:24:41 UTC (rev 107)
+++ pkg/soiltexture/R/onAttach.R	2014-07-03 12:32:47 UTC (rev 108)
@@ -3,12 +3,6 @@
  libname, 
  pkgname  
 ){  
-    #cat( "'", pkgname, "' loaded.\n" ) 
-    
-    # Setup the polish triangle and language setting
-    ## if( !(tolower(Sys.info()["sysname"]) %in% c("mac","darwin")) ) 
-    
-    
     #   Try to load triangles and languages with special characters
     tryRes <- try( lang.par2 <- readRDS( file = system.file( 
         "languages.rds", package = pkgname ) ) ) 
@@ -17,20 +11,6 @@
         "triangles.rds", package = pkgname ) ) )
     
     
-    # if( tolower(Sys.info()["sysname"]) %in% c("windows") ){ # "linux",
-        # try( source( system.file( "polish_triangle.r", 
-            # package = pkgname ), encoding = "UTF-8" ) )
-        # tryRes <- try( source( system.file( "polish_language.r", 
-            # package = pkgname ), encoding = "UTF-8" ) ) 
-        
-    # }else{ 
-        # try( source( system.file( "polish_triangle_ANSI.r", 
-            # package = pkgname ) ) )
-        # tryRes <- try( source( system.file( "polish_language_ANSI.r", 
-            # package = pkgname ) ) ) 
-    # }   
-    
-    
     #   Extend language parameter if the polish triangle was loaded
     #   successfully
     if( !("try-error" %in% c( class( tryRes ), class( tryRes2 ) ) ) ){ 
@@ -57,14 +37,23 @@
     
     # Welcome message
     if( interactive() ){ 
+        svnVersion <- system.file( "SVN_VERSION", package = pkgname ) 
+        
+        if( svnVersion != "" ){ 
+            svnVersion <- readLines( con = svnVersion )[ 1L ] 
+            svnVersion <- sprintf( "(svn revision: %s)", svnVersion ) 
+        }else{ 
+            svnVersion <- "(svn revision: ?)" 
+        }   
+        
         msg <- sprintf( 
-            "%s %s. For help type: help(pack='%s')", 
+            "%s %s %s. For help type: help(pack='%s')", 
             pkgname, 
             as.character( packageVersion( pkgname ) ), 
+            svnVersion, 
             pkgname ) 
         
         packageStartupMessage( msg ) 
     }   
-    
 }   
 

Added: pkg/soiltexture/R/soiltextureInfo.R
===================================================================
--- pkg/soiltexture/R/soiltextureInfo.R	                        (rev 0)
+++ pkg/soiltexture/R/soiltextureInfo.R	2014-07-03 12:32:47 UTC (rev 108)
@@ -0,0 +1,220 @@
+
+# soiltextureInfo ====================================================
+
+soiltextureInfo <- function(# Display and / or export system and package version information
+### Display and / or export system and package version information. 
+###  Can be used to provide an overview of the system and the R 
+###  packages that were used to produce some calculations, thus 
+###  improving the traceability of that work in the long run.
+
+##seealso<< The base functions that were used internally to compile 
+##  the information: \code{\link[base]{Sys.time}}, 
+##  \code{\link[base]{Sys.info}}, \code{\link[base]{version}}, 
+##  \code{\link[base]{.packages}}, 
+##  \code{\link[utils]{installed.packages}}, 
+##  \code{\link[tools]{package_dependencies}}. See also the 
+##  \code{MD5} file in each package directory (and 
+##  \code{\link[tools]{md5sum}} for generating these MD5 checksums).
+
+ file = NULL, 
+###  Single character string. Name of the text file (with or without 
+###  its path) in which the information will be exported. If 
+###  \code{NULL} (default), information are not exported.
+
+    verbose  = TRUE, 
+###  Single logical value. If \code{TRUE}, information are displayed 
+###  on the screen.
+
+    depends  = FALSE, 
+###  Single logical value. If \code{TRUE}, information on packages 
+###  dependencies are also displayed, in the same way
+
+    md5      = TRUE,
+###  Single logical value. If \code{TRUE}, the package MD5 checksums 
+###  are returned too
+
+    packages = "soiltexture" 
+###  Single character string. Name of the package whose information 
+###  must be returned.
+
+){  
+    #   depends <- TRUE; md5 <- TRUE; packages <- "soiltexture"; verbose <- TRUE
+    
+    tmpFile <- tempfile() 
+    con     <- file( description = tmpFile, open = "w+" ) 
+    
+    #   In case the function crashes, the file will be closed
+    on.exit( { close( con ); unlink( tmpFile ) } )
+    
+    cat2 <- function( ..., .file = con, sep = " " ){ 
+        cat( ..., file = .file, sep = sep ) 
+    }   
+    
+    cap2 <- function( ..., .file = con, .append = TRUE ){ 
+        capture.output( ..., file = .file, append = .append ) 
+    }   
+    
+    cat2( "INFORMATION ON SYSTEM AND PACKAGE(S) VERSION(S)\n" ) 
+    cat2( "===============================================\n\n" ) 
+    
+    cat2( sprintf( "Date and time: %s\n\n", Sys.time() ) ) 
+    
+    cat2( "System info and R version\n" ) 
+    cat2( "-------------------------\n\n" ) 
+    
+    #   System information
+    cat2( "System info:\n" ) 
+    
+    sysInfo <- Sys.info() 
+    sysInfo <- data.frame( 
+        "info"  = names( sysInfo ), 
+        "value" = as.character( sysInfo ), 
+        stringsAsFactors = FALSE 
+    )   
+    
+    cap2( sysInfo ); rm( sysInfo )
+    cat2( "\n" ) 
+    
+    #   R version
+    cat2( "R version:\n" ) 
+    
+    rversion <- data.frame( 
+        "info"  = names( version ), 
+        "value" = as.character( version ), 
+        stringsAsFactors = FALSE 
+    )   
+    
+    cap2( rversion ); rm( rversion )
+    cat2( "\n" ) 
+    
+    #   R version
+    cat2( "Loaded packages:\n" ) 
+    
+    loadedPackages    <- .packages() 
+    installedPackages <- installed.packages() 
+    
+    loadedPackages    <- installedPackages[ sort( loadedPackages ), 
+        "Version" ] 
+    loadedPackages    <- data.frame( 
+        "package"  = names( loadedPackages ), 
+        "version"  = as.character( loadedPackages ), 
+        stringsAsFactors = FALSE 
+    )   
+    
+    cap2( loadedPackages ) 
+    cat2( "\n" ) 
+    
+    #   Package information
+    # if( length( package ) > 1 ){ 
+        # stop( "length( package ) > 1" )
+    # }   
+    
+    cat2( sprintf( 
+        "Information for packages: %s\n\n", 
+        paste( packages, collapse = "; " )
+    ) ) 
+    
+    
+    testPack <- packages %in% installedPackages[, "Package" ]
+    if( !all( testPack ) ){ 
+        stop( sprintf( 
+            "Can't find some package(s): %s", 
+            paste( packages[ !testPack ], collapse = "; " )
+        ) ) 
+    };  rm( testPack ) 
+    
+    
+    if( depends ){ 
+        #   Find dependencies
+        require( "tools" ) 
+        
+        dep <- unlist( lapply( 
+            X   = packages, 
+            FUN = function(X){ 
+                out <- package_dependencies( 
+                    packages  = packages, 
+                    db        = installedPackages, 
+                    recursive = TRUE ) 
+                
+                return( unlist( out ) )
+            }   
+        ) ) 
+        dep <- sort( unique( dep ) ) 
+        
+        #   Remove base packages
+        xPriority <- installedPackages[ dep, "Priority" ]
+        xPriority[ is.na( xPriority ) ] <- ""
+        dep <- dep[ xPriority != "base" ]
+        rm( xPriority )
+        dep <- dep[ !(dep %in% packages) ] 
+        
+        if( length( dep ) > 0 ){ 
+            cat2( "Dependencies (except base packages):\n" ) 
+            for( p in dep ){
+                cat2( sprintf( "*   %s\n", p ) )
+            }   
+            cat2( "\n" ) 
+            
+            #   Add to the list of packages
+            packages <- c( packages, dep )
+        }else{ 
+            cat2( "Dependencies (except base packages): none\n\n" ) 
+        }   
+        
+        rm( dep )
+    }   
+    
+    
+    for( p in packages ){ 
+        cat2( sprintf( "Package information for %s\n", p ) ) 
+        cat2(          "-----------------------\n\n" ) 
+        
+        #   Package version
+        cat2( sprintf( "Package version: %s\n\n", 
+            installedPackages[ p, "Version" ] ) ) 
+        
+        #   Files in packages directory
+        packFiles <- list.files( system.file( package = p ) )
+        
+        svnRev <- c( "SVN_VERSION", "SVN_REVISON", "REVISION" ) 
+        svnRev <- svnRev[ svnRev %in% packFiles ]
+        
+        if( length( svnRev ) > 0 ){ 
+            svnRev <- svnRev[ 1L ] 
+            svnRev <- system.file( "SVN_VERSION", package = p )
+            svnRev <- readLines( con = svnRev ) 
+            cat2( "SVN revision: ", svnRev, "\n\n", sep = "" )
+        };  rm( svnRev )
+        
+        
+        if( "MD5" %in% packFiles ){ 
+            md5  <- system.file( "MD5", package = p )
+            .md5 <- readLines( con = md5 )
+            cat2( "Package MD5: ", md5, "\n\n", sep = "" )
+            cat2( .md5, sep = "\n" ) 
+            cat2( "\n\n" )
+            
+            rm( md5, .md5 )
+            
+        }else{ 
+            cat2( "No MD5 checksum found\n\n" )
+        }   
+        
+        rm( packFiles )
+        
+    };  rm( p )
+    
+    close( con ); on.exit() 
+    info <- readLines( con = tmpFile ) 
+    
+    if( verbose ){ cat( info, sep = "\n" ) }
+    
+    if( !is.null( file ) ){ writeLines( text = info, con = file ) }
+    
+    return( invisible( info ) ) 
+###  Invisibly returns the information as a vector of character 
+###  strings
+}   
+
+#   soiltextureInfo( file = "soiltextureInfo.txt", depends = TRUE ) 
+#   soiltextureInfo( packages = "macrolegions" ) 

Deleted: pkg/soiltexture/SVN_VERSION
===================================================================
--- pkg/soiltexture/SVN_VERSION	2014-06-10 08:24:41 UTC (rev 107)
+++ pkg/soiltexture/SVN_VERSION	2014-07-03 12:32:47 UTC (rev 108)
@@ -1 +0,0 @@
-105:106M

Copied: pkg/soiltexture/inst/SVN_VERSION (from rev 107, pkg/soiltexture/SVN_VERSION)
===================================================================
--- pkg/soiltexture/inst/SVN_VERSION	                        (rev 0)
+++ pkg/soiltexture/inst/SVN_VERSION	2014-07-03 12:32:47 UTC (rev 108)
@@ -0,0 +1 @@
+105:106M

Modified: pkg/soiltexture/man/soiltexture-package.Rd
===================================================================
--- pkg/soiltexture/man/soiltexture-package.Rd	2014-06-10 08:24:41 UTC (rev 107)
+++ pkg/soiltexture/man/soiltexture-package.Rd	2014-07-03 12:32:47 UTC (rev 108)
@@ -34,9 +34,9 @@
 
 \tabular{ll}{Package: \tab soiltexture\cr
 
-Version: \tab 1.2.16\cr
+Version: \tab 1.2.18\cr
 
-Date: \tab 2014-06-10\cr
+Date: \tab 2014-07-03\cr
 
 Title: \tab Functions for soil texture plot, classification and transformation\cr
 

Added: pkg/soiltexture/tests/soiltextureInfo.R
===================================================================
--- pkg/soiltexture/tests/soiltextureInfo.R	                        (rev 0)
+++ pkg/soiltexture/tests/soiltextureInfo.R	2014-07-03 12:32:47 UTC (rev 108)
@@ -0,0 +1,16 @@
+
+library( "soiltexture" )
+
+#   Temporary file where the info will be exported:
+f <- tempfile() 
+
+#   Generate package information
+soiltextureInfo( file = f, depends = TRUE, verbose = FALSE )
+
+#   Read again the info (as for verbose = TRUE)
+cat( readLines( f ), sep = "\n" ) 
+unlink( f )
+
+#   Also works with other packages
+soiltextureInfo( packages = "sp" )
+

Modified: pkg/soiltexture/vignettes/soiltexture_vignette.Rnw
===================================================================
--- pkg/soiltexture/vignettes/soiltexture_vignette.Rnw	2014-06-10 08:24:41 UTC (rev 107)
+++ pkg/soiltexture/vignettes/soiltexture_vignette.Rnw	2014-07-03 12:32:47 UTC (rev 108)
@@ -1540,7 +1540,7 @@
 % +~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
 \subsection{The Brazilian soil texture classification} 
 
-To display a Brazilian texture triangle (Lemos & Santos 
+To display a Brazilian texture triangle (Lemos \& Santos 
 1996)\cite{LEMOS1996}, type:
 
 



More information about the Soiltexture-commits mailing list