Changes between Version 42 and Version 43 of RBuild


Ignore:
Timestamp:
Jan 3, 2012 10:21:00 AM (13 years ago)
Author:
cedric
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RBuild

    v42 v43  
    1010 
    1111 ''' Cookbook '''  
    12  == pré requis== 
     12 == pré requis == 
    1313 0. Installation de Rtools (je ne sais pas si éclipse à besoin de ça mais le build semble utiliser cygwin) 
    1414 1. Installation de mikTex 
    15  2. les packages sont dans stacomR0.4 ou stacomiR0.5, pour stacomiR0.5 il faudra faire un merge.... 
    16  3. Sous subversion il y a deux packages sur le site de Rforge  
     15 2. les packages sont dans stacomR0.4 ou stacomiR0.5, pour stacomiR0.5 il faudra faire un merge.... [[BR]] 
     16  Sous subversion il y a deux packages sur le site de Rforge  
    1717[[Image(source:stacomi/trunk/docs/trac/image_Rforge.jpg,800px)]] 
    1818 svn+ssh://briand@scm.r-forge.r-project.org/svnroot/stacomir [[BR]] 
    1919 svn+ssh://briand@scm.r-forge.r-project.org/svnroot/stacomir/branch/stacomir0.5 [[BR]] 
    20   
     20 == ci dessous à ne lancer que si nécessaire pour créer ou recreer le package == 
     21 1. Lancer ''' package.build.R ''' (crée dans le working directory) pour les deux package (seulement les parties package.skeleton)  
     22 le script n'est pas sur R forge mais sur le serveur subversion de l'IAV svn://svn.eptb-vilaine.fr/STACOMI/branches/STACOMIR0.3/build 
     23 2. mettre à jour les fichier ''' DESCRIPTION ''' man/stacomiR-package.Rd pour les dates et numéros de version 
     24 3. Lancer  dans stacomiR_oxygenize.r[[BR]] 
     25 {{{ 
     26# Je n'arrive pas à faire marcher R CMD oxygenize sous statet  
     27# il faut avoir lancé la fonction package.skeleton avant... ou lancer dans un répertoire qui fonctionne 
     28# version 01/01/2013  
     29# Author: cedric 
     30############################################################################### 
     31# pour lancer Roxygen en mode commande il faut installer R cmd tools et  
     32# http://stackoverflow.com/questions/4389070/r-cmd-roxygen-not-recognized 
     33#'      roxygen' n'est pas reconnu en tant que commande interne 
     34#'              ou externe, un programme ex‚cutable ou un fichier de commandes. 
     35install.packages("roxygen2") 
     36library(roxygen2) # c'est la mise à jour de roxygen à utiliser 
     37 
     38setwd("E:/workspace/stacomir0.4/") 
     39source("pkg/stacomir/inst/config/stacomir") # je lance pour les tests ... utile ? 
     40setwd("E:/workspace/stacomir0.4/") 
     41#source("build/roxygen.ced.r") 
     42# je n'arrive pas à le faire marcher en pointant vers un autre package les modifs ont donc été faites en local... à vérifier... 
     43roxygenize(package.dir="pkg/stacomir") 
     44# ne sait toujours pas documenter les @slot 
     45}}} 
     46 
     47 * les fonctions sont bien documentées à l'aide d'éclipse et Roxygen, 
     48 * tout ce qui concerne les classes S4 fonctionne mais ne semble pas optimal, 
     49 * => Il faut donc copier les fichiers .Rd correspondant aux fonctions dans StacomiR03Ox/man mais pas ceux correspondant aux classes  S4 (fichiers -class.Rd et -methods.Rd) qui sont à récupérer dans le répertoire de la version précédent  ou ils ont été créés par la fonction package.skeleton. Pour les classes il faut reprendre les commentaire (titre, description ...) depuis les fichiers Rd dans prog/STACOMIR03Ox/man et les copier vers le fichier prog/man (en controle de source). Cette action n'est à réaliser que pour les nouvelles classes, les anciennes sont déjà documentées. 
     50 
    2151== cmd-check == 
    22  
    23  == pré requis== 
    24  1. supprimer ''' prog/STACOMIR03 '''(sinon garde l'ancienne version!!)  
    25  2. Lancer ''' package.build.R ''' (crée dans le working directory)pour les deux (seulement les parties package.skeleton) 
    26  3. Copier le fichier ''' DESCRIPTION ''' mettre à jour les numéros de licence et les dates dans DESCRIPTION et dans man/stacomiR-package.Rd 
    27  4. Lancer la commande (après avoir chargé roxygenize.ced) dans stacomiR_oxygenize.r[[BR]] 
    28 roxygenize.ced est une modif verbeuse et qui permet d'éviter les classes héritée qui font planter le pg. Pour résumer 
    29  * les fonctions sont bien documentées à l'aide d'éclipse et Roxygen, 
    30  * tout ce qui concerne les classes S4 ne fonctionne pas, 
    31  * => Il faut donc copier les fichiers .Rd correspondant aux fonctions dans StacomiR03Ox/man mais pas ceux correspondant aux classes  S4 (fichiers -class.Rd et -methods.Rd) qui sont à récupérer dans le répertoire StacomiR03/man ou ils ont été créés par la fonction package.skeleton. Pour les classes il faut reprendre les commentaire (titre, description ...) depuis les fichiers Rd dans prog/STACOMIR03Ox/man et les copier vers le fichier prog/man (en controle de source). Cette action n'est à réaliser que pour les nouvelles classes, les anciennes sont déjà documentées. 
    32  * Une fois que la doc est clean la copier depuis le fichier prog/man (en controle de source) vers stacomiR03/man qui va servir de base à la construction du package. 
    33  * Supprimer le fichier read_and_deleteme constitué par la fonction package.skeleton 
    34 {{{ 
    35 roxygenize.ced(package.dir="prog/STACOMIR03",roxygen.dir='prog/STACOMIR03Ox', 
    36                 copy.package=FALSE,overwrite=TRUE,unlink.target=FALSE,use.Rd2=FALSE, 
    37 avoid=c("BilanMigrationPar.r", 
    38         "PasDeTempsJournalier.r", 
    39         "Refparqual.r", 
    40         "Refparquan.r", 
    41         "RequeteODBC.r", 
    42         "RequeteODBCwhere.r", 
    43         "RequeteODBCwheredate.r")) 
    44 }}} 
    45  5. Remplacer le contenu de ggplot2usr-package par celui de ggplot2usr.Rd de ggplot2usrpk 
    46  6. Rcmd check <repertoire> ou run>External tool>check [[BR]] 
    47 Cette Commande permet de vérifier que les infos nécessaires à la construction du package (RBuild) sont présentes... 
     52 1. methode 1 : en mode commande  
     53 ! Attention les install.out sont écrit dans le répertoire d'éclipse pas dans le working directory 
     54        e: 
     55        cd E:\workspace\stacomiR0.4\pkg 
     56         C:\"Program Files"\R\R-2.14.0\bin\i386\Rcmd check E:\workspace\stacomiR0.4\pkg\stacomirtools 
     57         C:\"Program Files"\R\R-2.14.0\bin\i386\Rcmd check --no-manual -o "E:\workspace\stacomiR0.4\pkg\stacomirtools\chk" E:\workspace\stacomiR0.4\pkg\stacomirtools 
     58 2. methode 2 : à l'aide de la méthode R CMD check de statet, voir help cheat sheet dans eclipse pour la configuration 
    4859 (dans eclipse vérifier la configuration version+ pointer vers le repertoire construit lors des procédures précédentes dans project external tools) [[BR]] 
    49 Vérifier que les arguments working directory (onglet Rconfig)  
     60Vérifier que les arguments working directory (onglet Rconfig) 
    5061{{{ 
    5162${workspace_loc:/STACOMIR0.3/prog/STACOMIR03} 
     
    5566${workspace_loc:/STACOMIR0.3} 
    5667}}} 
    57 Les résultats de l'installation (fichier install00.out et 00cjheck.log sont écrits dans le répertoire 
     68== cmd-build == 
     69 1. en mode commande 
    5870{{{ 
    59 STACOMIR03.Rcheck 
     71 e: 
     72 cd E:\workspace\stacomiR0.4\pkg 
     73 C:\"Program Files"\R\R-2.14.0\bin\i386\Rcmd build stacomirtools 
    6074}}} 
    61 Cette commande plante généralement au chargement des dépendances et je ne sais pas pourquoi... 
    62 {{{ 
    63 * install options are ' --no-html' 
    64 * installing *source* package 'stacomiR' ... 
    65 ** R 
    66 ** inst 
    67 ** preparing package for lazy loading 
    68 Chargement de Tcl/Tk... terminé 
    69 Loading required package: grid 
    70 Loading required package: reshape 
    71 Loading required package: plyr 
    72 Loading required package: digest 
    73 Avis dans gzfile(file, mode) : 
    74   impossible d'ouvrir le fichier compressé 'C:\DOCUME~1\cedric\LOCALS~1\Temp\RtmphMvUe6/libloc_C%3a%2fDOCUME%7e1%2fcedric%2fMESDOC%7e1%2fMIGRAT%7e1%2fPROGRA%7e1%2fWORKSP%7e1.5%2fSTACOM%7e1.3%2fprog%2fSTACOM%7e1.RCHVersion,Priority,Bundle,Contains,Depends,Imports,LinkingTo,Suggests,Enhances,OS_type,License,Built.rds', cause probable : 'No such file or directory' 
    75 Error in gzfile(file, mode) : impossible d'ouvrir la connexion 
    76 Error : .onLoad failed in 'loadNamespace' for 'gWidgets' 
    77 Error : package 'gWidgets' could not be loaded 
    78 ERROR: lazy loading failed for package 'stacomiR' 
    79 * removing 'C:/DOCUME~1/cedric/MESDOC~1/MIGRAT~1/PROGRA~1/WORKSP~1.5/STACOM~1.3/prog/STACOM~1.RCH/stacomiR' 
    80 }}} 
    81 Cette erreur n'empêche pas de passer à l'étape ultérieure 
    82  7. Rcmd build c:/base/stacomi ou via eclipse run>External tool>check configurer comme Rcmd Check ci dessus. Cette étape permet notamment de vérifier les fichiers de documentation [[BR]] [[BR]] 
     75 Les résultats de l'installation (fichier install00.out et 00cjheck.log) sont écrits dans le répertoire d'éclipse 
     76 2. en mode statet  
     77 l'option build-zip ne semble plus fonctionner, il faut faire Rcmd install puis zipper le package produit dans C:\Program Files\R\R-2.14.0\library\[[BR]] 
    8378 [[Image(source:stacomi/trunk/docs/trac/R-cmd-check.jpg,800px)]] 
    84  8. Rcmd INSTALL stacomi_0.2.tar.gz : ...Le tar.gz est mis dans bin ou id dans eclipse 
    85   On peut aussi lancer build dans eclipse avec les options --binary et --auto-zip 
    86  9. Pour faire un windows distribuable il faut ensuite compresser le répertoire stacomi dans  C:\Program Files\R\R-2.9.1\library\ 
    87  10. L'installation en mode commande se fait avec R.exe -f stacomi.zip ou Rcmd install dans eclipse 
     79 8. Rcmd INSTALL stacomi_0.2.tar.gz : ...Le tar.gz est mis dans bin ou id dans eclipse [[BR]] 
     80 ou  R.exe -f stacomi.zip ou Rcmd install dans eclipse