{attachment} v0.4.0 : Des changements majeurs et un fichier de configuration pour une meilleure expérience

La nouvelle version de {attachment} stocke vos paramètres dans un fichier de configuration pour une utilisation plus facile pendant le développement de votre package : lancez att_amend_desc()de n’importe où, il réutilisera votre dernier jeu de paramètres. Ceci s’accompagne de quelques changements pour une meilleure expérience.

Le but de {attachment} est d’aider à gérer les dépendances des paquets pendant leur développement. Il fournit également des outils utiles pour installer ou lister les paquets manquants utilisés dans les scripts R, Rmds ou qmd. Il lit votre NAMESPACE, vos fonctions dans le répertoire R et vos vignettes, puis met à jour le fichier DESCRIPTION en conséquence. Êtes-vous prêt à devenir paresseux.ses ? Laissez {attachment} vous aider !

Installation

{attachment} est disponible sur CRAN et développé sur GitHub. Vous pouvez accéder à la documentation complète sur cette page : https://thinkr-open.github.io/attachment. Il apparaît également sur la page ThinkR r-universe si vous souhaitez installer la version de développement sans les contraintes de l’API GitHub.

Installer la version CRAN

install.packages("attachment")

Installer la version de développement

install.packages('attachment', repos = c('https://thinkr-open.r-universe.dev', 'https://cloud.r-project.org'))

Déclarer toutes les dépendances dans DESCRIPTION au cours du développement du package

Ce que vous voulez vraiment, c’est remplir et mettre à jour votre fichier de description au fur et à mesure des modifications de votre documentation. En effet, seule la fonction suivante sera réellement appelée. A user et abuser pendant le développement de votre paquet !

attachment::att_amend_desc()

{attachment} détecte tous les appels à library(pkg), @importFrom pkg fun, pkg::fun() dans les différents répertoires classiques de votre package R, puis les liste dans la bonne catégorie « Imports » ou « Suggests » dans le fichier DESCRIPTION, en fonction de leur position dans le package.

Déclarer des dépendances supplémentaires pour des utilisations supplémentaires

Si vous voulez ajouter des paquets supplémentaires comme {pkgdown} ou {covr} qui ne sont listés dans aucun script de votre paquet, un appel pour vos paquets de développement serait :

attachment::att_amend_desc(extra.suggests = c("pkgdown", "covr"), update.config = TRUE)

Notez le paramètre update.config = TRUE qui enregistrera les paramètres utilisés dans l’appel de att_amend_desc() dans le fichier de configuration du package : « dev/config_attachment.yaml ».

Si vous lancez att_amend_desc() une deuxième fois par la suite, directement depuis la console, il utilisera le dernier set de paramètres extrait du fichier de configuration.

En effet, nous recommandons de stocker la ligne de commande complète dans un fichier « dev/dev_history.R » afin de la mettre à jour et de l’exécuter en cas de besoin. Si les paramètres ne changent pas, vous pouvez exécuter attachment::att_amend_desc() directement dans la console, où que vous soyez, il utilisera le fichier de configuration.

Remplir automatiquement le champ « Remotes »

Si vous souhaitez détecter les sources de vos installations afin d’ajouter des dépendances dans le champ « Remotes » de votre fichier DESCRIPTION, pour imiter votre installation locale, vous utiliserez :

attachment::set_remotes_to_desc()

Combinaison de {attachment} avec {fusen}

hex log of fusen packageLe fichier de configuration de {attachment} a été développé à l’origine pour une meilleure intégration avec {fusen}. En effet, lorsque vous inflate()votre fichier notebook en un package R entièrement documenté, {fusen} exécute automatiquement attachment::att_amend_desc() pour mettre à jour votre documentation et la liste des dépendances de votre package. Cependant, jusqu’à présent, il n’était pas possible d’utiliser des paramètres supplémentaires dans la fonctioninflate() à utiliser par {attachment}, et vous deviez arrêter la détection automatique avec document = FALSE, puis exécuter votre code {attachment} spécifique à partir d’un autre endroit.

Comme nous sommes tous paresseux, nous ne voulons pas changer de fichier à chaque fois que nous devons introduire une nouvelle modification dans notre paquetage. Avec le fichier de configuration de {attachement}, vous pouvez laisser votrefusen::inflate() tel quel, et il utilisera la dernière version de attachment::att_amend_desc() en fonction de ce qui est dans le fichier de configuration. Si vous souhaitez modifier les paramètres par défaut, en ajoutant des dépendances supplémentaires par exemple, vous n’aurez à modifier le fichier de configuration qu’une seule fois. Pour ce faire, vous voudrez sûrement mettre à jour votre fichier « dev/0-dev_history.Rmd » avec ce code à exécuter une seule fois :

 

attachment::att_amend_desc(extra.suggests = c("pkgdown", "covr"), update.config = TRUE)

Contenu du NEWS

Changements de ruptures

  • Lors de l’utilisation de att_amend_desc() sans les paramètres par défaut, comme pkg_ignore = "x" nécessitera maintenant att_amend_desc(pkg_ignore = "x", update.config = TRUE), sinon, il échouera. Cela permet d’utiliser les paramètres stockés dans le fichier de configuration lors de l’exécution de att_amend_desc() directement dans la console.
    Recommandation : Exécutez att_amend_desc(pkg_ignore = "x", update.config = TRUE)si vous devez mettre à jour votre configuration, exécutez att_amend_desc() quotidiennement car vous voudrez utiliser ce qui est stocké dans le fichier de configuration.
  • create_dependencies_file() obtient le paramètreinstall_only_if_missing = FALSE par défaut pour compléter les instructions d’installation des packages uniquement s’ils sont manquants. (@MurielleDelmotte)

Nouvelles fonctionnalités

  • att_amend_desc() peut s’exécuter avec le dernier jeu de paramètres stocké dans un fichier de configuration, sans avoir à les appeler tous à chaque fois. Voir les vignettes et la documentation des paramètres update.config = FALSE, use.config = FALSE et path.c = "dev/config_attachment.yaml". (@dagousket)
  • create_dependencies_file() prend maintenant en compte les autres sources (git, gitlab, github, bioc, local). (@MurielleDelmotte)
  • Utiliser create_dependencies_file(to = NULL) pour obtenir la sortie sous forme de chaîne de caractères et ne pas créer de fichier.

Correction de bugs

  • att_amend_desc() ne modifie plus le niveau des options de l’utilisateur options("warn") (#94)
  • att_amend_desc() permet au champ « Remotes » de contenir @ref (#67)

Comments


Also read