tree 7969e8d2187169e3b1c0de1722dc1bb5561213bf
parent 04f5798f7ad0827b33b8bd96d225820d4a91b0b2
author Richard Levasseur <rlevasseur@google.com> 1720672105 -0700
committer GitHub <noreply@github.com> 1720672105 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmj195CRC1aQ7uu5UhlAAA2W0QAKts5Ylkj/608dFynLLGKtK5
 1y1t4Oql+DLzbuK00DmSGQ4ERV9L7T28zXcuETyKLyS6GZt7NlxDw6laYoEew5DX
 I36rYwTduwVXgNPYKcfZilVL08tCDkqFUYEuwq5Ya1fo5Nz+ig/JTk824sD6bYhD
 7pc4uO6vel09boJy1rbG6VWp8k3B1L543bqIeCemdu692NnoZK9Bk4y8iZYZxaGk
 Clrqv9xvKIBXYyWiZq9BQHGWMlnLqeK5+0On4V8NeeMALdk54eW7Yhs5F7qps3B4
 dKmKc4ueELx2/bnTKpOprfb2vuXatGs0WXPeciY8ExghV5tn/7r4gWOHUm9oFYDM
 vQjR3C3eQndV6mkHfwvXW8wT+Biz8Rdwi6mnY5digBwaob3IXdVzRVHN19ydasmf
 ljkZzgAFGtOfkqd8DXfC2Nq3HcLbazySssY7yPvkZt3hWwwqjOp2X0YzsNoB2N0N
 rfznkfQc8PoePTzvtPkzwVpNQoVEh0A7EizIodRoh+FWxkLJj44Zl3VBaCvj6vl0
 E4fED/mK0FHO9Arj90ewKlIm1wmliZdWs7qoPqPxeAGvPuBKhm3Y3NiTH0CNP/vD
 UKxcoYNIbmvL0i7bBkxEXPvRoFxHnOrWmKoqUHR8FXUX6VBHEhYbrvh4VK8BQpyW
 fFmRUKuuu6HyvU8dAMqP
 =wTLr
 -----END PGP SIGNATURE-----
 

refactor: don't load repo-phase objects from build-phase (#2056)

As a general practice, the repo-phase and build-phase shouldn't load
code from one
another because they can't use each other's objects. It can also result
in confusing
behavior because the "starlark environment" is slightly different
between the two phases.

Additionally, Google's version of Bazel essentially disables repo-phase
objects, so
loading e.g. http_archive results in errors. This makes it more
difficult to import
rules_python into Google, as we have to maintain patches to cut out the
code (and thus
we spend more time trying to import the code than working on it).