Skip to content

LionWeb-io/lionweb-csharp

Repository files navigation

LionWeb-C#

(Or, really: LionWeb-CSharp.)

This repository contains an implementation of (select parts of) the LionWeb specification.

Organization

.NET projects:

  • [src/LionWeb.Core]: implementation of LionWeb for/in C#
  • [src/LionWeb.Generator]: implementation of a C# code generator for LionWeb
  • [build/LionWeb-CSharp-Build]: a .NET console application that generates various source files in the -Test project
  • [test/LionWeb.Core.Test]: unit tests for LionWeb.Core

See these projects' respective READMEs for more information.

Documentation can be found in the docs folder.

CI

The CI is implemented through a GitHub Action, configured through the file build.yaml workflow YAML file. It's triggered:

  • On every event for a Pull Request, including opening one.
  • When a commit (on any branch) is tagged. Provided that restoring, building, packaging, and running all tests are all successful, then NuGet packages (for) LionWeb-CSharp and LionWeb-CSharp-Generator are published to NuGet “Central” with the tag as version identification.

NuGet API keys

Publishing to NuGet “Central” requires an API key that's managed through that site. To manage the API key, you need an account that's an administrator member of the LionWeb organization on that site. After logging in, navigate to the API keys page. At least one of the keys listed there should have the following characteristics:

  • “Push” permission — either “new packages and package versions” or “only new package versions”, but preferably the former.
  • Package owner: LionWeb
  • Packages: LionWeb-CSharp, LionWeb-CSharp-Generator; or Glob pattern: *

Note! Whenever you have to (re-)generate an API key, make sure that the key is associated with all of the LionWeb-CSharp packages to publish. If it's not, then you click the “Edit” link, and then re-generate the key. (API keys are apparently associated with packages at key generation time.) If that's not the case, you'll get the following slightly misleading error message during publishing:

error: Response status code does not indicate success: 403 (The specified API key is invalid, has expired, or does not have permission to access the specified package.).

After generating the API key, you should copy it (to the clipboard) using the “Copy” link, and then configure it as the value of the NUGET_APIKEY secret within the GitHub settings for Actions. You find these settings here.

Development

Run the make.ps1 PowerShell script to generate all required source files, build all projects, and run all unit tests.

License

The "Apache-2.0" open-source license applies to the work in this repository.

About

Implements LionWeb specification in C#

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages