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

270 Коммитов

Автор SHA1 Сообщение Дата
Mikayla Hutchinson 07c6835608 Remove leftover/broken import in F# targets 2016-08-15 10:06:16 -04:00
Mikayla Hutchinson 740d91ad08 Remove leftover/broken import in F# targets 2016-08-12 16:20:37 -04:00
joj 44721a0a9e Modifying the way GAC elimination works so it will work in MSBuild (#540)
XBuild adds extra semi-colons to the string when serializing. I remove them via split to make MSBuild work.
2016-08-10 11:59:09 -03:00
Jeffrey Stedfast f77fbeb016 [msbuild] When doing device-specific builds, ignore incompatible devi… (#579)
[msbuild] When doing device-specific builds, ignore incompatible device OS's

If the user has tvOS, watchOS, and iOS projects in their solution
and goes to build for one of them for a specific device, it passes
along the device specific info to MSBuild. The build would then
fail for the tvOS and/or watchOS projects because of incompatible
architecture requirements.

This fixes that problem by short-cutting the ParseDeviceSpecificBuildInfo
task to output the default values (the values used when not building
for a specific device).
2016-08-09 14:40:17 -04:00
Jeffrey Stedfast ec56c6103d [msbuild] When doing device-specific builds, ignore incompatible devi… (#579)
[msbuild] When doing device-specific builds, ignore incompatible device OS's

If the user has tvOS, watchOS, and iOS projects in their solution
and goes to build for one of them for a specific device, it passes
along the device specific info to MSBuild. The build would then
fail for the tvOS and/or watchOS projects because of incompatible
architecture requirements.

This fixes that problem by short-cutting the ParseDeviceSpecificBuildInfo
task to output the default values (the values used when not building
for a specific device).
2016-08-09 14:39:08 -04:00
Mikayla Hutchinson 51b7f81eca Fix F# targets on xbuild 12.0 & 14.0 (#542) 2016-08-09 11:24:12 -04:00
Mikayla Hutchinson 3e04819622 Fix F# targets on xbuild 12.0 & 14.0 (#541) 2016-08-09 11:23:56 -04:00
Chris Hamons 309c3b5c9e [XM] Fix msbuild incompatibility in binding target file (#375) 2016-08-08 13:53:33 -05:00
Jeffrey Stedfast 235a4ab226 [msbuild] Fixed spelling of MacOSX to Mac OS X (#538)
* [msbuild] Fixed spelling of MacOSX to Mac OS X

* [msbuild] Use the name 'macOS' instead of 'Mac OS X' :)
2016-08-04 14:08:15 -04:00
joj 0034839244 Modifying the way GAC elimination works so it will work in MSBuild (#540)
XBuild adds extra semi-colons to the string when serializing. I remove them via split to make MSBuild work.
2016-08-03 14:34:54 -05:00
Jeffrey Stedfast c2295c65e9 [msbuild] Don't use a user-defined Mac OS X SDK version, it's useless (#528)
Recent Xcode versions only ship 1 version of the SDK, so it is
pointless to have a user-defined SDK version to link against.

We already use the LSMinimumOSVersion to determine the proper
-mmacosx-version-min argument to pass.
2016-08-03 10:53:07 -04:00
nosami 1c82491de6 Add F# targets to Xamarin.Mac.FSharp.targets 2016-08-02 20:17:34 +01:00
nosami 5df2224f71 Add F# targets to Xamarin.Mac.FSharp.targets 2016-08-02 20:14:55 +01:00
nosami a90fe3ce8a Fix the other FSharp templates. Fixes #42828 2016-08-02 16:59:56 +01:00
nosami f7c84735c8 Fixes #42828 2016-08-02 16:59:44 +01:00
Jason Imison 44b3920511 Fixes #42828 (#512)
* Fixes #42828

* Fix the other FSharp templates. Fixes #42828
2016-08-02 11:49:22 -04:00
Chris Hamons 9c00c941dc [XM] Allow 64-bit system mono in XM apps (#508)
- Back when this check was added, 64-bit mono was not standard/shipped. Now it is.
2016-07-29 14:21:45 -05:00
Chris Hamons ff1f30b305 [XM] Fix msbuild incompatibility in binding target file (#375) 2016-07-11 13:56:04 -04:00
Jeffrey Stedfast b604792a3e [msbuild] Replaced uses of $(_IpaOutputDir) with $(IpaPackageDir) (#336)
* [msbuild] Replaced uses of $(_IpaOutputDir) with $(IpaPackageDir)

Fixes the unit tests

* [msbuild] Define IpaPackageDir/Name based on IpaPackagePath if defined
2016-06-30 21:22:41 -07: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
Rolf Bjarne Kvinge 8c5b446f82 [msbuild] Reorder imports for F# watchOS extensions so that it compiles correctly. (#299)
Otherwise extensions would just compile like a normal .NET class library
project and produce a .dll.
2016-06-28 08:20:26 -07:00
Jeffrey Stedfast 518b8007cc [msbuild] Properly archive projects containing WatchOS2 apps (#268)
Fixes bug #41762
2016-06-27 15:22:45 -04:00
Jeffrey Stedfast fa511d0d77 [msbuild] Allow customization of IPA package directory & path (#285)
Fixes bug #41963
2016-06-27 14:39:38 -04:00
Vincent Dondain afa7e8d976 [msbuild] Import Xamarin.iOS.Analysis.targets (#283)
Update reference to maccore which includes
the bump to an update xamarin-analysis and
the corresponding Makefile changes.
2016-06-27 14:07:58 -04:00
Rolf Bjarne Kvinge ba7cddc34e [msbuild] Add nuget diagnostics. (#255)
* [msbuild] Add nuget diagnostics.

* [msbuild] Make restore less verbose.

To see if that's what's causing an infinite newline print loop on jenkins bots.

* [msbuild] nuget can't list sources on jenkins for some reason, so just do it manually.

* [msbuild] Make sure diagnostics doesn't fail the build.
2016-06-23 06:22:21 -07:00
Chris Hamons 3fcb2ed89e [XM] - XM Mobile should not resolve from the GAC either (#242)
- Centralize fix I made for XM 4.5 to apply to both and write larger test
- https://bugzilla.xamarin.com/show_bug.cgi?id=42001
2016-06-20 15:26:33 -04:00
Jeffrey Stedfast f3199064d4 [msbuild] Properly locate .nib files produced for iOS 5.x (#241)
iOS 5.x uses .nib files and not directories.
2016-06-20 14:11:39 -04: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
Daniel Cazzulino ef0b8867b9 [msbuild] Rename and unify to IsMacEnabled (#193)
* [msbuild] Rename and unify to IsMacEnabled

We previously had an MtouchTargetsEnabled and a separate
IsMacTargetsEnabled for iOS and XM, when both actually
meant the same thing: is a Mac enabled for building this
project?

Note that instead of "targets", we make it more generic,
since the condition can be used in a task, a property
group or whatever really, not just to enable/disable
certain targets.

Also, we call it Enabled, rather than Connected or
Available, since it's more natural to think that all such
tasks/targets are enabled when you're building locally
on the Mac. Connected wouldn't have been appropriate, and
Available would be confusing.

For backwards compatibility I've kepd the old MtouchTargetsEnabled
pointing to IsMacEnabled. We'll change our Windows targets
accordingly to also unify this property and how/where it's
set.

* [msbuild] Use full condition comparison for robustness

This is the proper way to use a boolean in a condition, and
prevents errors whenever the property is an empty string or
anything other than a boolean value.
2016-06-16 13:14:43 -04:00
Jeffrey Stedfast 59a1233b26 [msbuild] Create a WatchKitSupport2 directory in the IPA for WatchOS2+ apps (#182)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=41762
2016-06-15 13:50:27 +02:00
Daniel Cazzulino a645369e66 [msbuild] Remove improper .0 at the end of package version (#181)
For whatever reason, VS added it even if the package version is
0.9.5, but VS happily finds it and everything builds fine but
it breaks on xbuild/mono/mac??
2016-06-13 16:58:14 -04:00
Daniel Cazzulino 136b9a43b4 [msbuild] Unify and relocate shared MSBuild overriden tasks (#179)
* [msbuild] Remove unnecessary duplicate implementation of Move

Our implementation of the Move task was a partial copy of what
the MSBuild Move task does: https://github.com/Microsoft/msbuild/blob/master/src/XMakeTasks/Move.cs

Remove the unnecessary code, make it inherit the base implementation
like we do for the other MSBuild-overriden tasks, and place it in a
corresponding MsBuildTasks folder to denote this (again, like we do
in iOS.Tasks).

Removing this (unnecessary IMO) custom implementation of Move
ensures that when we switch to MSBuild, we can leverage improvements
and fixes on the task automatically.

* [msbuild] Move all the common MSBuild overriden tasks to MacDev

These tasks previously existed in iOS.Tasks, and Mac.Tasks. Since
they are reused across iOS and XM targets, move them to the common
MacDev project and update the targets accordingly.
2016-06-13 15:07:18 -04:00
Daniel Cazzulino 9642dd9be0 Provide .editorconfig support for easier contributor formatting
Scoped to the msbuild folder for now which has consistent C# and
MSBuild formatting. The rest of the repo seems to be using different
formatting, so I didn't want to have to decide one way or the other.
2016-06-13 00:43:37 -03:00
joj 28bb84d62b Added missing SessionId to CreateInstallerPackage (#170)
* [build] Moved CreateInstallerPackage to Core

* [build] Converted CreateInstallerPackage into a base with SessionId
2016-06-10 11:32:41 -04:00
Daniel Cazzulino fbf06ee933 [msbuild] Redefine the Exec task to prepare for remote execution from VS (#164)
Like the Copy/Delete/MakeDir/RemoveDir/Touch tasks, we need to override
this one so we can allow customer targets to also execute Mac tools
remotely when building from Windows, bringing parity to the build
customizations allowed on XS/xbuild since they build locally and Exec
"just works" there of course.
2016-06-10 10:02:53 +02:00
Chris Hamons 06c18bd887 [XM] Add release value option to msbuild/mmp to resolve XM 4.5 assemb… (#150)
[XM] Add release value option to msbuild/mmp to resolve XM 4.5 assemblies from system GAC

- This option "reverts" a C7 fix that prevented resovling assemblies from the GAC, which is unsafe
- If you use this option, you need to know what you are doing. The mono BCL and the XM BCL need to be compatible
- Use strictly puts you in the no support "you get to keep the pieces if it breaks" category.
2016-06-08 12:47:09 -04:00
joj a063725298 Added MtouchTargetsEnabled property to build (#139) 2016-06-06 15:30:34 -04:00
Jeffrey Stedfast 7d6bec05f1 [msbuild] Make Mac IBTool logic consistent with iOS logic (#127)
Fixes bug #41486
2016-06-03 13:55:44 -04:00
Jeffrey Stedfast 01587d8fb4 [msbuild] Explicitly target .NET 4.5 for Xamarin.Mac.Tasks.Core
The other projects already explicitly target .NET 4.5.
2016-06-01 11:28:51 -04:00
Jeffrey Stedfast f59d1195e5 [msbuild] Fixed up MmpTaskBase 2016-05-31 11:59:18 -04:00
Jeffrey Stedfast 582101a996 Macios symbolicate (#74) 2016-05-31 11:57:47 -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
Rolf Bjarne Kvinge 55dfad1351 [msbuild] Define __TVOS__, not __IOS__ for tvOS projects. (#101) 2016-05-31 10:33:59 +02:00
joj dea10d50b3 Renamed TaskBase class files to *TaskBase; Fixed Mac reference 2016-05-26 13:06:39 -03:00
joj b1e7cd4b23 Made tasks in Mac.Tasks.Core bases; added SessionId 2016-05-26 10:24:13 -03:00
joj 19b87f2723 Added new Mac.Tasks.Core project; moved tasks with no Core base there 2016-05-26 10:07:59 -03:00
Rolf Bjarne Kvinge a082722047 [msbuild] Make sure CFBundleShortVersionString is set to something. (#86)
This prevents the watch from getting mightily confused when re-installing
watch apps/extensions.

Not having a CFBundleShortVersionString would cause the following:

* Build & install & run would work fine the first time.
* The second build & install would confuse the watch so that the
  app wouldn't launch. Removing the app and reinstalling wouldn't
  work; the potential options would be to either reboot the device,
  or add a CFBundleShortVersionString to the Info.plists and install
  that build twice.
2016-05-26 14:20:43 +02:00
Rolf Bjarne Kvinge 3a70b71a4c [msbuild] LLVM is possible for armv7k as well. (#87) 2016-05-26 13:52:21 +02:00
Chris Hamons ca028ea150 [Mac] Add support for os x extensions (#83) 2016-05-25 17:20:33 -04: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 88bf794559 [msbuild] Fixed logic for building WatchOS storyboards (#75)
Starting with Xcode 7, storyboards are output as
Interface.storyboardc/Interface.plist instead of Interface.plist

We can also safely link these storyboards as long as we pass
the storyboardc directory to ibtool.
2016-05-25 11:16:41 +02:00
Jeffrey Stedfast e1e358a402 Merge pull request #45 from jstedfast/ibtool-link
[msbuild] Link storyboards as part of the IBTool task if Xcode >= 7.0
2016-05-23 16:41:26 -04:00
Vincent Dondain 6ca327e193 [msbuild] Remove empty UIDeviceRequiredCapabilities array (#71)
Looks like Xcode isn't generating any UIDeviceRequiredCapabilities
for watchOS 1 extensions.

It used to have UIRequiredDeviceCapabilities = 'watch-companion'
but that *might* not be required anymore.
Commit 94e35a8570 on xamarin-macios/master
comes from those same assumptions.

Now regarding bug #41204:
User is getting error "ERROR ITMS-90563: "Missing UIRequiredDeviceCapabilities value"
when publish WatchKitCatalog sample.
(https://bugzilla.xamarin.com/show_bug.cgi?id=41204)

This might happen because we're still creating an empty array for the
UIDeviceRequiredCapabilities key.

In any case there's no need to create it.
2016-05-23 10:18:34 +02:00
Vincent Dondain 686693ca47 [msbuild] Add AudioUnit key to ValidateAppBundleTaskBase (#68) 2016-05-19 16:53:44 +02:00
Jeffrey Stedfast 87153e47c0 [msbuild] Don't treat unsupported iCloud entitlements as errors in the build (#46)
Fixes bug #40961
2016-05-13 11:19:49 +02: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
Jeffrey Stedfast 0dc4cd2413 [msbuild] reverted accidental debug logging 2016-05-11 12:07:24 -04:00
Jeffrey Stedfast 351d429273 [msbuild] Fixed Optimize metadata parsing logic for BundleResources
Fixes bug #41019
2016-05-11 12:03:15 -04: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
Emanuel d25da2a0e3 Set IsStreamable to false if the ODR are Embed 2016-05-02 15:48:57 -03:00
Emanuel b359fae77d [ODR] Sign app bundle if the AssetPackaManifest has changed 2016-05-02 15:48:50 -03:00
Emanuel b838b603f0 Avoid codesigning embedded assetpacks for AdHoc IPA 2016-05-02 15:48:41 -03:00
Jeffrey Stedfast 7344399ccf [msbuild] Added LinkDescription support for iOS
Fixes bug #40503
2016-04-26 16:15:18 -04:00
Vincent Dondain 2145c468a0 [msbuild] Add tvOS AppExtension targets 2016-04-26 10:19:54 -04:00
Rolf Bjarne Kvinge 94e35a8570 [msbuild] Xcode doesn't seem to add a UIRequiredDeviceCapabilities = 'watch-companion' anymore.
Xcode doesn't see to add a UIRequiredDeviceCapabilities = 'watch-companion'
anymore for watchos apps/extensions, not even when setting the deployment
version to 2.0.

This makes watchOS 2 apps launch in the simulator again.
2016-04-25 18:15:01 -04:00
Jeffrey Stedfast b0c55a87f6 [msbuild] Fixed FileWrites logic for OptimizeImage task 2016-04-25 18:14:55 -04:00
Jeffrey Stedfast e97d69b25c [msbuild] Don't write actool/ibtool/etc outputs to FileWrites
MSBuild compares what is in FileWrites with the Outputs of the target
and any file that exists in FileWrites but *doesn't* exist in Outputs
gets deleted with the assumption that it is no longer needed via the
IncrementalClean MSBuild target.

Since these tasks cannot know what the outputs will be until the task
is run, we cannot use FileWrites.
2016-04-25 18:14:55 -04:00
Rolf Bjarne Kvinge 68df944ad6 Build MSBuild targets & assemblies. 2016-04-24 14:48:44 -04:00