rake -P output is ambiguous with prereq namespaces
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- ruby
- Área
- build-system, cli
Línea de trabajo
Comienza en el punto de entrada de la salida de rake -P/--prereqs y reproduce el Rakefile mostrado en el issue. Rastrea cómo se resuelven los prerrequisitos con namespace para tool:run y tool:run2, y verifica después que el prerrequisito mostrado para ambos esté completamente cualificado y no sea ambiguo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When tasks are in a namespace, their pre-reqs "inherit" the namespace prefix.
Given the following rakefile:
task :setup do
puts "global setup, oops"
end
namespace :tool do
task :setup do
puts "setting up"
end
task run: :setup do
puts "running"
end
task run2: 'tool:setup' do
puts "running a second way"
end
end
The both tasks run and run2 have the same pre-req (setup). However, task run omits the namespace, while run2 is explicit with its pre-req's namespace. Both forms work as expected:
$ rake tool:run
setting up
running
$ rake tool:run2
setting up
running a second way
However, when the pre-req tree is printed, rake is not clear about what the pre-reqs' full names are.
$ rake -P
rake setup
rake tool:run
setup # <--- This is ambiguous!
rake tool:run2
tool:setup
rake tool:setup
The expectation is that rake -P prints the "fully resolved" pre-reqs and is thus clear about what task will actually be run. In the example above, it is not clear what tool:run's pre-req is. Is it the "global" setup, task as it appears in the -P output? Or is it in fact tool:setup because it is namespaced?
To be clear, rake's invocation behavior matches my expectations: tool:run invokes tool:setup, not setup. But this behavior is not evident in rake's --prereqs output.
- Lenguaje dominante
- Ruby
- Estrellas
- 2.5k
- Forks
- 650
- Merge medio
- 6 min
- PR fusionados (30 d)
- 3
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ruby/rake
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
-
Task Options in Command-Line Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Issues similares
-
SyncEm always forwards a dummy block, so wrapped methods lose their no-block/Enumerator behavior Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
endoflife-date/endoflife.date#11086 ·
-
internal
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Kong/developer.konghq.com#7322 ·
-
bug P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100