Giter Site home page Giter Site logo

buildvana.sdk's Introduction

Buildvana SDK

Part of the Buildvana project.

License GitHub release (latest by date including pre-releases) Changelog

CodeFactor Last commit Open issues Closed issues

Slack



Buildvana SDK

Buildvana /bɪldˈvɑːnə/

  1. a transcendent state of the .NET programmer's mind, in which there is neither suffering, confusion, nor waste of time.

  2. a collection of open-source methods and processes to help .NET programmers achieve Buildvana.

  3. a collection of open-source projects supporting programmers that aim to reach Buildvana.


At a glance

Buildvana SDK is an opinionated, best-practices-based, CI-friendly, VS-friendly, MSBuild-powered build system for .NET projects.

It is part of the Buildvana project, which also comprises ready-to-use template repositories that implement automated build, testing, and deployment for .NET projects.

NOTE: Buildvana SDK, just as the whole Buildvana project, is still a work in progress. All standard disclaimers apply. However, the SDK has already been used successfully for internal projects at Tenacom, before it even became a project of its own.

Benefits

  • Single source of truth for assembly versions
  • Single source of truth for package licenses and copyright notices
  • Helps you keep your project files clean and concise - even better than "plain" MSBuild SDKs
  • More auto-generated assembly information (ClsCompliant, COMVisible)
  • Custom auto-generated assembly information
  • Automatic configuration of commonly-used code analyzers
  • ...

Supported project types

At the moment, Buildvana SDK is being used mainly by .NET Standard and .NET Core libraries written in C#.

It should work for .NET Core console applications.

It may work for ASP.NET Core websites.

It will not work for .NET Framework applications or libraries.

It will not work for non-SDK (legacy) projects.

It may work for WindowsDesktop projects. These will definitely be supported soon.

As for language support: Buildvana SDK will work with C# projects, should work with Visual Basic projects and may work with F# projects.

Requirements

Git repository

Buildvana SDK assumes that your project is in a Git repository. Furthermore, if your project is packable (i.e. it is meant to be distributed as a NuGet package), Buildvana SDK assumes that it is hosted on a GitHub public repository, for the purposes of generating a symbol package with SourceLink support.

Support for other Git servers will be implemented if / when asked for. It should be trivial enough, as long as there is a suitable SourceLink support package available.

Private repositories may or may not work. Testers welcome.

Toolchain

Building via the following tools is supported:

  • MSBuild v16.8 or newer (msbuild) under .NET Framework 4.7.2 or newer, .NET SDK 5.0 or newer, or any recent version of Mono
  • Visual Studio 2019 v16.8 or newer (building from IDE)
  • .NET SDK 5.0.100 or newer (dotnet build, dotnet msbuild, etc.)

Latest versions of Visual Studio for Mac should work, but we need confirmation by someone with a Mac.

Quick start

TODO

Contributing

TODO

Credits

The peaceful octopus logo is a modified version of Peace by AomAm from the Noun Project.

The font used in the logo is Repo by Stefan Peev, from Font Library.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.