wiki:RBuild

Version 36 (modified by cedric, 15 years ago) (diff)

--

Procédure de construction du package 13/mars 2010

Note : ce fichier est pour mémoire pour Cédric

Références :

La source R : http://cran.us.r-project.org/doc/manuals/R-exts.pdf
Making R packages under windows : http://www1.appstate.edu/~arnholta/Software/MakingPackagesUnderWindows.pdf

Cookbook

  1. supprimer prog/STACOMIR03 (sinon garde l'ancienne version!!)
  2. Lancer package.build.R (crée dans le working directory)pour les deux (seulement les parties package.skeleton)
  3. Copier le fichier DESCRIPTION mettre à jour les numéros de licence et les dates dans DESCRIPTION et dans man/stacomiR-package.Rd
  4. Lancer la commande (après avoir chargé roxygenize.ced) dans stacomiR_oxygenize.r

roxygenize.ced est une modif verbeuse et qui permet d'éviter les classes héritée qui font planter le pg. Pour résumer

  • les fonctions sont bien documentées à l'aide d'éclipse et Roxygen,
  • tout ce qui concerne les classes S4 ne fonctionne pas,
  • => 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.
  • 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.
  • Supprimer le fichier read_and_deleteme constitué par la fonction package.skeleton
    roxygenize.ced(package.dir="prog/STACOMIR03",roxygen.dir='prog/STACOMIR03Ox',
    		copy.package=FALSE,overwrite=TRUE,unlink.target=FALSE,use.Rd2=FALSE,
    avoid=c("BilanMigrationPar.r",
            "PasDeTempsJournalier.r",
            "Refparqual.r",
    	"Refparquan.r",
    	"RequeteODBC.r",
    	"RequeteODBCwhere.r",
    	"RequeteODBCwheredate.r"))
    
  1. Remplacer le contenu de ggplot2usr-package par celui de ggplot2usr.Rd de ggplot2usrpk
  2. Rcmd check <repertoire> ou run>External tool>check

Cette Commande permet de vérifier que les infos nécessaires à la construction du package (RBuild) sont présentes...

(dans eclipse vérifier la configuration version+ pointer vers le repertoire construit lors des procédures précédentes dans project external tools)

Vérifier que les arguments working directory (onglet Rconfig)

${workspace_loc:/STACOMIR0.3/prog/STACOMIR03}

et package directory (onglet main) sont :

${workspace_loc:/STACOMIR0.3}

Les résultats de l'installation (fichier install00.out et 00cjheck.log sont écrits dans le répertoire

STACOMIR03.Rcheck

Cette commande plante généralement au chargement des dépendances et je ne sais pas pourquoi...

* install options are ' --no-html'
* installing *source* package 'stacomiR' ...
** R
** inst
** preparing package for lazy loading
Chargement de Tcl/Tk... terminé
Loading required package: grid
Loading required package: reshape
Loading required package: plyr
Loading required package: digest
Avis dans gzfile(file, mode) :
  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'
Error in gzfile(file, mode) : impossible d'ouvrir la connexion
Error : .onLoad failed in 'loadNamespace' for 'gWidgets'
Error : package 'gWidgets' could not be loaded
ERROR: lazy loading failed for package 'stacomiR'
* removing 'C:/DOCUME~1/cedric/MESDOC~1/MIGRAT~1/PROGRA~1/WORKSP~1.5/STACOM~1.3/prog/STACOM~1.RCH/stacomiR'

Cette erreur n'empêche pas de passer à l'étape ultérieure

  1. 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

    source:stacomi/trunk/docs/trac/R-cmd-check.jpg
  2. Rcmd INSTALL stacomi_0.2.tar.gz : ...Le tar.gz est mis dans bin ?? vérifier Attention les install.out sont écrit dans le répertoire d'éclipse pas dans le working directory
    On peut aussi lancer build dans eclipse avec les options --binary et --auto-zip
  3. Pour faire un windows distribuable il faut ensuite compresser le répertoire stacomi dans C:\Program Files\R\R-2.9.1\library\
  4. L'installation en mode commande se fait avec R.exe -f stacomi.zip ou Rcmd install dans eclipse