This commit is contained in:
Rolf Bjarne Kvinge 2022-10-04 16:20:58 +02:00 коммит произвёл GitHub
Родитель 78550909a1 b0e99f8c26
Коммит ecae99a082
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
234 изменённых файлов: 1888 добавлений и 1798 удалений

6
.github/workflows/autoformat.yml поставляемый
Просмотреть файл

@ -44,6 +44,12 @@ jobs:
cd ..
dotnet format "$SRC_DIR/tools/xibuild/xibuild.csproj"
dotnet format whitespace "$SRC_DIR/tests/cecil-tests/cecil-tests.csproj"
dotnet format whitespace "$SRC_DIR/msbuild/Messaging/Xamarin.Messaging.Build/Xamarin.Messaging.Build.csproj"
dotnet format whitespace "$SRC_DIR/msbuild/Xamarin.Localization.MSBuild/Xamarin.Localization.MSBuild.csproj"
dotnet format whitespace "$SRC_DIR/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Tasks.csproj"
dotnet format whitespace "$SRC_DIR/msbuild/Xamarin.MacDev.Tasks/Xamarin.MacDev.Tasks.csproj"
dotnet format whitespace "$SRC_DIR/msbuild/Xamarin.iOS.Tasks.Windows/Xamarin.iOS.Tasks.Windows.csproj"
dotnet format whitespace "$SRC_DIR/msbuild/Xamarin.iOS.Tasks/Xamarin.iOS.Tasks.csproj"
# dotnet format "$SRC_DIR/[...]"
# add more projects here...
cd "$SRC_DIR"

Просмотреть файл

@ -105,13 +105,16 @@ else
endif
endif
package:
mkdir -p ../package
$(MAKE) -C $(MACCORE_PATH) package
.PHONY: package release
package release:
$(Q) $(MAKE) -C $(TOP)/release release
# copy .pkg, .zip and *updateinfo to the packages directory to be uploaded to storage
$(CP) $(MACCORE_PATH)/release/*.pkg ../package
$(CP) $(MACCORE_PATH)/release/*.zip ../package
$(CP) $(MACCORE_PATH)/release/*updateinfo ../package
$(Q) mkdir -p ../package
$(Q) $(CP) $(TOP)/release/*.pkg ../package
$(Q) $(CP) $(TOP)/release/*.zip ../package
$(Q) $(CP) $(TOP)/release/*updateinfo ../package
$(Q) echo "Packages:"
$(Q) ls -la ../package | sed 's/^/ /'
dotnet-install-system:
$(Q) $(MAKE) -C dotnet install-system

1
builds/.gitignore поставляемый
Просмотреть файл

@ -1,3 +1,4 @@
all-package-references.csproj
dotnet-install.sh
BundledNETCorePlatformsPackageVersion.txt
downloads

Просмотреть файл

@ -131,10 +131,14 @@ DOWNLOAD_DOTNET_VERSION=$(BUNDLED_NETCORE_PLATFORMS_PACKAGE_VERSION)
endif
endif
.stamp-download-dotnet-packages: $(TOP)/Make.config downloads/$(DOTNET_INSTALL_NAME)
package-download/all-package-references.csproj: $(TOP)/.git/HEAD $(TOP)/.git/index ./create-csproj-for-all-packagereferences.sh
$(Q_GEN) ./create-csproj-for-all-packagereferences.sh --output "$(abspath $@.tmp)" $(if $(V),-v,)
$(Q) mv "$@.tmp" "$@"
.stamp-download-dotnet-packages: $(TOP)/Make.config downloads/$(DOTNET_INSTALL_NAME) package-download/all-package-references.csproj
$(Q_GEN) cd package-download && $(DOTNET) \
build \
download-packages.proj \
download-packages.csproj \
/t:WriteBundledNETCorePlatformsPackageVersion \
/p:WriteFilePath=$(CURDIR)/BundledNETCorePlatformsPackageVersion.txt \
/p:PackageRuntimeIdentifiers="$(DOTNET_RUNTIME_IDENTIFIERS)" \

Просмотреть файл

@ -0,0 +1,68 @@
#!/bin/bash -eu
WHITE=$(tput setaf 7 || true)
RED=$(tput setaf 9 || true)
CLEAR=$(tput sgr0 || true)
OUTPUTPATH=
while [[ $# -gt 0 ]]; do
case $1 in
--help | -\? | -h)
echo "$(basename "$0"): --output=<file>"
echo " Find all the 'PackageReference' items in the repository and creates a project listing them all as 'PackageDownload' items."
echo " Options:"
echo " -h --help: Show this help"
echo " -v --verbose: Enable verbose script"
echo " --output=<value>: The output file"
exit 0
;;
--verbose | -v)
set -x
shift
;;
--output)
OUTPUTPATH="$2"
shift 2
;;
--output=*)
OUTPUTPATH="${1#*=}"
shift
;;
*)
echo "${RED}$(basename "$0"): Unknown option: ${WHITE}$1${RED}. Pass --help to view the available options.${CLEAR}"
exit 1
;;
esac
done
TMPPATH=$(PWD)/packagereferences.tmp.csproj
# Go to the root directory
cd "$(git rev-parse --show-toplevel)"
# Find all <PackageReference /> items that has an Include="..." and a Version="..."
git grep -e '<PackageReference.*Include="[a-zA-Z0-9._-]*".*Version="[a-zA-Z0-9._-]*".*>' -h > "$TMPPATH"
# Replace double double quotes with a single double quote. This happens in source code that generates project files (for tests).
sed -i '' 's/""/"/g' "$TMPPATH"
# Remove packages that we build locally
sed -i '' '/Xamarin.Tests.FrameworksInRuntimesNativeDirectory/d' "$TMPPATH"
# Get only the name and version of each package, and write that back in a PackageDownload item
sed -i '' 's@.*<PackageReference.*Include="\([a-zA-Z0-9._-]*\)".*Version="\([a-zA-Z0-9._-]*\)".*>.*@\t\t<PackageDownload Include="\1" Version="[\2]" />@g' "$TMPPATH"
# Sort the references and only list each once.
sort -u -o "$TMPPATH" "$TMPPATH"
# Create the complete/valid csproj
{
echo $'<Project>'
echo $'\t<ItemGroup>'
cat "$TMPPATH"
echo $'\t</ItemGroup>'
echo $'</Project>'
} > "$TMPPATH.2"
mv "$TMPPATH.2" "$TMPPATH"
mv "$TMPPATH" "$OUTPUTPATH"

Просмотреть файл

@ -3,6 +3,7 @@
<TargetFramework>net6.0</TargetFramework>
<ActualPackageVersion Condition="'$(CustomDotNetVersion)' != ''">$(CustomDotNetVersion)</ActualPackageVersion>
<ActualPackageVersion Condition="'$(ActualPackageVersion)' == ''">$(BundledNETCorePlatformsPackageVersion)</ActualPackageVersion>
<NoWarn>$(NoWarn);NU1505</NoWarn> <!-- warning NU1505: Duplicate 'PackageDownload' items found. Remove the duplicate items or use the Update functionality to ensure a consistent restore behavior. -->
</PropertyGroup>
<Import Project="../../eng/Versions.props" />
@ -29,6 +30,8 @@
<PackageDownload Include="Microsoft.NET.Workload.Emscripten.Manifest-$(ToolChainManifestVersionBand)" Version="[$(MicrosoftNETWorkloadEmscriptenManifest60100PackageVersion)]" />
</ItemGroup>
<Import Project="all-package-references.csproj" />
<!-- target to write out the BundledNETCorePlatformsPackageVersion to a file -->
<Target Name="WriteBundledNETCorePlatformsPackageVersion" Condition="'$(WriteFilePath)' != ''">
<WriteLinesToFile File="$(WriteFilePath)" Lines="$(ActualPackageVersion)" Overwrite="true" />

Просмотреть файл

@ -1,14 +1,11 @@
TOP=../../..
WEBSITE_DOCS ?= $(TOP)/xamarin-docs-pr
XAMARIN_ANALYSIS ?=$(TOP)/xamarin-analysis/shared/Xamarin.Analysis
XAMARIN_ANALYSIS_DOC = xamarin-analysis-doc-tool/bin/Debug
all: xamarin-analysis-doc
all:
cp mtouch-errors.md $(WEBSITE_DOCS)/docs/ios/troubleshooting/mtouch-errors.md
cp mmp-errors.md $(WEBSITE_DOCS)/docs/mac/troubleshooting/mmp-errors.md
cp binding_objc_libs.md $(WEBSITE_DOCS)/docs/cross-platform/macios/binding/objective-c-libraries.md
cp binding_types_reference_guide.md $(WEBSITE_DOCS)/docs/cross-platform/macios/binding/binding-types-reference.md
cp xamarin-ios-analysis.md $(WEBSITE_DOCS)/ios/troubleshooting/xamarin-ios-analysis.md
cp optimizations.md $(WEBSITE_DOCS)/docs/cross-platform/macios/optimizations.md
diff:
@ -16,9 +13,4 @@ diff:
-diff -u $(WEBSITE_DOCS)/docs/mac/troubleshooting/mmp-errors.md mmp-errors.md
-diff -u $(WEBSITE_DOCS)/docs/cross-platform/macios/binding/objective-c-libraries.md binding_objc_libs.md
-diff -u $(WEBSITE_DOCS)/docs/cross-platform/macios/binding/binding-types-reference.md binding_types_reference_guide.md
-diff -u $(WEBSITE_DOCS)/docs/ios/troubleshooting/xamarin-ios-analysis.md xamarin-ios-analysis.md
-diff -u $(WEBSITE_DOCS)/docs/cross-platform/macios/optimizations.md optimizations.md
xamarin-analysis-doc:
msbuild xamarin-analysis-doc-tool/xamarin-analysis-doc.sln
mono $(XAMARIN_ANALYSIS_DOC)/xamarin-analysis-doc.exe $(XAMARIN_ANALYSIS)/Xamarin.iOS.Analysis.targets

Просмотреть файл

@ -1,69 +0,0 @@
using System;
using System.Xml.Linq;
using System.IO;
namespace XamarinAnalysisDoc
{
class MainClass
{
static string analysis_path;
public static int Main (string [] args)
{
if (args.Length < 1) {
Console.WriteLine ("Usage: mono xamarin-analysis-doc.exe /path/to/Xamarin.iOS.Analysis.targets");
return 1;
}
analysis_path = args [0];
if (!File.Exists (analysis_path)) {
Console.WriteLine ($"Cannot find {analysis_path}");
return 1;
}
GenerateAnalysisDoc (analysis_path);
return 0;
}
static void GenerateAnalysisDoc (string path)
{
var section = "---\n";
section += "id: c29b69f5-08e4-4dcc-831e-7fd692ab0886\n";
section += "title: Xamarin.iOS Analysis Rules\n";
section += "dateupdated: " + DateTime.Now.ToString("yyyy-MM-dd") + "\n";
section += "---\n\n";
section += "[//]: # (The original file resides under https://github.com/xamarin/xamarin-macios/tree/main/docs/website/)\n";
section += "[//]: # (This allows all contributors (including external) to submit, using a PR, updates to the documentation that match the tools changes)\n";
section += "[//]: # (Modifications outside of xamarin-macios/main will be lost on future updates)\n\n";
section += "Xamarin.iOS analysis is a set of rules that check your project settings to help you determine if better/more optimized settings are available.\n\n";
section += "Run the analysis rules as often as possible to find possible improvements early on and save development time.\n\n";
section += "To run the rules, in Visual Studio for Mac's menu, select **Project > Run Code Analysis**.\n\n";
section += "> ⚠️ **NOTE:** Xamarin.iOS analysis only runs on your currently selected configuration. We highly recommend running the tool for debug **and** release configurations.\n\n";
var root = XDocument.Load (path);
XNamespace ns = "http://schemas.microsoft.com/developer/msbuild/2003";
foreach (XElement target in root.Descendants (ns + "Target")) {
var nameAttr = target.Attribute ("Name").Value;
var rule = nameAttr.Split ('_');
var ruleID = rule [0];
var ruleName = rule [1];
section += $"### <a name=\"{ruleID}\"/>{ruleID}: {ruleName}\n\n";
foreach (var xpaResult in target.Descendants (ns + "XamarinProjectAnalysisResult").Elements ()) {
if (xpaResult.Name.LocalName != "Category") {
section += "- **" + xpaResult.Name.LocalName + ":** ";
section += xpaResult.Value + "\n";
}
}
section += "\n";
}
File.WriteAllText ("xamarin-ios-analysis.md", section);
}
}
}

Просмотреть файл

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProjectGuid>{D2502AC9-4265-481A-B9A1-57F42EF9CF58}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>XamarinAnalysisDoc</RootNamespace>
<AssemblyName>xamarin-analysis-doc</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ExternalConsole>true</ExternalConsole>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ExternalConsole>true</ExternalConsole>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="xamarin-analysis-doc.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>

Просмотреть файл

@ -1,17 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xamarin-analysis-doc", "xamarin-analysis-doc.csproj", "{D2502AC9-4265-481A-B9A1-57F42EF9CF58}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D2502AC9-4265-481A-B9A1-57F42EF9CF58}.Debug|x86.ActiveCfg = Debug|x86
{D2502AC9-4265-481A-B9A1-57F42EF9CF58}.Debug|x86.Build.0 = Debug|x86
{D2502AC9-4265-481A-B9A1-57F42EF9CF58}.Release|x86.ActiveCfg = Release|x86
{D2502AC9-4265-481A-B9A1-57F42EF9CF58}.Release|x86.Build.0 = Release|x86
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,71 +0,0 @@
---
title: "Xamarin.iOS Analysis Rules"
ms.topic: troubleshooting
ms.prod: xamarin
ms.assetid: C29B69F5-08E4-4DCC-831E-7FD692AB0886
ms.technology: xamarin-ios
author: bradumbaugh
ms.author: brumbaug
ms.date: 03/06/2018
---
# Xamarin.iOS analysis rules
Xamarin.iOS analysis is a set of rules that check your project settings to help you determine if better/more optimized settings are available.
Run the analysis rules as often as possible to find possible improvements early on and save development time.
To run the rules, in Visual Studio for Mac's menu, select **Project > Run Code Analysis**.
> [!NOTE]
> Xamarin.iOS analysis only runs on your currently selected configuration. We highly recommend running the tool for debug **and** release configurations.
<a name="XIA0001" />
## XIA0001: DisabledLinkerRule
- **Problem:** The linker is disabled on device for the debug mode.
- **Fix:** You should try to run your code with the linker to avoid any surprises.
To set it up, go to Project > iOS Build > Linker Behavior.
<a name="XIA0002" />
## XIA0002: TestCloudAgentReleaseRule
- **Problem:** App builds that initialize the Test Cloud agent will be rejected by Apple when submitted, as they use private API.
- **Fix:** Add or fix the necessary #if and defines in code.
<a name="XIA0003" />
## XIA0003: IPADebugBuildsRule
- **Problem:** Debug configuration that uses developer signing keys should not generate an IPA as it is only needed for distribution, which now uses the Publishing Wizard.
- **Fix:** Disable IPA build in Project Options for the Debug configuration.
<a name="XIA0004" />
## XIA0004: Missing64BitSupportRule
- **Problem:** The supported architecture for "release | device" isn't 64 bit compatible, missing ARM64. This is a problem as Apple does not accept 32 bits only iOS apps in the AppStore.
- **Fix:** Double click on your iOS project, go to Build > iOS Build and change the supported architectures so it has ARM64.
<a name="XIA0005" />
## XIA0005: Float32Rule
- **Problem:** Not using the float32 option (--aot-options=-O=float32) leads to hefty performance cost, especially on mobile, where double precision math is measurably slower. Note that .NET uses double precision internally, even for float, so enabling this option affects precision and, possibly, compatibility.
- **Fix:** Double click on your iOS project, go to Build > iOS Build and uncheck the "Perform all 32-bit float operations as 64-bit float".
<a name="XIA0006" />
## XIA0006: HttpClientAvoidManaged
- **Problem:** We recommend using the native HttpClient handler instead of the managed one for better performance, smaller executable size, and to easily support the newer standards.
- **Fix:** Double click on your iOS project, go to Build > iOS Build and change the HttpClient implementation to either NSUrlSession (iOS 7+) or CFNetwork to support version preceding iOS 7.
<a name="XIA0007" />
## XIA0007: UseLLVMRule
- **Problem:** For Release|iPhone configuration we recommend enabling the LLVM compiler which generates code that is faster to execute at the expense of build time.
- **Fix:** Double click on your iOS project, go to Build > iOS Build and for Release|iPhone, check the LLVM optimizing compiler option.

Просмотреть файл

@ -16,20 +16,23 @@
<Unzip
SourceFiles="@(_NestedBrokerZip)"
DestinationFolder="@(_NestedBrokerZip -> '$(_NestedZipExtractionDir)%(Filename)')"
Condition="'@(_NestedBrokerZip->Count())' != '0'"
/>
<Delete Files="@(_NestedBrokerZip)" />
<Delete Files="@(_NestedBrokerZip)" Condition="'@(_NestedBrokerZip->Count())' != '0'" />
<Unzip
SourceFiles="@(_NestedBuildZip)"
DestinationFolder="@(_NestedBuildZip -> '$(_NestedZipExtractionDir)%(Filename)')"
Condition="'@(_NestedBuildZip->Count())' != '0'"
/>
<Delete Files="@(_NestedBuildZip)" />
<Delete Files="@(_NestedBuildZip)" Condition="'@(_NestedBuildZip->Count())' != '0'" />
<Unzip
SourceFiles="@(_NestediOSAppZip)"
DestinationFolder="@(_NestediOSAppZip -> '$(_NestedZipExtractionDir)%(Filename)')"
Condition="'@(_NestediOSAppZip->Count())' != '0'"
/>
<Delete Files="@(_NestediOSAppZip)" />
<Delete Files="@(_NestediOSAppZip)" Condition="'@(_NestediOSAppZip->Count())' != '0'" />
</Target>
<Target Name="_ZipNestedZips"
@ -38,14 +41,17 @@
<ZipDirectory
SourceDirectory="@(_NestedBrokerZip -> '$(_NestedZipExtractionDir)%(Filename)')"
DestinationFile="@(_NestedBrokerZip)"
Condition="'@(_NestedBrokerZip->Count())' != '0'"
/>
<ZipDirectory
SourceDirectory="@(_NestedBuildZip -> '$(_NestedZipExtractionDir)%(Filename)')"
DestinationFile="@(_NestedBuildZip)"
Condition="'@(_NestedBuildZip->Count())' != '0'"
/>
<ZipDirectory
SourceDirectory="@(_NestediOSAppZip -> '$(_NestedZipExtractionDir)%(Filename)')"
DestinationFile="@(_NestediOSAppZip)"
Condition="'@(_NestediOSAppZip->Count())' != '0'"
/>
<RemoveDir Directories="$(_NestedZipExtractionDir)" />
</Target>

Просмотреть файл

@ -751,7 +751,11 @@
<_AssemblyDirsToCreate Include="@(_AssembliesToBeStripped->'%(OutputPath)%(Directory)'->Distinct())"/>
</ItemGroup>
<MakeDir SessionId="$(BuildSessionId)" Condition="'$(IsMacEnabled)' == 'true'" Directories="@(_AssemblyDirsToCreate)" />
<Xamarin.MacDev.Tasks.ILStrip Assemblies="@(_AssembliesToBeStripped)" SessionId="$(BuildSessionId)">
<Xamarin.MacDev.Tasks.ILStrip
Assemblies="@(_AssembliesToBeStripped)"
SessionId="$(BuildSessionId)"
Condition="'$(IsMacEnabled)' == 'true'"
>
<Output TaskParameter="StrippedAssemblies" ItemName="_StrippedAssemblies" />
</Xamarin.MacDev.Tasks.ILStrip>
<ItemGroup>
@ -1304,7 +1308,7 @@
<ReadItemsFromFile
SessionId="$(BuildSessionId)"
File="%(_RidSpecificCodesignItemsPath.Identity)"
Condition="@(_RidSpecificCodesignItemsPath->Count()) &gt; 0"
Condition="@(_RidSpecificCodesignItemsPath->Count()) &gt; 0 And '$(IsMacEnabled)' == 'true'"
>
<Output TaskParameter="Items" ItemName="_RidSpecificCodesignItems" />
</ReadItemsFromFile>

Просмотреть файл

@ -1,6 +1,4 @@
namespace Xamarin.Mac.Tasks
{
public class Mmp : MmpTaskBase
{
namespace Xamarin.Mac.Tasks {
public class Mmp : MmpTaskBase {
}
}

Просмотреть файл

@ -18,10 +18,8 @@ using Xamarin.MacDev;
using Xamarin.Utils;
using Xamarin.Localization.MSBuild;
namespace Xamarin.Mac.Tasks
{
public abstract class MmpTaskBase : BundlerToolTaskBase
{
namespace Xamarin.Mac.Tasks {
public abstract class MmpTaskBase : BundlerToolTaskBase {
protected override string ToolName {
get { return "mmp"; }
}
@ -129,8 +127,7 @@ namespace Xamarin.Mac.Tasks
{
try { // We first try to use the base logic, which shows up nicely in XS.
base.LogEventsFromTextOutput (singleLine, messageImportance);
}
catch { // But when that fails, just output the message to the command line and XS will output it raw
} catch { // But when that fails, just output the message to the command line and XS will output it raw
Log.LogMessage (messageImportance, "{0}", singleLine);
}
}

Просмотреть файл

@ -8,11 +8,9 @@
using System;
namespace Xamarin.Mac.Tasks
{
namespace Xamarin.Mac.Tasks {
[Flags]
public enum XamMacArch
{
public enum XamMacArch {
Default = 0,
i386 = 1,
x86_64 = 2,

Просмотреть файл

@ -5,10 +5,8 @@ using System.Collections.Generic;
using Microsoft.Build.Framework;
namespace Xamarin.MacDev.Tasks
{
public static class AssetPackUtils
{
namespace Xamarin.MacDev.Tasks {
public static class AssetPackUtils {
const string Base36Alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const int HashEverythingLimit = 96;

Просмотреть файл

@ -7,10 +7,8 @@ using Microsoft.Build.Framework;
using Xamarin.Utils;
namespace Xamarin.MacDev
{
public static class BundleResource
{
namespace Xamarin.MacDev {
public static class BundleResource {
static readonly HashSet<string> illegalDirectoryNames = new HashSet<string> (new [] {
"Resources",
"_CodeSignature",
@ -73,8 +71,7 @@ namespace Xamarin.MacDev
if (isVSBuild) {
if (item.GetMetadata ("DefiningProjectFullPath") != item.GetMetadata ("MSBuildProjectFullPath")) {
return item.GetMetadata ("FullPath").Replace (item.GetMetadata ("DefiningProjectDirectory"), string.Empty);
}
else {
} else {
return item.ItemSpec;
}
}

Просмотреть файл

@ -6,13 +6,11 @@ using System.Collections.Generic;
using Microsoft.Build.Utilities;
using Xamarin.Utils;
namespace Xamarin.MacDev
{
namespace Xamarin.MacDev {
/// <summary>
/// Builds a process argument string.
/// </summary>
public class CommandLineArgumentBuilder
{
public class CommandLineArgumentBuilder {
static readonly char [] QuoteSpecials = new char [] { ' ', '\\', '\'', '"', ',', ';' };
readonly HashSet<string> hash = new HashSet<string> ();

Просмотреть файл

@ -418,8 +418,15 @@ namespace Mono {
break;
// Repeat acount;
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
b.repeat = ((short) b.description [b.i]) - ((short) '0');
return false;
@ -447,7 +454,8 @@ namespace Mono {
b.repeat = count;
return false;
case '$': case 'z':
case '$':
case 'z':
bool add_null = b.description [b.i] == 'z';
b.i++;
if (b.i >= b.description.Length)
@ -603,7 +611,8 @@ namespace Mono {
}
break;
case 'c': case 'C':
case 'c':
case 'C':
if (Prepare (buffer, ref idx, 1, ref align)) {
char c;
@ -618,8 +627,15 @@ namespace Mono {
break;
// Repeat acount;
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
repeat = ((short) description [i]) - ((short) '0');
save = i + 1;
break;
@ -648,7 +664,8 @@ namespace Mono {
repeat = count;
break;
case '$': case 'z':
case '$':
case 'z':
// bool with_null = description [i] == 'z';
i++;
if (i >= description.Length)

Просмотреть файл

@ -1,10 +1,8 @@
using System;
using Microsoft.Build.Utilities;
namespace Microsoft.Build.Tasks
{
public static class TaskExtensions
{
namespace Microsoft.Build.Tasks {
public static class TaskExtensions {
public static bool ShouldExecuteRemotely (this Task task, string sessionId)
=> Environment.OSVersion.Platform == PlatformID.Win32NT && !string.IsNullOrEmpty (sessionId);
}

Просмотреть файл

@ -1,7 +1,6 @@
using System;
namespace Xamarin.MacDev.Tasks
{
namespace Xamarin.MacDev.Tasks {
[Flags]
enum LinkTarget {
Simulator = 1,

Просмотреть файл

@ -4,10 +4,8 @@ using System.Collections.Generic;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace Xamarin.MacDev.Tasks
{
public static class LoggingExtensions
{
namespace Xamarin.MacDev.Tasks {
public static class LoggingExtensions {
const MessageImportance TaskPropertyImportance = MessageImportance.Normal;
internal static readonly string ErrorPrefix;

Просмотреть файл

@ -1,9 +1,7 @@
using Xamarin.Messaging.Build.Client;
namespace Microsoft.Build.Tasks
{
public class Copy : CopyBase
{
namespace Microsoft.Build.Tasks {
public class Copy : CopyBase {
public override bool Execute ()
{
if (!this.ShouldExecuteRemotely (SessionId))

Просмотреть файл

@ -1,9 +1,7 @@
extern alias Microsoft_Build_Tasks_Core;
namespace Microsoft.Build.Tasks
{
public abstract class CopyBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Copy
{
namespace Microsoft.Build.Tasks {
public abstract class CopyBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Copy {
public string SessionId { get; set; }
}
}

Просмотреть файл

@ -1,9 +1,7 @@
using Xamarin.Messaging.Build.Client;
namespace Microsoft.Build.Tasks
{
public class Delete : DeleteBase
{
namespace Microsoft.Build.Tasks {
public class Delete : DeleteBase {
public override bool Execute ()
{
var result = base.Execute ();

Просмотреть файл

@ -1,9 +1,7 @@
extern alias Microsoft_Build_Tasks_Core;
namespace Microsoft.Build.Tasks
{
public abstract class DeleteBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Delete
{
namespace Microsoft.Build.Tasks {
public abstract class DeleteBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Delete {
public string SessionId { get; set; }
}
}

Просмотреть файл

@ -7,10 +7,8 @@ using Xamarin.Messaging.Build.Client;
using System.Security;
using System.Reactive.Linq;
namespace Microsoft.Build.Tasks
{
public class Exec : ExecBase, ITaskCallback
{
namespace Microsoft.Build.Tasks {
public class Exec : ExecBase, ITaskCallback {
public string ServerPassword { get; set; }
public override bool Execute ()

Просмотреть файл

@ -1,9 +1,7 @@
extern alias Microsoft_Build_Tasks_Core;
namespace Microsoft.Build.Tasks
{
public abstract class ExecBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Exec
{
namespace Microsoft.Build.Tasks {
public abstract class ExecBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Exec {
public string SessionId { get; set; }
}
}

Просмотреть файл

@ -3,10 +3,8 @@ using System.Linq;
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Microsoft.Build.Tasks
{
public class MakeDir : MakeDirBase, ITaskCallback
{
namespace Microsoft.Build.Tasks {
public class MakeDir : MakeDirBase, ITaskCallback {
public override bool Execute ()
{
var result = base.Execute ();

Просмотреть файл

@ -1,9 +1,7 @@
extern alias Microsoft_Build_Tasks_Core;
namespace Microsoft.Build.Tasks
{
public abstract class MakeDirBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.MakeDir
{
namespace Microsoft.Build.Tasks {
public abstract class MakeDirBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.MakeDir {
public string SessionId { get; set; }
}
}

Просмотреть файл

@ -3,10 +3,8 @@ using System.Linq;
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Microsoft.Build.Tasks
{
public class Move : MoveTaskBase, ITaskCallback
{
namespace Microsoft.Build.Tasks {
public class Move : MoveTaskBase, ITaskCallback {
public override bool Execute ()
{
if (this.ShouldExecuteRemotely (SessionId))

Просмотреть файл

@ -1,9 +1,7 @@
extern alias Microsoft_Build_Tasks_Core;
namespace Microsoft.Build.Tasks
{
public abstract class MoveTaskBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Move
{
namespace Microsoft.Build.Tasks {
public abstract class MoveTaskBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Move {
public string SessionId { get; set; }
}
}

Просмотреть файл

@ -1,9 +1,7 @@
using Xamarin.Messaging.Build.Client;
namespace Microsoft.Build.Tasks
{
public class RemoveDir : RemoveDirBase
{
namespace Microsoft.Build.Tasks {
public class RemoveDir : RemoveDirBase {
public bool RemoveAppDir { get; set; }
public override bool Execute ()

Просмотреть файл

@ -1,9 +1,7 @@
extern alias Microsoft_Build_Tasks_Core;
namespace Microsoft.Build.Tasks
{
public abstract class RemoveDirBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.RemoveDir
{
namespace Microsoft.Build.Tasks {
public abstract class RemoveDirBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.RemoveDir {
public string SessionId { get; set; }
}
}

Просмотреть файл

@ -3,10 +3,8 @@ using System.Linq;
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Microsoft.Build.Tasks
{
public class Touch : TouchBase, ITaskCallback
{
namespace Microsoft.Build.Tasks {
public class Touch : TouchBase, ITaskCallback {
public override bool Execute ()
{
bool result;

Просмотреть файл

@ -1,9 +1,7 @@
extern alias Microsoft_Build_Tasks_Core;
namespace Microsoft.Build.Tasks
{
public abstract class TouchBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Touch
{
namespace Microsoft.Build.Tasks {
public abstract class TouchBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.Touch {
public string SessionId { get; set; }
}
}

Просмотреть файл

@ -1,9 +1,7 @@
using Xamarin.Messaging.Build.Client;
namespace Microsoft.Build.Tasks
{
public class WriteLinesToFile : WriteLinesToFileBase
{
namespace Microsoft.Build.Tasks {
public class WriteLinesToFile : WriteLinesToFileBase {
public override bool Execute ()
{
if (this.ShouldExecuteRemotely (SessionId))

Просмотреть файл

@ -1,9 +1,7 @@
extern alias Microsoft_Build_Tasks_Core;
namespace Microsoft.Build.Tasks
{
public abstract class WriteLinesToFileBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.WriteLinesToFile
{
namespace Microsoft.Build.Tasks {
public abstract class WriteLinesToFileBase : Microsoft_Build_Tasks_Core::Microsoft.Build.Tasks.WriteLinesToFile {
public string SessionId { get; set; }
}
}

Просмотреть файл

@ -1,5 +1,4 @@
namespace Xamarin.MacDev.Tasks
{
namespace Xamarin.MacDev.Tasks {
public enum NativeReferenceKind {
Static,
Dynamic,

Просмотреть файл

@ -29,10 +29,8 @@ using System.IO;
using Xamarin.Localization.MSBuild;
using Xamarin.Utils;
namespace Xamarin.MacDev.Tasks
{
public static class PlatformFrameworkHelper
{
namespace Xamarin.MacDev.Tasks {
public static class PlatformFrameworkHelper {
public static ApplePlatform GetFramework (string targetFrameworkMoniker)
{
return TargetFramework.Parse (targetFrameworkMoniker).Platform;

Просмотреть файл

@ -1,7 +1,5 @@
namespace Xamarin.MacDev.Tasks
{
public static class PlatformUtils
{
namespace Xamarin.MacDev.Tasks {
public static class PlatformUtils {
public static string GetTargetPlatform (string sdkPlatform, bool isWatchApp)
{
switch (sdkPlatform) {

Просмотреть файл

@ -2,10 +2,8 @@ using System;
using System.Text;
using System.Collections.Generic;
namespace Xamarin.MacDev
{
public static class StringParserService
{
namespace Xamarin.MacDev {
public static class StringParserService {
public static string Parse (string text, IDictionary<string, string> tags)
{
var builder = new StringBuilder ();

Просмотреть файл

@ -3,8 +3,7 @@ using Xamarin.MacDev.Tasks;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks {
public class ACTool : ACToolTaskBase, ICancelableTask
{
public class ACTool : ACToolTaskBase, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -10,10 +10,8 @@ using Microsoft.Build.Utilities;
using Xamarin.Localization.MSBuild;
using Xamarin.Utils;
namespace Xamarin.MacDev.Tasks
{
public abstract class ACToolTaskBase : XcodeCompilerToolTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class ACToolTaskBase : XcodeCompilerToolTask {
ITaskItem partialAppManifest;
string outputSpecs;

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class ALToolUpload : ALToolTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class ALToolUpload : ALToolTaskBase, ICancelableTask {
protected override string ALToolAction => "--upload-app";
public override bool Execute ()

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class ALToolValidate : ALToolTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class ALToolValidate : ALToolTaskBase, ICancelableTask {
protected override string ALToolAction => "--validate-app";
public override bool Execute ()

Просмотреть файл

@ -4,10 +4,8 @@ using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class AOTCompile : AOTCompileTaskBase, ITaskCallback, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class AOTCompile : AOTCompileTaskBase, ITaskCallback, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -8,10 +8,8 @@ using System.Text;
using Xamarin.Utils;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class ALToolTaskBase : XamarinToolTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class ALToolTaskBase : XamarinToolTask {
string sdkDevPath;
StringBuilder toolOutput;

Просмотреть файл

@ -3,10 +3,8 @@ using System.Linq;
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class ArTool : ArToolTaskBase, ITaskCallback
{
namespace Xamarin.MacDev.Tasks {
public class ArTool : ArToolTaskBase, ITaskCallback {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -6,10 +6,8 @@ using Microsoft.Build.Utilities;
using Xamarin.MacDev;
namespace Xamarin.MacDev.Tasks
{
public abstract class ArToolTaskBase : XamarinToolTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class ArToolTaskBase : XamarinToolTask {
#region Inputs
[Required]

Просмотреть файл

@ -2,10 +2,8 @@ using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
using Xamarin.iOS.Tasks;
namespace Xamarin.MacDev.Tasks
{
public class Archive : ArchiveTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class Archive : ArchiveTaskBase, ICancelableTask {
public override bool Execute ()
{
if (!ShouldExecuteRemotely ())

Просмотреть файл

@ -10,10 +10,8 @@ using System.Globalization;
using Xamarin.Localization.MSBuild;
using Xamarin.Utils;
namespace Xamarin.MacDev.Tasks
{
public abstract class ArchiveTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class ArchiveTaskBase : XamarinTask {
protected readonly DateTime Now = DateTime.Now;
#region Inputs

Просмотреть файл

@ -12,10 +12,8 @@ using Xamarin.iOS.Tasks;
#nullable enable
namespace Xamarin.MacDev.Tasks
{
public class BTouch : BTouchTaskBase, ITaskCallback
{
namespace Xamarin.MacDev.Tasks {
public class BTouch : BTouchTaskBase, ITaskCallback {
public override bool Execute ()
{
if (!ShouldExecuteRemotely ())

Просмотреть файл

@ -3,10 +3,8 @@ using System.Linq;
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class Codesign : CodesignTaskBase, ITaskCallback, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class Codesign : CodesignTaskBase, ITaskCallback, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -11,10 +11,8 @@ using System.Collections.Generic;
using Xamarin.Localization.MSBuild;
using Xamarin.Utils;
namespace Xamarin.MacDev.Tasks
{
public abstract class CodesignTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CodesignTaskBase : XamarinTask {
const string ToolName = "codesign";
const string MacOSDirName = "MacOS";
const string CodeSignatureDirName = "_CodeSignature";

Просмотреть файл

@ -1,9 +1,7 @@
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CodesignVerify : CodesignVerifyTaskBase
{
namespace Xamarin.MacDev.Tasks {
public class CodesignVerify : CodesignVerifyTaskBase {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -6,10 +6,8 @@ using Microsoft.Build.Framework;
using Xamarin.Localization.MSBuild;
using Xamarin.Utils;
namespace Xamarin.MacDev.Tasks
{
public abstract class CodesignVerifyTaskBase : XamarinToolTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CodesignVerifyTaskBase : XamarinToolTask {
#region Inputs
[Required]

Просмотреть файл

@ -2,10 +2,8 @@ using System;
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CollectBundleResources : CollectBundleResourcesTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class CollectBundleResources : CollectBundleResourcesTaskBase, ICancelableTask {
public override bool Execute ()
{
try {

Просмотреть файл

@ -6,10 +6,8 @@ using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class CollectBundleResourcesTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CollectBundleResourcesTaskBase : XamarinTask {
#region Inputs
public ITaskItem [] BundleResources { get; set; }

Просмотреть файл

@ -6,10 +6,8 @@ using Xamarin.Messaging.Build.Client;
#nullable enable
namespace Xamarin.MacDev.Tasks
{
public class CompileAppManifest : CompileAppManifestTaskBase, ITaskCallback, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class CompileAppManifest : CompileAppManifestTaskBase, ITaskCallback, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -11,10 +11,8 @@ using Xamarin.Utils;
#nullable enable
namespace Xamarin.MacDev.Tasks
{
public abstract class CompileAppManifestTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CompileAppManifestTaskBase : XamarinTask {
#region Inputs
// Single-project property that maps to CFBundleIdentifier for Apple platforms

Просмотреть файл

@ -9,10 +9,8 @@ using Xamarin.Utils;
#nullable enable
namespace Xamarin.MacDev.Tasks
{
public abstract class CompileEntitlementsTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CompileEntitlementsTaskBase : XamarinTask {
bool warnedTeamIdentifierPrefix;
bool warnedAppIdentifierPrefix;

Просмотреть файл

@ -4,17 +4,14 @@ using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CompileNativeCode : CompileNativeCodeTaskBase, ICancelableTask, ITaskCallback
{
namespace Xamarin.MacDev.Tasks {
public class CompileNativeCode : CompileNativeCodeTaskBase, ICancelableTask, ITaskCallback {
public override bool Execute ()
{
if (!ShouldExecuteRemotely ())
return base.Execute ();
foreach (var info in CompileInfo)
{
foreach (var info in CompileInfo) {
var outputFile = info.GetMetadata ("OutputFile");
if (!string.IsNullOrEmpty (outputFile))
@ -31,10 +28,8 @@ namespace Xamarin.MacDev.Tasks
public IEnumerable<ITaskItem> GetAdditionalItemsToBeCopied ()
{
if (IncludeDirectories != null) {
foreach (var dir in IncludeDirectories)
{
foreach (var file in Directory.EnumerateFiles(dir.ItemSpec, "*.*", SearchOption.AllDirectories))
{
foreach (var dir in IncludeDirectories) {
foreach (var file in Directory.EnumerateFiles (dir.ItemSpec, "*.*", SearchOption.AllDirectories)) {
yield return new TaskItem (file);
}
}

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CompileSceneKitAssets : CompileSceneKitAssetsTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class CompileSceneKitAssets : CompileSceneKitAssetsTaskBase, ICancelableTask {
public override bool Execute ()
{
if (!ShouldExecuteRemotely ())

Просмотреть файл

@ -11,10 +11,8 @@ using Xamarin.MacDev;
using Xamarin.Utils;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class CompileSceneKitAssetsTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CompileSceneKitAssetsTaskBase : XamarinTask {
string toolExe;
#region Inputs

Просмотреть файл

@ -3,10 +3,8 @@ using System.Linq;
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class ComputeBundleResourceOutputPaths : ComputeBundleResourceOutputPathsTaskBase, ITaskCallback, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class ComputeBundleResourceOutputPaths : ComputeBundleResourceOutputPathsTaskBase, ITaskCallback, ICancelableTask {
public override bool Execute ()
{
if (!ShouldExecuteRemotely ())

Просмотреть файл

@ -7,10 +7,8 @@ using Microsoft.Build.Utilities;
using Xamarin.MacDev;
namespace Xamarin.MacDev.Tasks
{
public abstract class ComputeBundleResourceOutputPathsTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class ComputeBundleResourceOutputPathsTaskBase : XamarinTask {
[Required]
public ITaskItem AppResourcesPath { get; set; }

Просмотреть файл

@ -66,7 +66,7 @@ namespace Xamarin.MacDev.Tasks {
// or a 'CodesignSigningKey' has been provided.
var requireCodeSigning = bundle.GetMetadata ("RequireCodeSigning");
var codesignSigningKey = bundle.GetMetadata ("CodesignSigningKey");
if (!string.Equals (requireCodeSigning, "true") && string.IsNullOrEmpty (codesignSigningKey))
if (!string.Equals (requireCodeSigning, "true") && string.IsNullOrEmpty (codesignSigningKey))
continue;
// Create a new item for the app bundle, and copy any metadata over.

Просмотреть файл

@ -6,8 +6,7 @@ using Microsoft.Build.Framework;
#nullable enable
namespace Xamarin.MacDev.Tasks
{
namespace Xamarin.MacDev.Tasks {
public class ComputeRemoteGeneratorProperties : ComputeRemoteGeneratorPropertiesTaskBase, ITaskCallback, ICancelableTask {
public override bool Execute ()
{

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CoreMLCompiler : CoreMLCompilerTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class CoreMLCompiler : CoreMLCompilerTaskBase, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -7,10 +7,8 @@ using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class CoreMLCompilerTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CoreMLCompilerTaskBase : XamarinTask {
string toolExe;
public string ToolName { get { return "coremlc"; } }

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CreateAssetPackManifest : CreateAssetPackManifestTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class CreateAssetPackManifest : CreateAssetPackManifestTaskBase, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -9,10 +9,8 @@ using Microsoft.Build.Utilities;
using Xamarin.MacDev;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class CreateAssetPackManifestTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CreateAssetPackManifestTaskBase : XamarinTask {
const double DownloadPriorityInterval = 0.90;
const double TopDownloadPriority = 0.95;

Просмотреть файл

@ -7,10 +7,8 @@ using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CreateBindingResourcePackage : CreateBindingResourcePackageBase, ITaskCallback, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class CreateBindingResourcePackage : CreateBindingResourcePackageBase, ITaskCallback, ICancelableTask {
public override bool Execute ()
{
if (!ShouldExecuteRemotely ())

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CreateDebugConfiguration : CreateDebugConfigurationTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class CreateDebugConfiguration : CreateDebugConfigurationTaskBase, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -8,10 +8,8 @@ using Microsoft.Build.Utilities;
using Xamarin.MacDev.Tasks;
namespace Xamarin.MacDev.Tasks
{
public abstract class CreateDebugConfigurationTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CreateDebugConfigurationTaskBase : XamarinTask {
#region Inputs
[Required]

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CreateDebugSettings : CreateDebugSettingsTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class CreateDebugSettings : CreateDebugSettingsTaskBase, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -9,10 +9,8 @@ using Xamarin.MacDev.Tasks;
using Xamarin.MacDev;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class CreateDebugSettingsTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CreateDebugSettingsTaskBase : XamarinTask {
#region Inputs
[Required]

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Tasks;
using Xamarin.MacDev.Tasks;
namespace Xamarin.MacDev.Tasks
{
public class CreateEmbeddedResources : CreateEmbeddedResourcesTaskBase
{
namespace Xamarin.MacDev.Tasks {
public class CreateEmbeddedResources : CreateEmbeddedResourcesTaskBase {
public override bool Execute ()
{
if (this.ShouldExecuteRemotely (SessionId)) {

Просмотреть файл

@ -5,8 +5,7 @@ using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace Xamarin.MacDev.Tasks {
public abstract class CreateEmbeddedResourcesTaskBase : Task
{
public abstract class CreateEmbeddedResourcesTaskBase : Task {
public string SessionId { get; set; }
[Required]

Просмотреть файл

@ -1,6 +1,4 @@
namespace Xamarin.MacDev.Tasks
{
public class CreateInstallerPackage : CreateInstallerPackageTaskBase
{
namespace Xamarin.MacDev.Tasks {
public class CreateInstallerPackage : CreateInstallerPackageTaskBase {
}
}

Просмотреть файл

@ -11,10 +11,8 @@ using System.Security.Cryptography.X509Certificates;
using Xamarin.MacDev;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class CreateInstallerPackageTaskBase : XamarinToolTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CreateInstallerPackageTaskBase : XamarinToolTask {
#region Inputs
[Required]
public string OutputDirectory { get; set; }
@ -68,8 +66,7 @@ namespace Xamarin.MacDev.Tasks
return plist.GetCFBundleShortVersionString ();
}
protected override string ToolName
{
protected override string ToolName {
get { return "productbuild"; }
}

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class CreatePkgInfo : CreatePkgInfoTaskBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class CreatePkgInfo : CreatePkgInfoTaskBase, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -4,10 +4,8 @@ using System.IO;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace Xamarin.MacDev.Tasks
{
public abstract class CreatePkgInfoTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class CreatePkgInfoTaskBase : XamarinTask {
static readonly byte [] PkgInfoData = { 0X41, 0X50, 0X50, 0X4C, 0x3f, 0x3f, 0x3f, 0x3f };
#region Inputs

Просмотреть файл

@ -7,10 +7,8 @@ using Xamarin.Messaging.Build.Client;
#nullable enable
namespace Xamarin.MacDev.Tasks
{
public class DSymUtil : DSymUtilTaskBase, ITaskCallback
{
namespace Xamarin.MacDev.Tasks {
public class DSymUtil : DSymUtilTaskBase, ITaskCallback {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -8,10 +8,8 @@ using Microsoft.Build.Utilities;
#nullable enable
namespace Xamarin.MacDev.Tasks
{
public abstract class DSymUtilTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class DSymUtilTaskBase : XamarinTask {
#region Inputs
// This can also be specified as metadata on the Executable item (as 'DSymDir')

Просмотреть файл

@ -1,10 +1,8 @@
using Microsoft.Build.Framework;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class DetectDebugNetworkConfiguration : DetectDebugNetworkConfigurationBase, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class DetectDebugNetworkConfiguration : DetectDebugNetworkConfigurationBase, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -12,10 +12,8 @@ using Xamarin.MacDev.Tasks;
using Xamarin.MacDev;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class DetectDebugNetworkConfigurationBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class DetectDebugNetworkConfigurationBase : XamarinTask {
#region Inputs
[Required]

Просмотреть файл

@ -5,10 +5,8 @@ using Microsoft.Build.Utilities;
using Xamarin.MacDev.Tasks;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class DetectSigningIdentity : DetectSigningIdentityTaskBase, ITaskCallback, ICancelableTask
{
namespace Xamarin.MacDev.Tasks {
public class DetectSigningIdentity : DetectSigningIdentityTaskBase, ITaskCallback, ICancelableTask {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -11,10 +11,8 @@ using Xamarin.Localization.MSBuild;
using SecKeychain = Xamarin.MacDev.Keychain;
namespace Xamarin.MacDev.Tasks
{
public abstract class DetectSigningIdentityTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class DetectSigningIdentityTaskBase : XamarinTask {
const string AutomaticProvision = "Automatic";
const string AutomaticAdHocProvision = "Automatic:AdHoc";
const string AutomaticAppStoreProvision = "Automatic:AppStore";
@ -198,8 +196,7 @@ namespace Xamarin.MacDev.Tasks
}
}
class CodeSignIdentity
{
class CodeSignIdentity {
public X509Certificate2 SigningKey { get; set; }
public MobileProvision Profile { get; set; }
public string BundleId { get; set; }
@ -400,8 +397,7 @@ namespace Xamarin.MacDev.Tasks
}
}
class SigningIdentityComparer : IComparer<CodeSignIdentity>
{
class SigningIdentityComparer : IComparer<CodeSignIdentity> {
public int Compare (CodeSignIdentity x, CodeSignIdentity y)
{
// reverse sort by provisioning profile creation date
@ -445,12 +441,15 @@ namespace Xamarin.MacDev.Tasks
List<CodeSignIdentity> pairs;
if (certs.Count > 0) {
pairs = (from p in profiles from c in certs where p.DeveloperCertificates.Any (d => {
pairs = (from p in profiles
from c in certs
where p.DeveloperCertificates.Any (d => {
var rv = d.Thumbprint == c.Thumbprint;
if (!rv)
Log.LogMessage (MessageImportance.Low, MSBStrings.M0132, d.Thumbprint, c.Thumbprint);
return rv;
}) select new CodeSignIdentity { SigningKey = c, Profile = p }).ToList ();
})
select new CodeSignIdentity { SigningKey = c, Profile = p }).ToList ();
if (pairs.Count == 0) {
Log.LogError (MSBStrings.E0133, PlatformName, AppBundleName);

Просмотреть файл

@ -5,10 +5,8 @@ using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class Ditto : DittoTaskBase, ITaskCallback
{
namespace Xamarin.MacDev.Tasks {
public class Ditto : DittoTaskBase, ITaskCallback {
public override bool Execute ()
{
if (ShouldExecuteRemotely ()) {

Просмотреть файл

@ -7,10 +7,8 @@ using System.IO;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace Xamarin.MacDev.Tasks
{
public abstract class DittoTaskBase : XamarinToolTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class DittoTaskBase : XamarinToolTask {
#region Inputs
public string? AdditionalArguments { get; set; }

Просмотреть файл

@ -1,9 +1,7 @@
using Xamarin.Messaging.Build.Client;
namespace Xamarin.MacDev.Tasks
{
public class EmbedProvisionProfile : EmbedProvisionProfileTaskBase
{
namespace Xamarin.MacDev.Tasks {
public class EmbedProvisionProfile : EmbedProvisionProfileTaskBase {
public override bool Execute ()
{
if (ShouldExecuteRemotely ())

Просмотреть файл

@ -6,10 +6,8 @@ using Microsoft.Build.Framework;
using Xamarin.Localization.MSBuild;
using Xamarin.Utils;
namespace Xamarin.MacDev.Tasks
{
public abstract class EmbedProvisionProfileTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class EmbedProvisionProfileTaskBase : XamarinTask {
#region Inputs
[Required]

Просмотреть файл

@ -4,8 +4,7 @@ using System.Collections.Generic;
using Xamarin.Messaging.Build.Client;
using Microsoft.Build.Framework;
namespace Xamarin.MacDev.Tasks
{
namespace Xamarin.MacDev.Tasks {
public class FindAotCompiler : FindAotCompilerTaskBase, ITaskCallback, ICancelableTask {
public override bool Execute ()
{

Просмотреть файл

@ -1,6 +1,4 @@
namespace Xamarin.MacDev.Tasks
{
public class FindItemWithLogicalName : FindItemWithLogicalNameTaskBase
{
namespace Xamarin.MacDev.Tasks {
public class FindItemWithLogicalName : FindItemWithLogicalNameTaskBase {
}
}

Просмотреть файл

@ -4,10 +4,8 @@ using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class FindItemWithLogicalNameTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class FindItemWithLogicalNameTaskBase : XamarinTask {
#region Inputs
[Required]

Просмотреть файл

@ -1,6 +1,4 @@
namespace Xamarin.MacDev.Tasks
{
public class GenerateBundleName : GenerateBundleNameTaskBase
{
namespace Xamarin.MacDev.Tasks {
public class GenerateBundleName : GenerateBundleNameTaskBase {
}
}

Просмотреть файл

@ -5,10 +5,8 @@ using Microsoft.Build.Utilities;
using Microsoft.Build.Framework;
using Xamarin.Localization.MSBuild;
namespace Xamarin.MacDev.Tasks
{
public abstract class GenerateBundleNameTaskBase : XamarinTask
{
namespace Xamarin.MacDev.Tasks {
public abstract class GenerateBundleNameTaskBase : XamarinTask {
[Required]
public string ProjectName { get; set; }

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше