* [msbuild] Don't use a timestamped directory for the IPA
After discussion with Mikayla Hutchinson and Madhuri Gummalla,
this naming convention is annoying to customers so just put
the *.ipa in the bin directory. This also has the added
benefit that the *.ipa will be cleaned up with /t:Clean
* [msbuild] Fixed wildcard expansion for deleting the *.ipa file
* [msbuild] Add the zipped *.ipa file to the FileWrites item group
* [msbuild] s/TaskProperty/TaskParameter/
The registrar code looks for `.ctor(IntPtr,bool)` so we end up with
unneeded extra code and metadata.
Xamarin.iOS.dll before 12656640
Xamarin.iOS.dll after 12643840
Saves 12.5kb (25kb for iOS 32/64) + native code. Final result will vary
(linker).
commit e0baa814b0cacfece4c615255c67c4300db4a8b1
Author: Zoltan Varga <vargaz@gmail.com>
Date: Thu Jan 5 19:44:42 2017 -0500
[aot] Avoid a crash in the aot compiler if a delegate doesn't have a BeginInvoke ()/EndInvoke () method. Fixes#51206.
https://bugzilla.xamarin.com/show_bug.cgi?id=51206
* [msbuild] Make sure to use the *actual* filename generated by ibtool
The problem is that since the Mac file system is case-insensitive,
File.Exists() will match "file~ipad.nib" even if the actual name
is "file~iPad.nib", so the only way to get the *actual* file name
is to scan the directory and do manual matching.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=44811
* Check that the dir exists before allocating other local variables
* [Foundation] Provide a public version of the get and set property
methods for the NSStream.
This fixes bug 50891 where the handler crashes because the methods are
protected. Also, we add the AbstractAttribute to those methods in the
base class for whenever we are allowed to change the API to ensue that
the inheritors do provide the required methods as per Apple
documentation.
* Make the methods protected rather than public so that users don't access them over the indexer yet the apple internal classes can use them.
* Ensure methods will be Protected in Xam4.
* [msbuild] Fixed the Inputs for the _CodesignAppBundle target
The Inputs need to include the Info.plist, embedded.mobileprovision,
and the native libs/frameworks since those files also get included
in the _CodeSignature/CodeResources.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=50791
* [msbuild] Added unit test to make sure _CodesignAppBundle logic works
MSBuild wants to copy from IntermediateOutputPath to OutputPath, even if the
assembly doesn't exist in IntermediateOutputPath (and it already exists in
OutputPath). So just set IntermediateOutputPath=OutputPath, which seems to
work fine.
Also make these project files build correctly without custom scripts (custom-
make.sh), since that makes it easier to transform these project files in
xharness (copy them to a different directory).
* Add a server mode, which launches a web server (and a web page) that can be
used to interactively run tests and view their results.
* Add support for running test assemblies in a today extension (generating a
new set of projects, similar to how we generate tvOS/watchOS projects based
on the iOS project, we now generate a today extension project in addition to
the tvOS and watchOS projects).
* Load all the different tests (and show them in the html report, although
they show up as 'ignored'), even for disabled/ignored tests. This makes
disabled/ignored tests more visible, and also makes it possible to actually
run them using the embedded web server.
* Add support for running tests on device. Tests will be executed on multiple
devices simulatenously (any connected devices will be used).
The length argument for `strncpy` specifies how many characters to copy, not
the length of the target string, which makes our usage incorrect.
Fix our usage, and use the `strlcpy` variant instead, which takes the length
of the target string.
And use `strlcat` instead of `strcat`.
Auto-install locally after building in the IDE, so that running mtouch tests
after running the mtouch project doesn't require switching to the command
line.
The `generic_icollection_class` condition (in class.c) does not match the mscorlib.xml descriptor file.
+ IEnumerator`1
+ IReadOnlyList`1
+ IReadOnlyCollection`1
reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=50290
So that there can be multiple caches in the same process (which we'll have
once mtouch can compile extensions and the container app in the same process).
* [jenkins] Make jenkins non-parellel to see if it fixes#46097.
* [jenkins] Limit serialization to watchos builds.
* [jenkins] Only allow Mac builds to be paralellized.
Fixes this test failure:
Xamarin.Registrar.MT4161 : Unexpected error/warning with --registrar:static:
error MT0000: Unexpected error - Please file a bug report at http://bugzilla.xamarin.com
It's the only framework that uses a different api definition (and makefile
name), so merge these to make upcoming code that automatically generates the
list of frameworks per platform (based on the makefiles) simpler.
* [mtouch] Remove most static state and put it on an instance.
Remove most static state, and put it on an instance (of Application) instead.
Soon we'll build multiple apps (app extensions) in the same process, and we
need to make sure we're not inadvertedly (and incorrectly) sharing state
between apps, so remove as much static state as possible to avoid any
problems.
* [mtouch] Rename GetIsUsingClang -> IsUsingClang.