* [apidiff] Add rule to get mono-api-info.exe and mono-api-html.exe.
This fixes an issue when bumping mono: when bumping mono, the already
downloaded mono archive isn't applicable (because we've changed to the
previous commit, which has the previous mono hash, whose archive hasn't been
downloaded).
So add a rule to get mono-api-info.exe and mono-api-html.exe, by downloading
the current mono archive.
* [apidiff] Change the name of the unzip stamp and download dir to contain the hash.
This way the logic doesn't get confused when the hash changes (or there's an
old unzip stamp in the directory), and things are downloaded again as
expected.
* [apidiff] Make make not delete temporary files.
Things end up confused if temporary files have been removed by make, but our
stamp file that the temporary files are still there is present.
* [apidiff] No need to make everything depend on the bundled zip.
If everything that needs the bundled zip already depends on it.
* [apidiff] Restore original hash before calculating api diff.
This makes it less annoying when the api diff calculation changes, because
with the previous behavior they were impossible to test in a PR, since any
changes wouldn't take effect until after the PR was merged.
Fixes this problem:
The following files were modified, and they shouldn't have been:
/Users/builder/jenkins/workspace/xamarin-macios-pr-builder/src
which shouldn't be reported, since the "file" in question is a directory.
Reference: https://github.com/xamarin/xamarin-macios/pull/5355#issuecomment-452400517
This means we'll get an empty diff if there are no generator changes, so
update the logic that detects/reports empty generator diffs.
Also there's no need to ignore mdbs anymore, since we don't create mdbs.
* [build] Remove MT.D source build and replace it with a binary
This commit removes MonoTouch.Dialog from our source build and
replaces it with a binary from c913506df2/MonoTouch.Dialog-Unified
The MT.D hash used in this commit is fixed to migueldeicaza/MonoTouch.Dialog@92c6e14
* Update .gitignore.
* MonoTouch.Dialog-1.dll doesn't need depend on the platform assembly anymore, because we're copying a binary instead of building.
* Add significant debug spew.
* More debugging.
* Remove debug spew.
* [compare-commits] Create directory before trying to create files in it.
* [tools] Fix commit comparison to not change generated .csproj files.
Fix commit comparison to not change generated .csproj files by adding support
for modifying the directory where the .csproj are generated, and when doing
commit comparison, do exactly that.
* Put back target removed unintentionally.
We have consistency checks to verify that no unexpected files are modified
done when comparing APIs in for a pull request.
Unfortunately the check didn't take into account that checking out the
revision to do the API check against might modify some of the files in the
consistency check itself, thus triggering the consistency check.
Fix this by only verify timestamps of files modified after checkout out the
revision, which is the only thing we care about anyway.
For examples see PR #3855 or PR #3850.