Граф коммитов

189 Коммитов

Автор SHA1 Сообщение Дата
Marek Safar 16ba9f1452 [build] Update debug symbols to pdb 2017-03-14 11:47:06 +01:00
Rolf Bjarne Kvinge ff9bae7bbc [mtouch] Don't put frameworks in WatchKit 1 extensions. Fixes #53232. (#1864)
The frameworks go into the container app's Frameworks directory.

https://bugzilla.xamarin.com/show_bug.cgi?id=53232
2017-03-13 17:34:27 -05:00
Rolf Bjarne Kvinge 1e498bce22 Merge remote-tracking branch 'origin/master' into framework-sdk 2017-03-07 07:38:30 +01:00
Jeffrey Stedfast f205a8cfe6 [msbuild] Run the _ComputeTargetArchitectures target before cleaning (#1828)
Some of the Clean steps need the _ComputeTargetArchitectures
target to run before they can properly do their thing because
they depend on DeviceSpecific paths.

Also added logic to rm -rf extension *.dSYM and framework *.dSYM
dirs in the container app bin dir (which fails on xbuild due to
a bug in xbuild... yay!)

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=53007
2017-03-07 07:15:14 +01:00
Jeffrey Stedfast dd834eeeb0 [msbuild] Make sure to codesign appex dylibs (#1812)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=52745

Added a new CodesignNativeLibraries task that scans for
and then codesigns each *.dylib and *.metallib in the
app bundle (minus those in the PlugIns and Watch dirs).
2017-03-02 13:25:06 -05:00
Rolf Bjarne Kvinge 68fe70f317 [tests][msbuild] Enable bitcode for tvOS/Release builds. 2017-02-13 15:42:14 +01:00
Rolf Bjarne Kvinge fcb0d18cc7 [msbuild tests] Make the MyTVServicesExtension project actually work. 2017-02-10 16:39:38 +01:00
Rolf Bjarne Kvinge 23a1bd0a13 [msbuild tests] Make it possible for MyTVApp and MyTVServicesExtension to share code. 2017-02-10 16:39:37 +01:00
Rolf Bjarne Kvinge d725d5fb63 [msbuild] Add the MyTVServicesExtension project to the solution where it's needed. 2017-02-10 16:39:37 +01:00
Rolf Bjarne Kvinge c3c6f5cbeb [msbuild tests] Add more potential directories where assemblies might be. 2017-02-10 16:39:37 +01:00
Rolf Bjarne Kvinge f82a995b21 [msbuild tests] Assemblies do not always end up in the .monotouch-[32|64] directory anymore, so update tests accordingly.
Assemblies will not end up in the .monotouch-[32|64] subdirectory anymore
(unless they must because they're different), which means that it's not easy
to detect if an assembly really ends up in the subdirectory or not.

So modify tests to accept assemblies in either the root bundle directory, or
in the .monotouch-[32|64] subdirectory.
2017-02-10 14:46:31 +01:00
Jeffrey Stedfast bc251403c2 [msbuild] Properly decide on when to re-codesign app bundle (#1625)
If the user makes changes to an App Extension or Watch app,
then those bundles would change within the main app bundle
but the main app bundle would not get re-codesigned because
it was not properly considering those files as inputs in the
_CodesignAppBundle target.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=52165
2017-02-06 13:52:30 -05:00
Jeffrey Stedfast 4c5647150c [msbuild] Added support for <Link>'d ImageAsset project files (#1543)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=28106
2017-01-25 13:00:29 -05:00
Vincent Dondain 0b37471271 [msbuild] Only use File.GetLastWriteTimeUtc (#1547)
Instead of just using File.GetLastWriteTime.
Fixes bug #51694: Use File.GetLastWriteTimeUtc not File.GetLastWriteTime
https://bugzilla.xamarin.com/show_bug.cgi?id=51694
2017-01-23 15:31:44 -05:00
Jeffrey Stedfast e26ee5ca6c [msbuild] Refactor the IBTool task to be cleaner and more efficient (#1457)
[msbuild] Refactor the IBTool task to be cleaner and more efficient

Besides making the IBTool task cleaner and easier to understand,
a side-effect of this refactor was also to optimize the collecting
of the compiled outputs because we now only need to scan the
obj/ibtool directory once to collect each of the outputs.
2017-01-12 14:49:30 -05:00
Jeffrey Stedfast 9c8a5fa28c [msbuild] Don't use a timestamped directory for the IPA (#1382)
* [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/
2017-01-09 16:11:50 -05:00
Jeffrey Stedfast 3103153349 [msbuild] Fixed the Inputs for the _CodesignAppBundle target (#1438)
* [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
2017-01-05 11:29:48 -05:00
Jeffrey Stedfast b37e3d42b0 [msbuild] Clean the $(AppBundleDir).mSYM directory (#1377) 2016-12-19 20:26:07 -05:00
Jeffrey Stedfast b192a9c078 [msbuild] Prevent rebuilds from re-codesigning if the app bundle is unchanged (#1373)
Patch #2 for https://bugzilla.xamarin.com/show_bug.cgi?id=49097
2016-12-17 22:51:25 -05:00
Jeffrey Stedfast 37d71511a3 [msbuild] Don't rewrite embedded.mobileprovision or archived-expanded… (#1359)
* [msbuild] Don't rewrite embedded.mobileprovision or archived-expanded-entitlements.xcent

This patch prevents those 2 files from being rewritten in
cases where the contents would not change from what was
already there previously.

This is a partial fix for https://bugzilla.xamarin.com/show_bug.cgi?id=49097

* [msbuild] Re-enabled the RebuildExecutable_NoModifications unit test

With the fixes to EmbedProvisioningProfile and CompileEntitlements,
this unit test now passes.
2016-12-15 15:59:55 -05:00
Jeffrey Stedfast 1e41bc3750 [msbuild] Added a PropertyListEditor task which works like PlistBuddy (#1306)
* [msbuild] Added a PropertyListEditor task which works like PlistBuddy

This is a convenience Task for customers and isn't currently used
by the core MSBuild targets.

* [msbuild] The PropertyListEditor task does not need a SessionId property

* [msbuild] Added support for non-container root plist elements

* [msbuild] Catch & log exceptions loading plist document
2016-12-06 13:29:31 -05:00
Jeffrey Stedfast 5682c4d8e9 [msbuild] Touch the .dSYM Info.plist after stripping the native exe (#1233)
The idea here is to prevent future builds from calling dsymutil
if the native executable hasn't changed since the previous build.

The reason we need to touch the dSYM Info.plist after stripping
is because the SymbolStrip task *may* modify the native executable
thereby giving it a newer mtime timestamp than the dSYM Info.plist
which would cause later builds to re-run the dsymutil task on an
already-stripped native executable.

It should be noted, however, that the _CodesignAppBundle target
already updates the mtime timestamp of the dSYM Info.plist for
precisely the same reason and since it is run *after* the
_GenerateDebugSymbols target, the 'touch' should generally not
be needed in the _GenerateDebugSymbols target.
2016-11-29 08:16:48 -05:00
Vincent Dondain 011bb14212 [msbuild/tests] Add watch-companion test (#1187) 2016-11-16 16:51:33 -05:00
Vincent Dondain c76fd77ac0 [msbuild] Don't replace * by bundle id in entitlements (#1147)
- Fixes bug #46298: Xamarin seems to replace asterisk with bundle id in Entitlements.plist file
  https://bugzilla.xamarin.com/show_bug.cgi?id=46298

The CompileEntitlementsTaskBase logic is still good wrt TeamIdentifierPrefix, AppIdentifierPrefix and CFBundleIdentifier
replacements but asterisks that represent wildcards shouldn't be replaced. Note that Apple doesn't do it in Xcode either.

* [msbuild/test] Add CompileEntitlementsTaskTests

Makes sure that for a given Entitlement.xcent and provisioning profile in input and output the right thing.

These tests also cover the changes made in e32efb0310
in response to bug #46298 (https://bugzilla.xamarin.com/show_bug.cgi?id=46298).
2016-11-11 20:18:14 -05:00
Rolf Bjarne Kvinge 3351e2a633 Add a 'repositorypath' to our NuGet.Config and update paths everywhere accordingly. (#1110)
This makes us only put packages in one directory (saves disk space and time),
and it also makes project files in multiple solutions work properly
(mtouch.csproj is in tests/tests.sln and tests/mtouch/mtouch.sln).
2016-11-04 09:13:33 +01:00
Rolf Bjarne Kvinge c4b5fa5f44 [msbuild] Remove support for XI/Classic. (#976)
* [msbuild] Remove unused FrameworkList.xmls

* [msbuild] Make files in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/msbuild/iOS the real deal, not a symlink.

* [msbuild] Make /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS a symlink, instead of each file inside.

* [msbuild] Don't put anything in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/2.1 anymore.

* [msbuild] Remove support for XI/Classic binding projects.

* Improve 'install-system' to clean up old files.

* [msbuild] Simplify XI/Classic targets files a bit.

* [msbuild] Remove dead XI/Classic code.

* Bump maccore to get fix for xamarin-analysis.

commit xamarin/maccore@34c04c2bf1
Author: Rolf Bjarne Kvinge <rolf@xamarin.com>
Date:   Mon Oct 10 16:46:18 2016 +0200

    [analysis] Update to put files in /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS.

    XI/Classic is being removed now, which means files should go into
    /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/msbuild/iOS/ instead of into
    /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/2.1.
2016-10-13 10:47:46 +02:00
Jeffrey Stedfast 2a02804d81 [msbuild] Fixed IsWatchExtension state property (#913)
The problem was that this property was evaluating to True
for the main app bundle because it assumed that if the
project contained a Watch app, that it was the WatchExtension.

This logic only holds true for WatchOS1, but not WatchOS2.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=44841
2016-10-03 13:44:31 -04:00
Rolf Bjarne Kvinge 9000e48034 [tests] Remove Classic test projects, and make the Unified test projects the master projects. (#858) 2016-09-21 22:55:10 +02:00
Vincent Dondain 562b9564f1 [msbuild] Show proper build error when monotouch.dll doesn't exist (#750)
Due to the deprecation of classic we needed to provide a better and single error message
rather than the countless msbuild errors you'd have because you'd be missing monotouch.dll

* Migrate MySingleView & MyLibrary to Unified
2016-09-06 14:50:54 -04:00
Jeffrey Stedfast 73a1d74cab Cycle8 codesign simulator (#674)
* [msbuild] Always codesign iOS frameworks (#642)

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=43264

* [msbuild] Always codesign *.dylibs, even for Simulator builds (#672)

Another fix for https://bugzilla.xamarin.com/show_bug.cgi?id=43264
2016-08-25 18:22:20 -04:00
Rolf Bjarne Kvinge 93e100688d [msbuild] Don't Assert.Ignore in ctors, it ends up as failures. 2016-06-29 00:06:43 +02:00
Rolf Bjarne Kvinge a66fdf2738 [tests] Skip MSBuild device tests when device builds are disabled. 2016-06-29 00:06:39 +02:00
Jeffrey Stedfast ff381fe6f5 [msbuild] Support ibtool output when it adds ~ipad or ~iphone modifiers (#200)
* [msbuild] Support ibtool output when it adds ~ipad or ~iphone modifiers

When targetting older iOS versions (such as iOS 7) for multiple
device targets (e.g. iphone, ipad, etc), ibtool will output
multiple directories using the basename of the original ib file
and add ~ipad or ~iphone blurbs to the filename.

This was causing the linking step to fail due to paths not being
found at the expected locations.

* [msbuild] Added unit tests for ibtool --link w/ --minimum-deployment-target 7.0

Since pre-iOS 8.0 does not support size classes in storyboards,
ibtool will output LaunchScreen~ipad.nib and LaunchScreen~iphone.nib.

This test will fail if the IBTool logic does not properly determine
the outputs to pass to a final ibtool --link command to link all of
the storyboards together.
2016-06-16 14:17:25 -04:00
Rolf Bjarne Kvinge c5ef10a221 [msbuild] Provide better info when a test fails due to unexpected build failures in the test. (#105) 2016-05-31 12:58:11 +02:00
Jeffrey Stedfast 0d184bb187 [msbuild] Bump task projects to use .NET 4.5 instead of 4.0 (#78)
* [msbuild] Bump task projects to use .NET 4.5 instead of 4.0

Needed so that we can reference .NET 4.5 projects/assemblies
2016-05-25 14:06:20 -04:00
Jeffrey Stedfast 7ee37c1803 [msbuild] Link storyboards as part of the IBTool task if Xcode >= 7.0
Fixes issue #40583
2016-05-12 15:24:54 -04:00
Vincent Dondain af283be95d [msbuild/tests] Add ValidateAppBundleTaskTests
Includes regression test for bug #38673:
https://bugzilla.xamarin.com/show_bug.cgi?id=38673

Description:
"Validate that CFBundleVersion and CFBundleShortVersionString
match across main app and all extensions".
2016-05-11 20:24:07 +02:00
Vincent Dondain 0970fce6ed [msbuild/tests] Add TVServicesExtension test (#21)
* [msbuild/tests] Remove car idiom from Contents.json

The car idiom is something new projects used to generate
and that actool doesn't handle anymore.

Logs were polluted by a warning: "The app icon set 'AppIcons' has an unassigned child".

* [msbuild/tests] Add tvOS extension test

We now have MyTVServicesExtension project which
comes from a simple tvOS extension template.
It is attached to MyTVApp.

The TVApp test has been updated to also build the extension.

* [msbuild/tests] Fix Action Extension version number

The action extension project now has a version number that
is matching the parent app.

Avoids warning message.
2016-05-03 13:17:38 -04:00
Rolf Bjarne Kvinge 68df944ad6 Build MSBuild targets & assemblies. 2016-04-24 14:48:44 -04:00