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.

buildvana.sdk's People

Contributors

rdeago avatar

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.