Skip to content

Publish NuGet packages #214

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
22 tasks done
PathogenDavid opened this issue Aug 26, 2021 · 1 comment
Closed
22 tasks done

Publish NuGet packages #214

PathogenDavid opened this issue Aug 26, 2021 · 1 comment
Labels
Area-Packages Issues concerning our published NuGet packages.

Comments

@PathogenDavid
Copy link
Member

PathogenDavid commented Aug 26, 2021

ClangSharp.Pathogen work

  • Embed the untracked assembly info files to make Source Link happy.
  • Add disclaimer to ClangSharp.Pathogen packages to clarify they're primarily meant to be consumed by Biohazrd.
  • Change the ClangSharp.Pathogen -> ClangSharp.Pathogen.Runtime dependency to be exact since we do not guarantee
    ABI compatibility in the native runtime.
  • Set up (fix?) CI publish to NuGet.org
  • Add NuGet badge to readme
  • Fix ClangSharp.Pathogen solution using x64 as the solution platform

Biohazrd packages

  • Add package metadata to all published projects
    • Decide on package description format. (Right now it's intentionally inconsistent.)
    • Change all packages to use the two-line description format.
  • Make the package name of the Biohazrd project Biohazrd.Core
  • Make a metapackage named Biohazrd which includes all the packages for C# development
    • TODO: What should the plan be for other languages? For instance, Biohazrd.DLang should probably be the equivalent of Biohazrd.CSharp, but what would a D-centric generator reference? Do they just reference Biohazrd and Biohazrd.DLang and ignore the C# bits? -- Let's just burn this bridge when we cross it.
  • Set up source link
  • Set up CI packages (automatically publish main runs to GitHub Packages.)
  • Set up manually-triggered CI publish to NuGet.org
    • Add validation that published packages don't reference CI builds of ClangSharp.Pathogen. (Implicitly happens during restore since we don't include the CI package source.)
      • Don't even include the CI package feed in release CI builds
      • Implement not including the CI package feed in release CI builds (make it always include production NuGet.org)
  • Stop marking Biohazrd as x64-only to avoid MSB3270 warnings.
    • This restriction was in place primarily because ClangSharp.Pathogen only provides x64 matrix runtimes. While this is still true, nothing about Biohazrd its self is x64-only, and advanced users can manually provide their own libclang-pathogen for their platform as necessary.
  • Use exact version matching for Biohazrd project dependencies since we don't support proper semver. (Developers can add NoWarn="NU1605" to their PackageReference if they can manually validate that packages are compatible. Also this serves as a scream test to discover if someone starts wanting semver semantics out of Biohazrd. Considering Roslyn does this I think we can safely do so as well.)
  • Add NuGet badge to readme
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 1, 2021
* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 1, 2021
* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 1, 2021
…cleanup.

* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.
* Enabled error if there's no NuGet packages to upload.
* Changed the BuildOutput artifact to be less aggressive and to upload even when building failed.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 1, 2021
…cleanup.

* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.
* Enabled error if there's no NuGet packages to upload.
* Changed the BuildOutput artifact to be less aggressive and to upload even when building failed.
* Added disclaimer to NuGet package description that ClangSharp.Pathogen is primarily intended to support Biohazrd.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 1, 2021
…cleanup.

* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.
* Enabled error if there's no NuGet packages to upload.
* Changed the BuildOutput artifact to be less aggressive and to upload even when building failed.
* Added disclaimer to NuGet package description that ClangSharp.Pathogen is primarily intended to support Biohazrd.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 1, 2021
…cleanup.

* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.
* Enabled error if there's no NuGet packages to upload.
* Changed the BuildOutput artifact to be less aggressive and to upload even when building failed.
* Added disclaimer to NuGet package description that ClangSharp.Pathogen is primarily intended to support Biohazrd.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 1, 2021
…cleanup.

* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.
* Enabled error if there's no NuGet packages to upload.
* Changed the BuildOutput artifact to be less aggressive and to upload even when building failed.
* Added disclaimer to NuGet package description that ClangSharp.Pathogen is primarily intended to support Biohazrd.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 1, 2021
…cleanup.

* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.
* Enabled error if there's no NuGet packages to upload.
* Changed the BuildOutput artifact to be less aggressive and to upload even when building failed.
* Added disclaimer to NuGet package description that ClangSharp.Pathogen is primarily intended to support Biohazrd.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 1, 2021
…cleanup.

* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.
* Enabled error if there's no NuGet packages to upload.
* Changed the BuildOutput artifact to be less aggressive and to upload even when building failed.
* Added disclaimer to NuGet package description that ClangSharp.Pathogen is primarily intended to support Biohazrd.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/Biohazrd that referenced this issue Sep 4, 2021
PathogenDavid added a commit to PathogenPlayground/ClangSharp.Pathogen that referenced this issue Sep 6, 2021
…cleanup.

* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.
* Enabled error if there's no NuGet packages to upload.
* Changed the BuildOutput artifact to be less aggressive and to upload even when building failed.
* Added disclaimer to NuGet package description that ClangSharp.Pathogen is primarily intended to support Biohazrd.

Fixes MochiLibraries#3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to MochiLibraries/ClangSharp.Pathogen that referenced this issue Sep 7, 2021
…cleanup.

* Added .editorconfig
* Added publishing to NuGet.org
* Completely tore out "smart" versioning system (it was more trouble than it was wroth.)
* Enabled using the informational version for the package version now that GitHub Packages doesn't choke on build metadata.
* Removed x64 restrictions from ClangSharp.Pathogen (the assemblies aren't really x64-specific, the runtime is.)
* Removed VersionPrefix from both projects. (We don't really support them shipping separately.)
* Added Directory.Build.* protection to the LLVM Visual Studio CMake output folder
* Modified Directory.Build.* pattern to match Biohazrd.
* Enabled embedding untracked sources (this is required for NuGet Package Explorer determinism checks to be happy.)
* Added building to central bin/obj folders.
* Enabled error if there's no NuGet packages to upload.
* Changed the BuildOutput artifact to be less aggressive and to upload even when building failed.
* Added disclaimer to NuGet package description that ClangSharp.Pathogen is primarily intended to support Biohazrd.

Fixes #3
Contributes to MochiLibraries/Biohazrd#214
PathogenDavid added a commit to PathogenPlayground/Biohazrd that referenced this issue Sep 7, 2021
Related changes:
* Updated to ClangSharp.Pathogen 0.0.0 (which is published on NuGet.org.)
* Biohazrd is no longer marked as x64-only.
  * This restriction was in place primarily because ClangSharp.Pathogen only provides x64 matrix runtimes. While this is still true, nothing about Biohazrd its self is x64-only, and advanced users can manually provide their own libclang-pathogen for their platform as necessary.

Closes MochiLibraries#214
@PathogenDavid
Copy link
Member Author

Packages published! 🎉

Biohazrd v0.0.0-beta0
ClangSharp.Pathogen v0.0.0

@PathogenDavid PathogenDavid added the Area-Packages Issues concerning our published NuGet packages. label Sep 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Packages Issues concerning our published NuGet packages.
Projects
None yet
Development

No branches or pull requests

1 participant