From 373712a22074c9cec3461dc5322300ccfc229ef7 Mon Sep 17 00:00:00 2001 From: Doug Bunting <6431421+dougbu@users.noreply.github.com> Date: Thu, 29 Jul 2021 15:23:44 -0700 Subject: [PATCH] Get local builds working (#7) * Get local builds working - no solution file or build scripts but `dotnet pack` does the trick - last part of #32027 unless we need Arcade or a CI build urgently Main work was to add a few missing files and modify them for this environment - mostly copied from dotnet/aspnetcore - Directory.Build.props and Directory.Build.targets created from scratch - some content copied from dotnet/arcade and dotnet/aspnetcore - NuGet.config and eng/Versions.props copied but pared down (a lot) to mandatory bits for an isolated build - new eng/ files mostly came from src/ProjectTemplates/ in dotnet/aspnetcore - eng/DotNetPackageIcon.png came from src/Microsoft.DotNet.Arcade.Sdk/tools/Assets/ in dotnet/arcade - eng/Packaging.targets copied from src/Microsoft.DotNet.Arcade.Sdk/tools/Workarounds.targets in dotnet/arcade nits: - fix whitespace Directory.Build.targets target added to `$(Description)` - fix typo in the `_AppendRepositoryUrlToPackageDescription` target name - remove src/.gitignore and move content into new root .gitignore file - remove SECURITY.md trailing whitespace --- .gitattributes | 68 +++++++++++ .gitignore | 30 +++++ Directory.Build.props | 32 +++++ Directory.Build.targets | 39 ++++++ NuGet.config | 13 ++ SECURITY.md | 15 +++ eng/DotNetPackageIcon.png | Bin 0 -> 7006 bytes eng/GenerateContent.targets | 36 ++++++ eng/Packaging.targets | 115 ++++++++++++++++++ eng/TemplateProjects.props | 23 ++++ eng/Versions.props | 28 +++++ eng/templates.nuspec | 17 +++ src/.gitignore | 3 - ...oft.DotNet.Web.Spa.ProjectTemplates.csproj | 44 ++++--- 14 files changed, 445 insertions(+), 18 deletions(-) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Directory.Build.props create mode 100644 Directory.Build.targets create mode 100644 NuGet.config create mode 100644 SECURITY.md create mode 100644 eng/DotNetPackageIcon.png create mode 100644 eng/GenerateContent.targets create mode 100644 eng/Packaging.targets create mode 100644 eng/TemplateProjects.props create mode 100644 eng/Versions.props create mode 100644 eng/templates.nuspec delete mode 100644 src/.gitignore diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..ebc27b8 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,68 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Make sh files under the build directory always have LF as line endings +############################################################################### +*.sh eol=lf + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..740806c --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +bin/ +obj/ +.vs/ +*.suo +*.user +_ReSharper.* +*.DS_Store +*.userprefs +*.pidb +*.vspx +*.psess +*.binlog +*.log +artifacts/ +StyleCop.Cache +node_modules/ +*.snk +.nuget +.r +.w +.deps +.env +.dotnet/ +.tools/ +launchSettings.json +.gradle/ + +# These files are generated by the build. +src/content/**/*.*proj +src/content/**/*.sln diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..22a9c3c --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,32 @@ + + + + + + + https://github.com/dotnet/spa-templates + + + $(MSBuildProjectDirectory) + + MIT + https://asp.net + git + + + Microsoft + © Microsoft Corporation. All rights reserved. + false + Icon.png + $(MSBuildThisFileDirectory)eng/DotNetPackageIcon.png + true + true + + + + + + diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 0000000..8ab837d --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,39 @@ + + + + + + + + $(Version) + + $(Description) + +To install the templates in this package, run 'dotnet new --install $(PackageId)::$(PackageVersion)'. + + + + + + + + + + + + diff --git a/NuGet.config b/NuGet.config new file mode 100644 index 0000000..4b7216e --- /dev/null +++ b/NuGet.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..9d87fc8 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,15 @@ +# Security Policy + +## Supported Versions + +The .NET Core and ASP.NET Core support policy, including supported versions can be found at the [.NET Core Support Policy Page](https://dotnet.microsoft.com/platform/support/policy/dotnet-core). + +## Reporting a Vulnerability + +Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) through https://msrc.microsoft.com or by emailing secure@microsoft.com. +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your +original message. Further information, including the MSRC PGP key, can be found in the [MSRC Report an Issue FAQ](https://www.microsoft.com/en-us/msrc/faqs-report-an-issue). + +Reports via MSRC may qualify for the .NET Core Bug Bounty. Details of the .NET Core Bug Bounty including terms and conditions are at [https://aka.ms/corebounty](https://aka.ms/corebounty). + +Please do not open issues for anything you think might have a security implication. diff --git a/eng/DotNetPackageIcon.png b/eng/DotNetPackageIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c GIT binary patch literal 7006 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 literal 0 HcmV?d00001 diff --git a/eng/GenerateContent.targets b/eng/GenerateContent.targets new file mode 100644 index 0000000..8a45413 --- /dev/null +++ b/eng/GenerateContent.targets @@ -0,0 +1,36 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + <_GenerateContentPropertiesHashFile>$(IntermediateOutputPath)$(MSBuildProjectName).content.g.cache + + + + + + + + + + + + + + + + + + + + diff --git a/eng/Packaging.targets b/eng/Packaging.targets new file mode 100644 index 0000000..a6f2171 --- /dev/null +++ b/eng/Packaging.targets @@ -0,0 +1,115 @@ + + + + + + $(NuspecPackageId) + $(RepositoryUrl) + + + + + + + + + + + <_LicenseElement/> + <_LicenseElement Condition="'$(PackageLicenseExpression)' != ''"> + $(PackageLicenseExpression) + + <_LicenseElement Condition="'$(PackageLicenseFile)' != ''"> + $(PackageLicenseFile) + + + <_TagsElement/> + <_TagsElement Condition="'$(PackageTags)' != ''"> + $(PackageTags.Replace(';', ' ')) + + + <_IconUrlElement/> + <_IconUrlElement Condition="'$(PackageIcon)' == '' and '$(PackageIconUrl)' != ''"> + $(PackageIconUrl) + + + <_IconElement/> + <_IconElement Condition="'$(PackageIcon)' != ''"> + $(PackageIcon) + + + <_IconFileElement/> + <_IconFileElement Condition="'$(PackageIcon)' != ''"> + + + + <_ReleaseNotesElement/> + <_ReleaseNotesElement Condition="'$(PackageReleaseNotes)' != ''"> + $(PackageReleaseNotes) + + + <_CommonMetadataElements> + $(PackageId) + $(PackageDescription) + $(PackageVersion) + $(Authors) + $(PackageRequireLicenseAcceptance) + $(_TagsElement) + $(_LicenseElement) + $(_IconElement) + $(_IconUrlElement) + $(_ReleaseNotesElement) + $(PackageProjectUrl) + $(Copyright) + $(DevelopmentDependency) + $(Serviceable) + + + + <_CommonFileElements> + $(_IconFileElement) + + + + + + + + + + + + @(NuspecProperty, ';') + + + + + + + + $(PrivateRepositoryUrl) + $(SourceRevisionId) + + + + + + + $(PackageDescription) + +This package was built from the source code at $(RepositoryUrl)/tree/$(SourceRevisionId) + + + diff --git a/eng/TemplateProjects.props b/eng/TemplateProjects.props new file mode 100644 index 0000000..0da7f92 --- /dev/null +++ b/eng/TemplateProjects.props @@ -0,0 +1,23 @@ + + + + False + False + False + false + $(NoWarn);2008;8021 + aspnet;templates + $(MSBuildThisFileDirectory)templates.nuspec + false + false + + + + + true + + + + + + diff --git a/eng/Versions.props b/eng/Versions.props new file mode 100644 index 0000000..eee04db --- /dev/null +++ b/eng/Versions.props @@ -0,0 +1,28 @@ + + + 6 + 0 + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) + net6.0 + + + + 6.0.0-beta.21373.11 + + 6.0.0-preview.6.21355.2 + 6.0.0-preview.6.21355.2 + 6.0.0-preview.6.21355.2 + 6.0.0-preview.6.21355.2 + 6.0.0-preview.6.21355.2 + 6.0.0-preview.6.21355.2 + + 6.0.0-preview.6.21352.1 + 6.0.0-preview.6.21352.1 + 6.0.0-preview.6.21352.1 + 6.0.0-preview.6.21352.1 + + 6.0.0-preview.6.21352.12 + + 1.1.0-beta-20206-02 + + diff --git a/eng/templates.nuspec b/eng/templates.nuspec new file mode 100644 index 0000000..84df855 --- /dev/null +++ b/eng/templates.nuspec @@ -0,0 +1,17 @@ + + + + + $CommonMetadataElements$ + + + + + + $CommonFileElements$ + + + diff --git a/src/.gitignore b/src/.gitignore deleted file mode 100644 index 84dddcd..0000000 --- a/src/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# This file is generated by the build -content/**/*.*proj -content/**/*.sln diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj index f912e01..fa2217f 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj @@ -1,5 +1,4 @@ - $(DefaultNetCoreTargetFramework) Microsoft.DotNet.Web.Spa.ProjectTemplates.$(AspNetCoreMajorMinorVersion) @@ -9,33 +8,48 @@ true - + DefaultNetCoreTargetFramework=$(DefaultNetCoreTargetFramework); - MicrosoftEntityFrameworkCoreSqliteVersion=$(MicrosoftEntityFrameworkCoreSqliteVersion); MicrosoftEntityFrameworkCoreRelationalVersion=$(MicrosoftEntityFrameworkCoreRelationalVersion); + MicrosoftEntityFrameworkCoreSqliteVersion=$(MicrosoftEntityFrameworkCoreSqliteVersion); MicrosoftEntityFrameworkCoreSqlServerVersion=$(MicrosoftEntityFrameworkCoreSqlServerVersion); MicrosoftEntityFrameworkCoreToolsVersion=$(MicrosoftEntityFrameworkCoreToolsVersion); MicrosoftExtensionsHostingVersion=$(MicrosoftExtensionsHostingVersion); - MicrosoftNETCoreAppRuntimeVersion=$(MicrosoftNETCoreAppRuntimeVersion); - MicrosoftAspNetCoreSpaProxyVersion=$(MicrosoftAspNetCoreSpaProxyVersion); - - - - - - - - - + + + + + + $(GeneratedContentProperties); + MicrosoftAspNetCoreApiAuthorizationIdentityServerVersion=$(MicrosoftAspNetCoreApiAuthorizationIdentityServerVersion); + MicrosoftAspNetCoreDiagnosticsEntityFrameworkCoreVersion=$(MicrosoftAspNetCoreDiagnosticsEntityFrameworkCoreVersion); + MicrosoftAspNetCoreIdentityEntityFrameworkCoreVersion=$(MicrosoftAspNetCoreIdentityEntityFrameworkCoreVersion); + MicrosoftAspNetCoreIdentityUIVersion=$(MicrosoftAspNetCoreIdentityUIVersion); + MicrosoftAspNetCoreSpaProxyVersion=$(MicrosoftAspNetCoreSpaProxyVersion); + MicrosoftAspNetCoreSpaServicesExtensionsVersion=$(MicrosoftAspNetCoreSpaServicesExtensionsVersion); + + + + + + + + + + + + + + + -