SocialHarvest / harvester

The Social Harvest server that exposes an API and harvests data from the web to be analyzed.
Other
112 stars 43 forks source link

Vendor packages #28

Closed tmaiaroto closed 9 years ago

tmaiaroto commented 10 years ago

During initial development the packages are not being locked down. They will change and things may break. I think this may be rare given the packages used, but it's possible.

Rather than copying packages over into Social Harvest itself, I'm planning on forking those used to essentially vendor them. I feel that this way, it's easier to receive updates and even adjust some packages where needed (for example the cron package was forked and I cherry picked some pull requests that were sitting around from the original project).

I believe this approach may also help fix a few issues (such as the log4go package and it's data race) more gracefully.

I'm not thrilled that this means more maintenance (paying attention and watching for updates and pulling them in), but dem da brakes.

Packages will be locked down when the harvester enters beta.

tmaiaroto commented 9 years ago

The Google API package has not been vendored because I feel that one will undergo important updates and be fairly well maintained given it's Google. It may be vendored in the future. Additionally, Bugsnag has not been vendored since there may be critical updates there as well. Everything else has been vendored under a new organization for organization sake =) https://github.com/SocialHarvestVendors

tmaiaroto commented 9 years ago

Vendored the Google API package as well since it's Mercurial repo said it wouldn't change. This conveniently also removes the requirement for Mercurial. Now everything is under Git (and GitHub).