[build] Allow overriding Cecil location #328
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is a philosophically confusing question due to the interaction
between the Java.Interop, xamarin-android, and mono repos:
Which repo "owns" Cecil?
The Java.Interop repo has a Cecil submodule.
The mono repo has a Cecil submodule. (Two, if you count the indirect
one from the Linker submodule, but that shouldn't be used.)
The xamarin-android repo references both Java.Interop & mono.
If we have a fix in Cecil, what all needs bumping?
A present, the answer is everything, because the mono reference is
included into a variety of mono-built utilities (as source, not an
assembly), while the Java.Interop reference built into
Xamarin.Android.Cecil.dlland used by the Xamarin.Android buildprocess.
This is somewhat confusing, and means that more work needs to be done
to apply fixes everywhere.
Try to simplify things by adding a new
$(CecilSourceDirectory)MSBuild property to
Configuration.props. The intent is to allow axamarin-android checkout to override
$(CecilSourceDirectory)sothat the Java.Interop build will the mono reference, thus permitting
a degree of consistency and understanding not previously available.
Thus, which repo "owns" Cecil? The mono repo will; the Java.Interop
reference will be ignored when building from xamarin-android.