Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Rake fails to re-run file task if file content changes but has timestamp older than target

Ouverte
#214 15 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
ruby
Domaine
build-system

Piste de recherche

Aucun fichier ni test n'est nommé. Commencez par examiner la logique de fraîcheur des prérequis des tâches file-task de Rake et la façon dont elle utilise les horodatages ; déterminez le comportement fondé sur le contenu attendu et la manière dont il doit interagir avec les entrées XML mises en cache et les fichiers source générés. Le travail est considéré comme terminé lorsque le comportement est spécifié et couvert par des tests appropriés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

I am not sure if this has been debated before.

Most of the modern build tools these days (Bazel, Buck etc.) rely on file content changing rather than timestamps. That makes them suitable for use in caching schemes to make builds incremental and reduce build times.

Rake on the other hand, relies solely on timestamps and does not fit in well with caching schemes.

For example, say an XML file is a prerequisite/input to generate source files. If the XML file changes but still has an older timestamp than the source files (entirely possible in caching schemes), the source files are not re-generated. This causes builds to fail / or (dangerously) incorrectly pass.

Is there any plan to make Rake on par with the more modern build tools of today?

Langage dominant
Ruby
Étoiles
2.5k
Forks
649
Merge moyen
5 min
PR mergées (30 j)
4

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ruby/rake

Toutes les issues de ruby/rake

Issues similaires

Plus d'issues Ruby

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.