Procédure de construction du package 13/mars 2010
Retour à la page de démarrage ..
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 téléchargé dans pdf/R/R-exts.pdf
Making R packages under windows : http://www1.appstate.edu/~arnholta/Software/MakingPackagesUnderWindows.pdf
Cookbook
pré requis
- Installation de Rtools (je ne sais pas si éclipse à besoin de ça mais le build semble utiliser cygwin)
- Installation de mikTex
- les packages sont dans stacomR0.4 ou stacomiR0.5, pour stacomiR0.5 il faudra faire un merge....
Sous subversion il y a deux packages sur le site de Rforge
svn+ssh://briand@scm.r-forge.r-project.org/svnroot/stacomir
svn+ssh://briand@scm.r-forge.r-project.org/svnroot/stacomir/branch/stacomir0.5
- Les fichiers d'installation sont sur le subversion iav dans svn://svn.eptb-vilaine.fr/STACOMI/branches/STACOMIR0.3/build
ci dessous à ne lancer que si nécessaire pour créer ou recreer le package
- Lancer package.build.R (crée dans le working directory) pour les deux package (seulement les parties package.skeleton) 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
- mettre à jour les fichier DESCRIPTION man/stacomiR-package.Rd pour les dates et numéros de version
documentation du package
- Lancer dans stacomiR_oxygenize.r
# Je n'arrive pas à faire marcher R CMD oxygenize sous statet # il faut avoir lancé la fonction package.skeleton avant... ou lancer dans un répertoire qui fonctionne # version 01/01/2013 # Author: cedric ############################################################################### # pour lancer Roxygen en mode commande il faut installer R cmd tools et # http://stackoverflow.com/questions/4389070/r-cmd-roxygen-not-recognized #' roxygen' n'est pas reconnu en tant que commande interne #' ou externe, un programme ex‚cutable ou un fichier de commandes. install.packages("roxygen2") library(roxygen2) # c'est la mise à jour de roxygen à utiliser setwd("E:/workspace/stacomir0.4/") source("pkg/stacomir/inst/config/stacomir") # je lance pour les tests ... utile ? setwd("E:/workspace/stacomir0.4/") #source("build/roxygen.ced.r") # je n'arrive pas à le faire marcher en pointant vers un autre package les modifs ont donc été faites en local... à vérifier... roxygenize(package.dir="pkg/stacomir") # ne sait toujours pas documenter les @slot
- les fonctions sont bien documentées à l'aide d'éclipse et Roxygen,
- tout ce qui concerne les classes S4 fonctionne mais ne semble pas optimal,
- => 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.
cmd-check
- methode 1 : en mode commande, visiblement seule cette méthode crée le fichier d'aide en pdf ! Attention les install.out sont écrit dans le répertoire d'éclipse pas dans le working directory
c: cd C:\Users\cedric.briand\Documents\workspace\stacomiR0.4\check
C:\"Program Files"\R\R-2.15.2\bin\i386\Rcmd check C:\Users\cedric.briand\Documents\workspace\stacomiR0.4\pkg\stacomirtools
- methode 2 : à l'aide de la méthode R CMD check de statet, voir help cheat sheet dans eclipse pour la configuration
(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.4/}
je n'arrive pas à faire un check sur autre chose qu'une version packagée : utiliser
C:\Users\cedric.briand\Documents\workspace\stacomiR0.4\pkg\stacomirtools_0.2.tar.gz
pour pointer vers l'archive
cmd-build
- en mode commande (ce mode est à préférer, je n'arrive pas à configurer le build de statet pour pointer vers le bon répertoire)
e: cd C:\Users\cedric.briand\Documents\projets\stacomi\stacomir C:\"Program Files"\R\R-2.15.2\bin\i386\Rcmd build stacomirtools C:\"Program Files"\R\R-3.6.1\bin\x64\Rcmd.exe build C:\workspace\stacomir\pkg\stacomir C:/Users/cedric.briand/Documents/projets/stacomi/stacomir
Les résultats de l'installation (fichier install00.out et 00cjheck.log) sont écrits dans le répertoire d'éclipse - en mode statet
-
C:\"Program Files"\R\R-2.14.1\bin\i386\Rcmd INSTALL --build stacomirtools_0.2.tar.gz : ...Le tar.gz est mis dans bin ou id dans eclipse [[BR]] C:\"Program Files"\R\R-2.14.1\bin\i386\Rcmd INSTALL --build stacomiR_0.4.tar.gz
ou R.exe -f stacomi.zip ou Rcmd install avec l'option --build dans eclipse (il faut choisir le nom du package)
C'EST Rcmd install avec l'option --build QUI MARCHE !!!
Rcmd install--build crée aussi le package zippé dans le répertoire de destination