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)