Skip to content

Remove glob use from create-vsix.csproj #2686

@jonpryor

Description

@jonpryor

Consider the Visual Studio 2019 Preview 3 Xamarin.Android.Sdk.*.vsix contents. It includes:

$ unzip -l Xamarin.Android.Sdk.9.1.103.12.vsix | grep Microsoft.Build.Tasks.Core.resources.dll
   142336  01-25-2019 17:28   $MSBuild/Xamarin/Android/cs/Microsoft.Build.Tasks.Core.resources.dll
   147456  01-25-2019 17:28   $MSBuild/Xamarin/Android/de/Microsoft.Build.Tasks.Core.resources.dll
   134144  01-25-2019 17:28   $MSBuild/Xamarin/Android/en/Microsoft.Build.Tasks.Core.resources.dll
   144384  01-25-2019 17:28   $MSBuild/Xamarin/Android/es/Microsoft.Build.Tasks.Core.resources.dll
   147456  01-25-2019 17:28   $MSBuild/Xamarin/Android/fr/Microsoft.Build.Tasks.Core.resources.dll
   145408  01-25-2019 17:28   $MSBuild/Xamarin/Android/it/Microsoft.Build.Tasks.Core.resources.dll
   163840  01-25-2019 17:28   $MSBuild/Xamarin/Android/ja/Microsoft.Build.Tasks.Core.resources.dll
   150528  01-25-2019 17:28   $MSBuild/Xamarin/Android/ko/Microsoft.Build.Tasks.Core.resources.dll
   147968  01-25-2019 17:28   $MSBuild/Xamarin/Android/pl/Microsoft.Build.Tasks.Core.resources.dll
   142848  01-25-2019 17:28   $MSBuild/Xamarin/Android/pt-BR/Microsoft.Build.Tasks.Core.resources.dll
   185344  01-25-2019 17:28   $MSBuild/Xamarin/Android/ru/Microsoft.Build.Tasks.Core.resources.dll
   141312  01-25-2019 17:28   $MSBuild/Xamarin/Android/tr/Microsoft.Build.Tasks.Core.resources.dll
   130048  01-25-2019 17:28   $MSBuild/Xamarin/Android/zh-Hans/Microsoft.Build.Tasks.Core.resources.dll
   128000  01-25-2019 17:28   $MSBuild/Xamarin/Android/zh-Hant/Microsoft.Build.Tasks.Core.resources.dll

This is bonkers.

The cause is because build-tools/create-vsix just "slurps up" everything in the installation directory: https://github.com/xamarin/xamarin-android/blob/32cbc8df40b971b76e7b9fe2e1dfcf637f2a5971/build-tools/create-vsix/create-vsix.targets#L51

In retrospect, this might not have been the best idea. :-/

We need to "improve" things so that instead of grabbing everything, create-vsix.csproj instead includes a specific list of files, so that we don't inadvertently copy "garbage" into the installer.

Bonus: we need a macOS .pkg installer for the OSS repo, too. It should use the same infrastructure. :-D

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions