So looking through the source code for install pan...
# general
b
So looking through the source code for install pants I see this comment in the scie_pants/pants_version.py:
Copy code
# After this version, Pants is released as a per-platform PEX using GitHub Release assets.
# See <https://github.com/pantsbuild/pants/pull/19450>
PANTS_PEX_GITHUB_RELEASE_VERSION = Version("2.18.0.dev5")
Further inspection of the code shows this in the install_pants.py:
Copy code
def install_pants_from_pex(
    venv_dir: Path,
    prompt: str,
    version: Version,
    ptex: Ptex,
    extra_requirements: Iterable[str],
    find_links: str | None,
) -> None:
    """Installs Pants into the venv using the platform-specific pre-built PEX."""
    uname = os.uname()
    major, minor = sys.version_info[:2]
    pex_name = f"pants.cp{major}{minor}-{uname.sysname.lower()}_{uname.machine.lower()}.pex"
    with tempfile.NamedTemporaryFile(suffix=".pex") as pants_pex:
        pex_url = (
            f"<https://github.com/pantsbuild/pants/releases/download/release_{version}/{pex_name}>"
        )
Where this is called if the release has hit the 2.18... version. Since this is not templitized nor overridable, this will cause issues related to systems where the binary must be hosted by internal servers. Is this something that can be resolved prior the drop dead release?
b
Yes, it's something we will fix before 3.18 releases
b
2.18 or 3.18? Just being pedantic.
b
I think you surfaced this in the other thread 😂
Yup, sorry fat fingers on mobile. 2.18
It's top on my pants bugfix list for next week sometime
b
pants is the superior solution, but our security posture related to tools, proxying, and internal hosting is very strict. As long as there are hooks to allow for this kind of customization, I can recommend this as the build tool of choice for our modernization efforts related to build.
🙂 Thanks why I'm nagging so much
Keep up the good work 👍
b
Yeah. Proxies and mirrors aren't something I normally think of, but we absolutely need to support