diff --git a/Xamarin.Android.sln b/Xamarin.Android.sln
index 4c694627f1b..be14c8ceb8a 100644
--- a/Xamarin.Android.sln
+++ b/Xamarin.Android.sln
@@ -129,6 +129,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "download-bundle", "build-to
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "jit-times", "tools\jit-times\jit-times.csproj", "{F3CFF31C-037B-450F-B22D-1D6E529B2DCC}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "create-pkg", "build-tools\create-pkg\create-pkg.csproj", "{46529930-A5CC-4205-A50D-0AAAC639F082}"
+EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
src\Xamarin.Android.NamingCustomAttributes\Xamarin.Android.NamingCustomAttributes.projitems*{3f1f2f50-af1a-4a5a-bedb-193372f068d7}*SharedItemsImports = 4
@@ -371,6 +373,10 @@ Global
{F3CFF31C-037B-450F-B22D-1D6E529B2DCC}.Debug|AnyCPU.Build.0 = Debug|Any CPU
{F3CFF31C-037B-450F-B22D-1D6E529B2DCC}.Release|AnyCPU.ActiveCfg = Release|Any CPU
{F3CFF31C-037B-450F-B22D-1D6E529B2DCC}.Release|AnyCPU.Build.0 = Release|Any CPU
+ {46529930-A5CC-4205-A50D-0AAAC639F082}.Debug|AnyCPU.ActiveCfg = Debug|Any CPU
+ {46529930-A5CC-4205-A50D-0AAAC639F082}.Debug|AnyCPU.Build.0 = Debug|Any CPU
+ {46529930-A5CC-4205-A50D-0AAAC639F082}.Release|AnyCPU.ActiveCfg = Release|Any CPU
+ {46529930-A5CC-4205-A50D-0AAAC639F082}.Release|AnyCPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -432,6 +438,7 @@ Global
{1E5501E8-49C1-4659-838D-CC9720C5208F} = {CAB438D8-B0F5-4AF0-BEBD-9E2ADBD7B483}
{1BAFA0CC-0377-46CE-AB7B-7BB2E7B62F63} = {04E3E11E-B47D-4599-8AFC-50515A95E715}
{F3CFF31C-037B-450F-B22D-1D6E529B2DCC} = {864062D3-A415-4A6F-9324-5820237BA058}
+ {46529930-A5CC-4205-A50D-0AAAC639F082} = {E351F97D-EA4F-4E7F-AAA0-8EBB1F2A4A62}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {53A1F287-EFB2-4D97-A4BB-4A5E145613F6}
diff --git a/build-tools/automation/build.groovy b/build-tools/automation/build.groovy
index eb3d328cf23..dd53f670020 100644
--- a/build-tools/automation/build.groovy
+++ b/build-tools/automation/build.groovy
@@ -4,10 +4,12 @@ import groovy.json.JsonSlurper
def XADir = "xamarin-android"
-def MSBUILD_AUTOPROVISION_ARGS="/p:AutoProvision=True /p:AutoProvisionUsesSudo=True /p:IgnoreMaxMonoVersion=False"
+def EXTRA_MSBUILD_ARGS="/p:AutoProvision=True /p:AutoProvisionUsesSudo=True /p:IgnoreMaxMonoVersion=False"
def isPr = false // Default to CI
+def hasPrLabelFullMonoIntegrationBuild = false
+
def buildTarget = 'jenkins'
def stageWithTimeout(stageName, timeoutValue, timeoutUnit, directory, fatal, ctAttempts = 0, Closure body) {
@@ -120,9 +122,17 @@ timestamps {
env.ghprbPullLongDescription = ''
if (hasPrLabel(env.GitRepo, env.ghprbPullId, 'full-mono-integration-build')) {
+ hasPrLabelFullMonoIntegrationBuild = true
buildTarget = 'jenkins'
} else {
buildTarget = 'all'
+ // Also compile host libs for windows so that a complete VSIX can be created
+ if (isUnix()) {
+ def uname = sh script: 'uname', returnStdout: true
+ if (uname.startsWith("Darwin")) {
+ EXTRA_MSBUILD_ARGS += " /p:AndroidSupportedHostJitAbis=Darwin:mxe-Win32:mxe-Win64"
+ }
+ }
}
}
@@ -137,15 +147,22 @@ timestamps {
}
stageWithTimeout('prepare deps', 30, 'MINUTES', XADir, true) { // Typically takes less than 2 minutes
- sh "make prepare-deps CONFIGURATION=${env.BuildFlavor} V=1 MSBUILD_ARGS='$MSBUILD_AUTOPROVISION_ARGS'"
+ sh "make prepare-deps CONFIGURATION=${env.BuildFlavor} V=1 MSBUILD_ARGS='$EXTRA_MSBUILD_ARGS'"
}
stageWithTimeout('build', 6, 'HOURS', XADir, true) { // Typically takes less than one hour except a build on a new bot to populate local caches can take several hours
- sh "make prepare ${buildTarget} CONFIGURATION=${env.BuildFlavor} V=1 MSBUILD_ARGS='$MSBUILD_AUTOPROVISION_ARGS'"
+ sh "make prepare ${buildTarget} CONFIGURATION=${env.BuildFlavor} V=1 MSBUILD_ARGS='$EXTRA_MSBUILD_ARGS'"
}
- stageWithTimeout('create vsix', 30, 'MINUTES', XADir, true) { // Typically takes less than 5 minutes
- sh "make create-vsix CONFIGURATION=${env.BuildFlavor}"
+ stageWithTimeout('create installers', 30, 'MINUTES', XADir, true) { // Typically takes less than 5 minutes
+ if (isPr) {
+ // Override _MSBUILD_ARGS to ensure we only package the `AndroidSupportedTargetJitAbis` which are built.
+ // Also ensure that we don't require mono bundle components in the installer if this is not a full mono integration build.
+ def msbuildInstallerArgs = hasPrLabelFullMonoIntegrationBuild ? '' : '/p:IncludeMonoBundleComponents=False'
+ sh "make create-installers CONFIGURATION=${env.BuildFlavor} _MSBUILD_ARGS='${msbuildInstallerArgs}'"
+ } else {
+ sh "make create-installers CONFIGURATION=${env.BuildFlavor}"
+ }
}
stageWithTimeout('package oss', 30, 'MINUTES', XADir, true) { // Typically takes less than 5 minutes
@@ -166,7 +183,7 @@ timestamps {
}
stageWithTimeout('publish packages to Azure', 30, 'MINUTES', '', true, 3) { // Typically takes less than a minute, but provide ample time in situations where logs may be quite large
- def publishBuildFilePaths = "${XADir}/xamarin.android-oss*.zip,${XADir}/bin/Build*/Xamarin.Android.Sdk*.vsix,${XADir}/build-status*,${XADir}/xa-build-status*";
+ def publishBuildFilePaths = "${XADir}/xamarin.android-oss*.zip,${XADir}/bin/Build*/Xamarin.Android.Sdk-OSS*,${XADir}/build-status*,${XADir}/xa-build-status*";
if (!isPr) {
publishBuildFilePaths = "${publishBuildFilePaths},${XADir}/bin/${env.BuildFlavor}/bundle-*.zip"
@@ -185,7 +202,6 @@ timestamps {
def skipNunitTests = false
if (isPr) {
- def hasPrLabelFullMonoIntegrationBuild = hasPrLabel(env.GitRepo, env.ghprbPullId, 'full-mono-integration-build')
def hasPrLabelRunTestsRelease = hasPrLabel(env.GitRepo, env.ghprbPullId, 'run-tests-release')
skipNunitTests = hasPrLabelFullMonoIntegrationBuild || hasPrLabelRunTestsRelease
echo "Run all tests: Labels on the PR: 'full-mono-integration-build' (${hasPrLabelFullMonoIntegrationBuild}) and/or 'run-tests-release' (${hasPrLabelRunTestsRelease})"
diff --git a/build-tools/create-pkg/create-pkg.csproj b/build-tools/create-pkg/create-pkg.csproj
new file mode 100644
index 00000000000..08304e3d834
--- /dev/null
+++ b/build-tools/create-pkg/create-pkg.csproj
@@ -0,0 +1,33 @@
+
+
+
+ Debug
+ AnyCPU
+ {46529930-A5CC-4205-A50D-0AAAC639F082}
+ Library
+ createpkg
+ create-pkg
+ v4.7.2
+ ..\..\bin\Build$(Configuration)
+
+
+ true
+ full
+ false
+ DEBUG;
+ prompt
+ 4
+ false
+
+
+ true
+ prompt
+ 4
+ false
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build-tools/create-pkg/create-pkg.targets b/build-tools/create-pkg/create-pkg.targets
new file mode 100644
index 00000000000..44ec2b4320a
--- /dev/null
+++ b/build-tools/create-pkg/create-pkg.targets
@@ -0,0 +1,137 @@
+
+
+
+
+ ResolveReferences
+
+
+ /
+ /usr
+ $(OutputPath)\pkg\archive
+ $(OutputPath)\pkg\packages
+ $(OutputPath)\pkg\resources
+ $(OutputPath)\pkg\distribution.xml
+ $(XamarinAndroidSourcePath)\LICENSE
+ $(PkgResourcesPath)\en.lproj
+ $(MSBuildThisFileDirectory)scripts
+ d1ec039f-f3db-468b-a508-896d7c382999
+
+
+
+ $(PayloadDir)\Library\Frameworks\Xamarin.Android.framework\Versions\$(XAVersion)
+ $(PayloadDir)\Library\Frameworks\Mono.framework\External
+ $(XAFrameworkDir)\lib\xamarin.android\xbuild\Xamarin\Android
+ $(XAFrameworkDir)\lib\xamarin.android\xbuild-frameworks\MonoAndroid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(OutputPath)Xamarin.Android.Sdk-$(XAOSSInstallerSuffix).pkg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-tools/create-pkg/distribution.xml.in b/build-tools/create-pkg/distribution.xml.in
new file mode 100644
index 00000000000..ba991611e99
--- /dev/null
+++ b/build-tools/create-pkg/distribution.xml.in
@@ -0,0 +1,18 @@
+
+
+
+ @PACKAGE_TITLE@
+
+
+
+
+
+
+
+
+
+
+
+
+ #xamarin.android.pkg
+
\ No newline at end of file
diff --git a/build-tools/create-pkg/scripts/preinstall b/build-tools/create-pkg/scripts/preinstall
new file mode 100755
index 00000000000..50ec12e9fb8
--- /dev/null
+++ b/build-tools/create-pkg/scripts/preinstall
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+INSTALLATION_ROOT=/Library/Frameworks/Xamarin.Android.framework/Versions
+PREVIOUS_VERSION=$(readlink "$INSTALLATION_ROOT/Current")
+PREVIOUS_VERSION_PATH="$INSTALLATION_ROOT/$PREVIOUS_VERSION"
+
+# Ensure previously installed version is removed.
+if [ -d "$PREVIOUS_VERSION_PATH" ]; then
+ rm -rf "$PREVIOUS_VERSION_PATH"
+fi
+
diff --git a/build-tools/create-vsix/create-vsix.csproj b/build-tools/create-vsix/create-vsix.csproj
index f54869e1e14..135b15bab6d 100644
--- a/build-tools/create-vsix/create-vsix.csproj
+++ b/build-tools/create-vsix/create-vsix.csproj
@@ -27,7 +27,6 @@
-
diff --git a/build-tools/create-vsix/create-vsix.targets b/build-tools/create-vsix/create-vsix.targets
index cb4b25838b3..f056d7e7cb7 100644
--- a/build-tools/create-vsix/create-vsix.targets
+++ b/build-tools/create-vsix/create-vsix.targets
@@ -1,7 +1,6 @@
-
-
+
False
@@ -9,7 +8,6 @@
$(PrepareForBuildDependsOn);
AddContent
- ..\..\bin\$(Configuration)\lib\xamarin.android\
@@ -28,107 +26,35 @@
-
-
-
-
- <_FirstFrameworkFile Include="Mono.Android.Export.dll" />
- <_FirstFrameworkFile Include="Mono.Android.Export.pdb" />
- <_FirstFrameworkFile Include="OpenTK-1.0.dll" />
- <_FirstFrameworkFile Include="OpenTK-1.0.pdb" />
- <_FirstFrameworkFile Include="OpenTK-1.0.xml" />
- <_FirstFrameworkFile Include="OpenTK.dll" />
- <_FirstFrameworkFile Include="OpenTK.pdb" />
- <_FirstFrameworkFile Include="OpenTK.xml" />
-
-
-
-
- Novell/%(RecursiveDir)
-
-
-
- Xamarin/%(RecursiveDir)
+
+ Microsoft/Framework/MonoAndroid/$([System.IO.Path]::GetDirectoryName(%(RelativePath)))
+
+
+ Xamarin/Android/$([System.IO.Path]::GetDirectoryName(%(RelativePath)))
-
-
-
-
-
-
-
-
-
- Xamarin/%(RecursiveDir)
+
+ Xamarin/
-
- Xamarin/Android/%(RecursiveDir)
+
+ Novell/
-
- Xamarin/Android/
+
+ Xamarin/Android/
-
-
-
-
-
-
-
-
-
-
-
- Microsoft/Framework/MonoAndroid/$(AndroidFirstFrameworkVersion)/
-
-
-
-
- Microsoft/Framework/%(RecursiveDir)
-
-
+
/
-
-
- <_MSBuildFilesWithoutExtension
- Condition=" '%(Extension)' == '' "
- Include="@(MSBuild)"
- />
-
- <_ReferenceFilesWithoutExtension
- Condition=" '%(Extension)' == '' "
- Include="@(ReferenceAssemblies)"
- />
-
-
-
-
- $(ProductVersion).$(XAVersionCommitCount)
-
-
@@ -160,11 +86,7 @@
- <_Branch>$(XAVersionBranch.Replace ('/', '-'))
- <_Branch>$(_Branch.Replace ('\', '-'))
-
-
- ..\..\bin\Build$(Configuration)\$(AssemblyName)-OSS-$(ProductVersion).$(XAVersionCommitCount)_$(_Branch)_$(XAVersionHash).vsix
+ ..\..\bin\Build$(Configuration)\$(AssemblyName)-$(XAOSSInstallerSuffix).vsix
<_VsixDir>$([System.IO.Path]::GetDirectoryName ($(VsixPath)))
diff --git a/build-tools/create-vsix/source.extension.vsixmanifest b/build-tools/create-vsix/source.extension.vsixmanifest
index df45800015b..55ef239997c 100644
--- a/build-tools/create-vsix/source.extension.vsixmanifest
+++ b/build-tools/create-vsix/source.extension.vsixmanifest
@@ -1,7 +1,7 @@
-
+
Xamarin.Android SDK
Xamarin.Android SDK
Resources\AndroidSdkPackage.ico
diff --git a/build-tools/installers/create-installers.targets b/build-tools/installers/create-installers.targets
new file mode 100644
index 00000000000..041bc0ae387
--- /dev/null
+++ b/build-tools/installers/create-installers.targets
@@ -0,0 +1,308 @@
+
+
+
+
+
+
+
+ $(XamarinAndroidSourcePath)\bin\$(Configuration)\
+ $(RootBuildDir)\lib\xamarin.android\xbuild-frameworks\MonoAndroid
+ $(RootBuildDir)\lib\xamarin.android\xbuild\Xamarin\Android
+ $(XamarinAndroidSourcePath)\src\Xamarin.Android.Build.Tasks\MSBuild\Xamarin\Android
+ $(AndroidFirstFrameworkVersion)
+ $(AndroidLatestStableFrameworkVersion)
+ v1.0
+ dylib
+ so
+ dll
+ True
+
+
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\Mono.Android.Export.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\Mono.Android.Export.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\OpenTK-1.0.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\OpenTK-1.0.pdb" />
+ <_FrameworkFiles Include="@(MonoFacadeAssembly->'$(FrameworkSrcDir)\$(BclFrameworkVersion)\Facades\%(Identity)')" />
+ <_FrameworkFiles Include="@(MonoProfileAssembly->'$(FrameworkSrcDir)\$(BclFrameworkVersion)\%(Identity)')" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Java.Interop.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Mono.Data.Sqlite.dll.config" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Mono.Posix.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\System.EnterpriseServices.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Xamarin.Android.NUnitLite.dll" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\OpenTK-1.0.xml" />
+
+
+
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v4.4.87\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v4.4.87\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v4.4.87\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v4.4.87\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v4.4.87\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v4.4.87\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.0\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.0\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.0\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.0\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.0\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.0\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.1\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.1\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.1\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.1\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.1\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v5.1\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v6.0\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v6.0\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v6.0\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v6.0\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v6.0\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v6.0\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.0\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.0\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.0\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.0\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.0\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.0\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.1\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.1\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.1\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.1\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.1\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v7.1\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.0\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.0\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.0\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.0\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.0\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.0\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.1\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.1\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.1\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.1\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.1\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\v8.1\RedistList\FrameworkList.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(AndroidLatestFrameworkVersion)\AndroidApiInfo.xml" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(AndroidLatestFrameworkVersion)\mono.android.dex" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(AndroidLatestFrameworkVersion)\Mono.Android.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(AndroidLatestFrameworkVersion)\mono.android.jar" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(AndroidLatestFrameworkVersion)\Mono.Android.pdb" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(AndroidLatestFrameworkVersion)\RedistList\FrameworkList.xml" />
+
+
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\android-support-multidex.jar" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\cil-strip.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\class-parse.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\desugar_deploy.jar" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\FSharp.Compiler.CodeDom.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\FSharp.Core.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\generator.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\HtmlAgilityPack.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\illinkanalyzer.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Irony.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\javadoc-to-mdoc.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.dll.config" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.Export.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.Tools.Cecil.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.Tools.Diagnostics.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Interop.Tools.JavaCallableWrappers.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Runtime.Environment.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Java.Runtime.Environment.dll.config" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\jcw-gen.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\jnimarshalmethod-gen.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\LayoutBinding.cs" />
+ <_MSBuildFiles Include="@(AndroidSupportedTargetJitAbi->'$(MSBuildSrcDir)\lib\%(Identity)\libmono-android.debug.so')" />
+ <_MSBuildFiles Include="@(AndroidSupportedTargetJitAbi->'$(MSBuildSrcDir)\lib\%(Identity)\libmono-android.release.so')" />
+ <_MSBuildFiles Include="@(AndroidSupportedTargetJitAbi->'$(MSBuildSrcDir)\lib\%(Identity)\libmono-btls-shared.so')" />
+ <_MSBuildFiles Include="@(AndroidSupportedTargetJitAbi->'$(MSBuildSrcDir)\lib\%(Identity)\libmono-profiler-aot.so')" />
+ <_MSBuildFiles Include="@(AndroidSupportedTargetJitAbi->'$(MSBuildSrcDir)\lib\%(Identity)\libmono-profiler-log.so')" />
+ <_MSBuildFiles Include="@(AndroidSupportedTargetJitAbi->'$(MSBuildSrcDir)\lib\%(Identity)\libMonoPosixHelper.so')" />
+ <_MSBuildFiles Include="@(AndroidSupportedTargetJitAbi->'$(MSBuildSrcDir)\lib\%(Identity)\libmonosgen-2.0.so')" />
+ <_MSBuildFiles Include="@(AndroidSupportedTargetJitAbi->'$(MSBuildSrcDir)\lib\%(Identity)\libsqlite3_xamarin.so')" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\libZipSharp.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\libZipSharp.dll.config" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\logcat-parse.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\mdoc.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\mkbundle.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\mkbundle-api.h" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\mono-symbolicate.exe" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.CSharp.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.Options.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.Terminal.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\monodoc.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\MULTIDEX_JAR_LICENSE" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\proguard\lib\proguard.jar"/>
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\proguard\license.html" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\r8.jar" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\SgmlReaderDll.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Analysis.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Bindings.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Build.Tasks.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.BuildInfo.txt" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Cecil.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Cecil.Mdb.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Common.props" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Common.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.CSharp.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.D8.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Designer.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.FSharp.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.PCLSupport.props" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.PCLSupport.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.SkipCases.projitems" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Tools.Aidl.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Tools.AndroidSdk.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Tools.AnnotationSupport.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Tools.ApiXmlAdjuster.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Tools.Bytecode.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Tools.JavaDocImporter.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.VisualBasic.targets" />
+
+
+ <_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.Bindings.After.targets" />
+ <_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.Bindings.Before.targets" />
+ <_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.Common\ImportAfter\Microsoft.Cpp.Android.targets" />
+ <_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.Common.After.targets" />
+ <_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.Common.Before.targets" />
+ <_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.DefaultOutputPaths.targets" />
+
+
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\jit-times.exe" />
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\libzip.dll" />
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\x64\libzip.dll" />
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\proguard\bin\proguard.bat" />
+ <_MSBuildLibHostFilesWin Include="$(MSBuildSrcDir)\lib\host-mxe-Win64\libmono-android.debug.dll" />
+ <_MSBuildLibHostFilesWin Include="$(MSBuildSrcDir)\lib\host-mxe-Win64\libmono-android.release.dll" />
+ <_MSBuildLibHostFilesWin Include="$(MSBuildSrcDir)\lib\host-mxe-Win64\libMonoPosixHelper.dll" />
+ <_MSBuildLibHostFilesWin Include="$(MSBuildSrcDir)\lib\host-mxe-Win64\libmonosgen-2.0.dll" />
+
+
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\illinkanalyzer" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\jit-times" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\mono" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\mono-symbolicate" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\lib\host-$(HostOS)\libmono-android.debug.$(LibExtension)" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\lib\host-$(HostOS)\libmono-android.release.$(LibExtension)" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\lib\host-$(HostOS)\libmono-profiler-aot.$(LibExtension)" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\lib\host-$(HostOS)\libmono-profiler-log.$(LibExtension)" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\lib\host-$(HostOS)\libMonoPosixHelper.$(LibExtension)" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\lib\host-$(HostOS)\libmonosgen-2.0.$(LibExtension)" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\libzip.5.0.$(LibExtension)" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\proguard\bin\proguard.sh" />
+
+
+
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\cross-arm.exe" />
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\cross-arm64.exe" />
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\cross-x86.exe" />
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\cross-x86_64.exe" />
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\llc.exe" />
+ <_MSBuildFilesWin Include="$(MSBuildSrcDir)\opt.exe" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\cross-arm" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\cross-arm64" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\cross-x86" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\cross-x86_64" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\llc" />
+ <_MSBuildFilesUnix Include="$(MSBuildSrcDir)\$(HostOS)\opt" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\OpenTK.dll" />
+ <_FrameworkFiles Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\OpenTK.pdb" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\OpenTK.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\$(FirstInstallerFrameworkVersion)\Mono.Android.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\v4.4.87\Mono.Android.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\v5.0\Mono.Android.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\v5.1\Mono.Android.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\v6.0\Mono.Android.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\v7.0\Mono.Android.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\v7.1\Mono.Android.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\v8.0\Mono.Android.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\v8.1\Mono.Android.xml" />
+ <_FrameworkFilesWin Include="$(FrameworkSrcDir)\$(AndroidLatestFrameworkVersion)\Mono.Android.xml" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\ICSharpCode.SharpZipLib.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\INIFileParser.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\jar2xml.jar" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.AndroidTools.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.Android.DebugRuntime-arm64-v8a.apk" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.Android.DebugRuntime-armeabi-v7a.apk" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.Android.DebugRuntime-debug.apk" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.Android.DebugRuntime-debug.xml" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.Android.DebugRuntime-x86.apk" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Mono.Android.DebugRuntime-x86_64.apk" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Analysis.Compatibility.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Analysis.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Analysis.Tasks.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Build.Debugging.Tasks.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Common.Debugging.props" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Common.Debugging.targets" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Android.Tools.ResourceProcessors.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.AndroidTools.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Installer.AndroidSDK.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Installer.Build.Tasks.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Installer.Common.dll" />
+ <_MSBuildFiles Include="$(MSBuildSrcDir)\Xamarin.Installer.Common.targets" />
+
+
+
+
+
+
+
+
+
+ $([MSBuild]::MakeRelative($(FrameworkSrcDir), %(FullPath)))
+
+
+ $([MSBuild]::MakeRelative($(FrameworkSrcDir), %(FullPath)))
+
+
+ $([MSBuild]::MakeRelative($(MSBuildSrcDir), %(FullPath)))
+
+
+ $([MSBuild]::MakeRelative($(MSBuildTargetsSrcDir), %(FullPath)))
+
+
+ %(Filename)%(Extension)
+
+
+ $([MSBuild]::MakeRelative($(MSBuildSrcDir), %(FullPath)))
+
+
+ $([MSBuild]::MakeRelative($(MSBuildTargetsSrcDir), %(FullPath)))
+
+
+
+
+
+ $(ProductVersion).$(XAVersionCommitCount)
+ <_Branch>$(XAVersionBranch.Replace ('/', '-'))
+ <_Branch>$(_Branch.Replace ('\', '-'))
+ OSS-$(ProductVersion).$(XAVersionCommitCount)_$(_Branch)_$(XAVersionHash)
+
+
+
diff --git a/build-tools/scripts/Packaging.mk b/build-tools/scripts/Packaging.mk
index 863c9924e1e..7bd95f2692f 100644
--- a/build-tools/scripts/Packaging.mk
+++ b/build-tools/scripts/Packaging.mk
@@ -6,6 +6,17 @@ _BUNDLE_ZIPS_INCLUDE = \
_BUNDLE_ZIPS_EXCLUDE = \
$(ZIP_OUTPUT_BASENAME)/bin/*/bundle-*.zip
+create-installers: create-pkg create-vsix
+
+create-pkg:
+ MONO_IOMAP=all MONO_OPTIONS="$(MONO_OPTIONS)" $(call MSBUILD_BINLOG,create-pkg) /p:Configuration=$(CONFIGURATION) /t:CreatePkg \
+ build-tools/create-pkg/create-pkg.csproj \
+ $(if $(PACKAGE_VERSION),/p:ProductVersion="$(PACKAGE_VERSION)") \
+ $(if $(PACKAGE_VERSION_REV),/p:XAVersionCommitCount="$(PACKAGE_VERSION_REV)") \
+ $(if $(PKG_LICENSE_EN),/p:PkgLicenseSrcEn="$(PKG_LICENSE_EN)") \
+ $(if $(PKG_OUTPUT_PATH),/p:PkgProductOutputPath="$(PKG_OUTPUT_PATH)") \
+ $(if $(_MSBUILD_ARGS),"$(_MSBUILD_ARGS)")
+
create-vsix:
MONO_IOMAP=all MONO_OPTIONS="$(MONO_OPTIONS)" $(call MSBUILD_BINLOG,create-vsix) /p:Configuration=$(CONFIGURATION) /p:CreateVsixContainer=True \
build-tools/create-vsix/create-vsix.csproj \
@@ -16,7 +27,8 @@ create-vsix:
$(if $(REPO_NAME),/p:XARepositoryName="$(REPO_NAME)") \
$(if $(PACKAGE_HEAD_BRANCH),/p:XAVersionBranch="$(PACKAGE_HEAD_BRANCH)") \
$(if $(PACKAGE_VERSION_REV),/p:XAVersionCommitCount="$(PACKAGE_VERSION_REV)") \
- $(if $(COMMIT),/p:XAVersionHash="$(COMMIT)")
+ $(if $(COMMIT),/p:XAVersionHash="$(COMMIT)") \
+ $(if $(_MSBUILD_ARGS),"$(_MSBUILD_ARGS)")
package-oss-name:
@echo ZIP_OUTPUT=$(ZIP_OUTPUT)