Dynamically determine the version of the pip package. (#3475)
Summary:
Pull Request resolved: https://github.com/pytorch/executorch/pull/3475
Use the logic from
https://github.com/pytorch/torcharrow/blob/15a7f7124d4c73c8c541547aef072264baab63b7/setup.py#L21
to play nicely with the pytorch ecosystem CI build environment.
Test Plan:
```
$ ./install_requirements.sh
...
Successfully installed executorch-0.2.0a0+1ba292a
$ python
>>> from executorch import version
>>> version.__version__
'0.2.0a0+1ba292a'
>>> version.git_version
'1ba292ae4071c4eede8ea14e8f10ffd973a085b4'
>>> ^D
$ grep Version /home/dbort/.conda/envs/executorch-tmp/lib/python3.10/site-packages/executorch-0.2.0a0+1ba292a.dist-info/METADATA
Metadata-Version: 2.1
Version: 0.2.0a0+1ba292a
```
Temporarily commented out the call to `setup()` in `setup.py` then
imported it.
```
$ python
>>> from setup import Version
>>> Version.string
'0.2.0a0+1ba292a'
>>> Version.git_hash
'1ba292ae4071c4eede8ea14e8f10ffd973a085b4'
>>> Version.write_to_python_file("/tmp/version.py")
>>> ^D
$ cat /tmp/version.py
from typing import Optional
__all__ = ["__version__", "git_version"]
__version__ = "0.2.0a0+1ba292a"
git_version: Optional[str] = '1ba292ae4071c4eede8ea14e8f10ffd973a085b4'
```
```
$ BUILD_VERSION="5.5.5" python
>>> from setup import Version
>>> Version.string
'5.5.5'
```
imported-using-ghimport
Reviewed By: mikekgfb
Differential Revision: D56857484
Pulled By: dbort
fbshipit-source-id: c9af223c591fed6fb5307fa5ea8c2371dd38f4d8 D
Dave Bort committed
b5dd169050057bb655a2eff2569fafc0a3edce61
Parent: f8a4d8c
Committed by Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
on 5/2/2024, 12:37:07 AM