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. |
| 35 | install.packages("roxygen2") |
| 36 | library(roxygen2) # c'est la mise à jour de roxygen à utiliser |
| 37 | |
| 38 | setwd("E:/workspace/stacomir0.4/") |
| 39 | source("pkg/stacomir/inst/config/stacomir") # je lance pour les tests ... utile ? |
| 40 | setwd("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... |
| 43 | roxygenize(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 | |
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 |
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]] |