tree 763be53d9d9625530caf276d7aabcfa9ff422edd
parent dd5db656e3beeed739220dfc0d62e5e5bc88ff36
author Richard Levasseur <rlevasseur@google.com> 1729096864 -0700
committer GitHub <noreply@github.com> 1729096864 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJnD+ywCRC1aQ7uu5UhlAAALScQAC43BEloyFWhw2j0ypMbv0AN
 hO6NSik+TvW/ymYGegDzrjF0Vngl/o1PaVZTSNM1GKUnCjzESt2M1yMHf0oxhKrl
 aDvplzyPnLC2BIo5S+f+KQPd+88UpsFlRDj6mHLQ5VOVRodknijj6RCRrav15uqC
 /ZRsABdORYE3zb77owOoOmriR9jjgecL8Y8hN1r1HpEZ+q0NaJM7sik1kMbtYODm
 x1PwkI+cAoQz5ah+7Uw/Yk+XaFUew+3pkydIdXQrRGpF91O6hpn77pQOqqva4fbV
 Hdc3AmZF/o4r2769ZiR+ufHKNUzVXCbhS9ew4vVnRU437qgtjbEqqPGH1qwkO7tZ
 UuGl2XglL+UAjdbj9vGsVV7JSNN22VuzIzhorRxbES/ZdVjPDbE4eXb8nuy2HE5y
 vCQg+AcCcD2B3uhqTyAXLbVq59CtKUFhPxoJb7ubSF1sLikB7g3VQQcYwzq8WNrt
 i5dh58oGFg9dadS1f84i9D/fXoDjqx3WMAwpmlQTyFGlMHiiefc3trckdXMXkVO9
 xoNIW/kAAQcA8qUfT7o3fR+bxGZJi7y11sGbz0L0tnFKo5xDcaB/AGR6zss7F8HF
 aXTpHM0tJkXRyDMbRQQawVzANVoJ6qw0cChAdzm93EFeK4qaBb4xVP8oFZ3xezvR
 duplwaxSp4Oi84gyWGbX
 =mi9g
 -----END PGP SIGNATURE-----
 

fix(precompiling): only add pyc to default outputs if precompiling explicitly enabled for target (#2307)

This fixes a bug where precompiled files were *always* being added to
the default outputs
of a target. The intent is they are only added to a target's default
outputs if the
target explicitly opted into precompiling. This went unnoticed because
the exec tools
toolchain is still disabled by default, so the test that verifies a
basic py_binary's
default outputs didn't generate implicit pyc files. It was introduced
when fixing the
pyc collection bug.

To fix, only add the pyc files deemed "required", not all the pyc files
generated.

Also added a test to capture this case to the precompile tests.