Updating Team Explorer Everywhere in Homebrew

Being a mac user, I’m a big fan of Homebrew. It makes it really easy to get most any command line tool installed, however it relies on updates from the user community as new versions are released.

Recently TFVC support for VS Code was announced. Interfacing with TFVC a lot, I wanted test this functionality. However, it required the most recent version of Team Explorer Everywhere (TEE), which homebrew didn’t currently have and I didn’t want to download and reference from some random directory. So I set off to figure out how to update it.

Needless to say, I learned a lot about how the update process of Homebrew works, as well as TEE. There’s some good info in the PR, that eventually got accepted, about the history of TEE and how it’s compiled.

So then I tried to figure out how to auto update when a new release of TEE happened. The github api link gave me what I needed for release, so then my next step was how to actually do the automation. Because I’m familiar with TFS, I chose to use VSTS and a build.

And I figured, while I’m at it, why not use powershell on my mac developed in VS Code. In the end, I didn’t automate the entire update process, but I was able to determine if the versions didn’t match and fail the build. I would then get an email and know I could go do an update.

The script was straightforward. Get the version from TEE, get the version from Homebrew, compare and fail the build if they didn’t match.

Alas, it seems someone on the homebrew project did this last update. So it might not be needed, but it was a fun exercise either way.

That said, my first experience with contributing to a “major” open source project was very good one. People all around were very helpful and polite. I knew I was in over my head, but was trying my hardest to useful and it was an overall good experience.

Tagged with: