== 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 [[BR]] Making R packages under windows : http://www1.appstate.edu/~arnholta/Software/MakingPackagesUnderWindows.pdf [[BR]] ''' 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[[BR]] 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")) }}} 5. Remplacer le contenu de ggplot2usr-package par celui de ggplot2usr.Rd de ggplot2usrpk 6. Rcmd check ou run>External tool>check [[BR]] 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) [[BR]] 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 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 [[Image(source:stacomi/trunk/docs/trac/R-cmd-check.jpg,800px)]] 8. 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 ''' 9. Pour faire un windows distribuable il faut ensuite compresser le répertoire stacomi dans C:\Program Files\R\R-2.9.1\library\ Ou (8 et 9) lancer build dans eclipse avec les options --binary et --auto-zip 10. L'installation en mode commande se fait avec R.exe -f stacomi.zip ou Rcmd install dans eclipse