Skip to content

Commit

Permalink
csproj: Simplify setup
Browse files Browse the repository at this point in the history
AWindow gets special treatment as C# autogen glue code is not yet nullable compliant.
Tests also (no need for XML doc checks)
  • Loading branch information
mfkl committed Dec 21, 2020
1 parent b82ad0b commit 477fa57
Show file tree
Hide file tree
Showing 13 changed files with 37 additions and 177 deletions.
21 changes: 21 additions & 0 deletions src/Directory.Build.props
Expand Up @@ -18,7 +18,28 @@
<DefineConstants>$(DefineConstants);UWP10_0</DefineConstants>
</PropertyGroup>
<PropertyGroup>
<NeutralLanguage>en</NeutralLanguage>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<VersionPrefix>3.4.9</VersionPrefix>
<VersionSuffix></VersionSuffix>
<PackageTags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</PackageTags>
</PropertyGroup>
<ItemGroup>
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
</Project>
5 changes: 5 additions & 0 deletions src/LibVLCSharp.Android.AWindow/Directory.build.props
@@ -0,0 +1,5 @@
<Project>
<PropertyGroup>
<Nullable>disable</Nullable>
</PropertyGroup>
</Project>
19 changes: 1 addition & 18 deletions src/LibVLCSharp.Avalonia/LibVLCSharp.Avalonia.csproj
Expand Up @@ -14,30 +14,13 @@ LibVLC needs to be installed separately, see VideoLAN.LibVLC.* packages.
</Description>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>LibVLCSharp.Avalonia</RootNamespace>
<LangVersion>8.0</LangVersion>
<PackageId>LibVLCSharp.Avalonia</PackageId>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<Nullable>enable</Nullable>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<PackageTags>libvlc;vlc;videolan;video;audio;player;media;mediaplayer;avalonia;linux;macos;windows;cross-platform</PackageTags>
<PackageTags>$(PackageTags);avalonia</PackageTags>
<VersionSuffix>alpha01</VersionSuffix>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Avalonia" Version="0.10.0-preview5" />
<ProjectReference Include="..\LibVLCSharp\LibVLCSharp.csproj" />
<PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
</Project>
Expand Up @@ -10,31 +10,15 @@ Xamarin.Forms support for other platforms are in different packages (namely LibV
</Description>
<TargetFramework>net47</TargetFramework>
<RootNamespace>LibVLCSharp.Forms.Platforms.GTK</RootNamespace>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<PackageId>LibVLCSharp.Forms.GTK</PackageId>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<PackageTags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</PackageTags>
<PackageTags>$(PackageTags);gtk</PackageTags>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Xamarin.Forms.Platform.GTK" Version="3.2.0.871581" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LibVLCSharp.Forms\LibVLCSharp.Forms.csproj" />
<ProjectReference Include="..\LibVLCSharp.GTK\LibVLCSharp.GTK.csproj" />
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<Reference Include="gdk-sharp">
Expand Down
Expand Up @@ -10,28 +10,10 @@ Xamarin.Forms support for other platforms are in different packages (namely LibV
</Description>
<TargetFramework>net47</TargetFramework>
<RootNamespace>LibVLCSharp.Forms.Platforms.WPF</RootNamespace>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<PackageId>LibVLCSharp.Forms.WPF</PackageId>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<PackageTags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</PackageTags>
<UseWPF>true</UseWPF>
<PackageTags>$(PackageTags);wpf</PackageTags>
</PropertyGroup>
<ItemGroup>
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
Expand Down
20 changes: 1 addition & 19 deletions src/LibVLCSharp.Forms/LibVLCSharp.Forms.csproj
Expand Up @@ -14,22 +14,7 @@ Xamarin.Forms support for GTK and WPF are in separate packages. LibVLC needs to
<TargetFrameworks>netstandard2.0</TargetFrameworks>
<TargetFrameworks Condition="!$([MSBuild]::IsOsPlatform('Linux'))">$(TargetFrameworks);MonoAndroid81;Xamarin.iOS10;Xamarin.Mac20</TargetFrameworks>
<RootNamespace>LibVLCSharp.Forms</RootNamespace>
<NeutralLanguage>en</NeutralLanguage>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<PackageId>LibVLCSharp.Forms</PackageId>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<PackageTags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</PackageTags>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Xamarin.Forms" Version="3.2.0.871581" />
Expand All @@ -40,10 +25,7 @@ Xamarin.Forms support for GTK and WPF are in separate packages. LibVLC needs to
<ItemGroup>
<Compile Remove="Platforms\**\*.cs" />
<None Include="Platforms\**\*.cs" />
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>

</ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('MonoAndroid')) ">
<Compile Include="Platforms\Android\**\*.cs" />
Expand Down
21 changes: 1 addition & 20 deletions src/LibVLCSharp.GTK/LibVLCSharp.GTK.csproj
Expand Up @@ -14,28 +14,9 @@ LibVLC needs to be installed separately, see VideoLAN.LibVLC.* packages.
</Description>
<TargetFramework>net47</TargetFramework>
<RootNamespace>LibVLCSharp.GTK</RootNamespace>
<Nullable>enable</Nullable>
<LangVersion>8.0</LangVersion>
<PackageId>LibVLCSharp.GTK</PackageId>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<PackageTags>libvlc;vlc;videolan;video;audio;player;media;mediaplayer;gtk-sharp;linux;windows;cross-platform</PackageTags>
<PackageTags>$(PackageTags);gtk-sharp</PackageTags>
</PropertyGroup>
<ItemGroup>
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<Reference Include="gdk-sharp">
<HintPath Condition="$([MSBuild]::IsOsPlatform('Windows'))">C:\Program Files (x86)\GtkSharp\2.12\lib\gtk-sharp-2.0\gdk-sharp.dll</HintPath>
Expand Down
4 changes: 2 additions & 2 deletions src/LibVLCSharp.Tests/LibVLCSharp.Tests.csproj
Expand Up @@ -3,8 +3,8 @@
<TargetFramework>netcoreapp3.1</TargetFramework>
<OutputType>Exe</OutputType>
<GenerateProgramFile>false</GenerateProgramFile>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<Nullable>disable</Nullable>
<NoWarn>1591</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net47|AnyCPU'">
<DebugType>full</DebugType>
Expand Down
3 changes: 0 additions & 3 deletions src/LibVLCSharp.Tests/LibVLCTests.cs
Expand Up @@ -85,11 +85,8 @@ public void Categories()
[Test]
public void SetExitHandler()
{
var called = false;

var exitCb = new ExitCallback(() =>
{
called = true;
});

_libVLC.SetExitHandler(exitCb);
Expand Down
19 changes: 1 addition & 18 deletions src/LibVLCSharp.Uno/LibVLCSharp.Uno.csproj
Expand Up @@ -3,36 +3,19 @@
<PropertyGroup>
<Title>LibVLCSharp.Uno</Title>
<Summary>Uno integration for LibVLCSharp</Summary>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<TargetFrameworks>Xamarin.iOS10;MonoAndroid81</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOsPlatform('Windows'))">$(TargetFrameworks);uap10.0.16299</TargetFrameworks>
<GenerateLibraryLayout>true</GenerateLibraryLayout>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<Description>LibVLCSharp.Uno is the integration of LibVLCSharp with the Uno Platform on Windows, iOS and Android.

It also contains a VLC MediaPlayerElement for the Uno Platform (UWP, Android, iOS)</Description>
<PackageTags>libvlc;vlc;videolan;video;audio;player;media;mediaplayer;mediaelement;mediaplayerelement;codec;ffmpeg;graphics;ios;android;windows;cross-platform;uno</PackageTags>
<PackageTags>$(PackageTags);uno</PackageTags>
<RootNamespace>LibVLCSharp.Uno</RootNamespace>
<PackageId>LibVLCSharp.Uno</PackageId>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Page Include="**\*.xaml" Exclude="bin\**\*.xaml;obj\**\*.xaml" />
<PRIResource Include="Strings\**\*.resw" />
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
<Compile Update="**\*.xaml.cs">
<DependentUpon>%(Filename)</DependentUpon>
</Compile>
Expand Down
24 changes: 2 additions & 22 deletions src/LibVLCSharp.WPF/LibVLCSharp.WPF.csproj
Expand Up @@ -13,31 +13,11 @@ LibVLC needs to be installed separately, see VideoLAN.LibVLC.* packages.
</Description>
<TargetFrameworks>net461;netcoreapp3.0</TargetFrameworks>
<RootNamespace>LibVLCSharp.WPF</RootNamespace>
<NeutralLanguage>en</NeutralLanguage>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<PackageId>LibVLCSharp.WPF</PackageId>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<PackageTags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</PackageTags>
<UseWindowsForms>true</UseWindowsForms>
<PackageTags>$(PackageTags);wpf</PackageTags>
</PropertyGroup>
<ItemGroup>
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LibVLCSharp\LibVLCSharp.csproj" />
</ItemGroup>
Expand Down
21 changes: 1 addition & 20 deletions src/LibVLCSharp.WinForms/LibVLCSharp.WinForms.csproj
Expand Up @@ -14,28 +14,9 @@ LibVLC needs to be installed separately, see VideoLAN.LibVLC.* packages.
<TargetFrameworks>net40;netcoreapp3.0</TargetFrameworks>
<UseWindowsForms>true</UseWindowsForms>
<RootNamespace>LibVLCSharp.WinForms</RootNamespace>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<PackageId>LibVLCSharp.WinForms</PackageId>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<PackageTags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</PackageTags>
<PackageTags>$(PackageTags);winforms</PackageTags>
</PropertyGroup>
<ItemGroup>
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LibVLCSharp\LibVLCSharp.csproj" />
</ItemGroup>
Expand Down
19 changes: 0 additions & 19 deletions src/LibVLCSharp/LibVLCSharp.csproj
Expand Up @@ -33,22 +33,7 @@ LibVLC needs to be installed separately, see VideoLAN.LibVLC.* packages.</Descri
<TargetFrameworks Condition="$([MSBuild]::IsOsPlatform('Windows'))">$(TargetFrameworks);uap10.0;uap10.0.16299;net40;net471</TargetFrameworks>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);IncludeAWindow</TargetsForTfmSpecificBuildOutput>
<RootNamespace>LibVLCSharp</RootNamespace>
<NeutralLanguage>en</NeutralLanguage>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<PackageId>LibVLCSharp</PackageId>
<Authors>VideoLAN</Authors>
<Owners>VideoLAN</Owners>
<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
<PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
<PackageIcon>icon.png</PackageIcon>
<PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
<PackageTags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</PackageTags>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>$(NoWarn);NU5128</NoWarn>
</PropertyGroup>
Expand All @@ -58,10 +43,6 @@ LibVLC needs to be installed separately, see VideoLAN.LibVLC.* packages.</Descri
<ItemGroup>
<Compile Remove="Platforms\**\*.cs" />
<None Include="Platforms\**\*.cs" />
<None Include="..\assets\icon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('MonoAndroid'))">
<Compile Include="Platforms\Android\**\*.cs" />
Expand Down

0 comments on commit 477fa57

Please sign in to comment.