bazel-contrib / bazel-contrib/rules_python

Make py_wheel warn if BUILD (or other special bazel files) are included

Abierto
#3,033 2 comentarios 1 reacción 0 asignados Ver en GitHub
type: feature request type: pip
Lenguaje dominante
Starlark
Estrellas
688
Forks
721
Merge medio
15 h 7 min
PR fusionados (30 d)
76

Descripción

We've seen there are wheels that have special bazel build-time artifacts in them, which then interfere with the pip integration. While we should remove these upon consuming a wheel to prevent the problem, the wheels also shouldn't have those files in them to begin with.

Something I wonder is _how_ those files are ending up in wheels? My guess is just naive `glob("**")` somewhere. We can't control other tools to create wheels, but at the least, we can change py_wheel to error or fail if such special files occur.

Hm, I wonder if we could query pypi to see how often the metadata `Generator` value indicates our py_wheel was used.

Special files:

* BUILD
* BUILD.bazel
* WORKSPACE
* WORKSPACE.bazel
* REPO.bazel
* MODULE.bazel
* Auto-generated `__init__.py` files

I include auto-generated init files because I've seen a few wheels (nvidia-something) that had empty `__init__.py` files in places they shouldn't be or made no sense. (they use namespace packages, so such empty init files break things).

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start by tracing the py_wheel entry point to determine how wheel contents are assembled and where existing validation could run. Clarify whether the expected behavior is a warning or failure, then cover the listed Bazel files and inappropriate auto-generated __init__.py files; done means the intended cases are detected without disrupting valid wheels.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
build-system
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.