about

package
v0.0.0-...-d2f86d0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2023 License: CC0-1.0 Imports: 7 Imported by: 2

Documentation

Overview

Package about contains and generates meta information about Mechane including dependencies and their licenses.

Package license reproduces the legal code of various licenses in a format suitable for inclusion in Go packages.

Index

Constants

This section is empty.

Variables

View Source
var CreativeCommons = struct {
	PublicDomainDedication                License
	Attribution                           License
	AttributionShareAlike                 License
	AttributionNonCommercial              License
	AttributionNonCommercialShareAlike    License
	AttributionNoDerivatives              License
	AttributionNonCommercialNoDerivatives License
}{

	PublicDomainDedication: License{
		Badge: base64.StdEncoding.EncodeToString(
			publicDomainDedicationBadge,
		),
		ID:   "CC0-1.0",
		Name: "Creative Commons Zero v1.0 Universal",
		Text: publicDomainDedication,
		URL:  "https://creativecommons.org/publicdomain/zero/1.0/legalcode",
	},

	Attribution: License{
		Badge: base64.StdEncoding.EncodeToString(
			attributionBadge,
		),
		ID:   "CC-BY-4.0",
		Name: "Creative Commons Attribution 4.0 International",
		Text: attribution,
		URL:  "https://creativecommons.org/licenses/by/4.0/legalcode",
	},

	AttributionShareAlike: License{
		Badge: base64.StdEncoding.EncodeToString(
			attributionShareAlikeBadge,
		),
		ID:   "CC-BY-SA-4.0",
		Name: "Creative Commons Attribution Share Alike 4.0 International",
		Text: attributionShareAlike,
		URL:  "https://creativecommons.org/licenses/by-sa/4.0/legalcode",
	},

	AttributionNonCommercial: License{
		Badge: base64.StdEncoding.EncodeToString(
			attributionNonCommercialBadge,
		),
		ID:   "CC-BY-NC-4.0",
		Name: "Creative Commons Attribution Non Commercial 4.0 International",
		Text: attributionNonCommercial,
		URL:  "https://creativecommons.org/licenses/by-nc/4.0/legalcode",
	},

	AttributionNonCommercialShareAlike: License{
		Badge: base64.StdEncoding.EncodeToString(
			attributionNonCommercialShareAlikeBadge,
		),
		ID:   "CC-BY-NC-SA-4.0",
		Name: "Creative Commons Attribution Non Commercial Share Alike 4.0 International",
		Text: attributionNonCommercialShareAlike,
		URL:  "https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode",
	},

	AttributionNoDerivatives: License{
		Badge: base64.StdEncoding.EncodeToString(
			attributionNoDerivativesBadge,
		),
		ID:   "CC-BY-ND-4.0",
		Name: "Creative Commons Attribution No Derivatives 4.0 International",
		Text: attributionNoDerivatives,
		URL:  "https://creativecommons.org/licenses/by-nd/4.0/legalcode",
	},

	AttributionNonCommercialNoDerivatives: License{
		Badge: base64.StdEncoding.EncodeToString(
			attributionNonCommercialNoDerivativesBadge,
		),
		ID:   "CC-BY-NC-ND-4.0",
		Name: "Creative Commons Attribution Non Commercial No Derivatives 4.0 International",
		Text: attributionNonCommercialNoDerivatives,
		URL:  "https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode",
	},
}

CreativeCommons licenses.

https://creativecommons.org/about/cclicenses/

View Source
var Fospathi = Author{
	Name: "Christian Stewart",
	URL:  "https://gitlab.com/fospathi",
}

Functions

This section is empty.

Types

type Author

type Author struct {
	Name string `json:"name"`
	URL  string `json:"url"`
}

Author of a software package.

type DataSource

type DataSource struct {
	License  License  `json:"license"`
	Licensor []string `json:"licensor"`
	Name     string   `json:"name"`
	URL      string   `json:"url"`
}

A DataSource used by or included in a software package.

type Dependency

type Dependency struct {
	License  License  `json:"license"`
	Licensor []string `json:"licensor"`
	Name     string   `json:"name"`
	URL      string   `json:"url"`
}

A Dependency of a software package.

func (Dependency) Copy

func (dep Dependency) Copy() Dependency

Copy the receiver using new slices in the copy.

type License

type License struct {
	// Badge is an optional PNG format graphic logo for the license.
	//
	// The string shall be a base64 encoding of the bytes.
	Badge string `json:"badge"`
	// ID is an SPDX ID.
	//
	// https://spdx.org/licenses/
	ID string `json:"id"`
	// Name given to the license.
	Name string `json:"name"`
	// Legal code of the license.
	Text string `json:"text"`
	// A location the license is reproduced online.
	URL string `json:"url"`
}

License associated with a software package.

func MITNoAttribution

func MITNoAttribution(year int, licensors ...string) License

MITNoAttribution is a modified version of the common MIT license, with the attribution paragraph removed, making it a public-domain-equivalent license.

https://opensource.org/license/mit-0/

type Mechane

type Mechane struct {
	// Authors of the software.
	Author []Author `json:"author"`
	// Abilities or purpose of the software.
	Blurb []string `json:"blurb"`
	// Link to the source code repository or home page of the software.
	Link string `json:"link"`
	// Name of the software.
	Name string `json:"name"`

	// License the software is published under.
	License License `json:"license"`
	// Alternative license that the software is published under, if any.
	Alternative License `json:"alternativeLicense"`

	// Binaries which need to be installed separately on the system to run the
	// software.
	Binaries []Dependency `json:"binaries"`
	// Binaries which need to be installed separately on the system to do
	// development on the software.
	DevBinaries []Dependency `json:"devBinaries"`
	// Open source fonts distributed with the software.
	Fonts []Dependency `json:"fonts"`

	// URLs of imported packages for the Elm programming language integrant.
	ElmImports []string `json:"elmImports"`
	// URLs of imported packages for the Go programming language integrant.
	GoImports []string `json:"goImports"`
	// URLs of imported packages for the TS programming language integrant.
	TSImports []string `json:"tsImports"`
	// URLs of imported packages for the development of the TS programming
	// language integrant.
	TSDevImports []string `json:"tsDevImports"`
}

Mechane has information about the Mechane software.

func NewMechane

func NewMechane(goMod []byte) (Mechane, error)

NewMechane returns a new About with information about the Mechane module.

The given argument shall be the Mechane module's go.mod file.

func (Mechane) Copy

func (abt Mechane) Copy() Mechane

Copy the receiver using new slices in the copy.

type Software

type Software struct {
	Mechane Mechane `json:"mechane"`
	World   World   `json:"world"`
}

Software details.

type World

type World struct {
	// Authors of the world.
	Author []Author `json:"author"`
	// Abilities or purpose of the world.
	Blurb []string `json:"blurb"`
	// Link to the source code repository or home page of the world.
	Link string `json:"link"`
	// Name of the world.
	Name string `json:"name"`

	// The license the world is published under.
	License License `json:"license"`
	// Alternative license that the world is published under, if any.
	Alternative License `json:"alternativeLicense"`

	// Binaries which need to be installed separately on the system to run the
	// world.
	Binaries []Dependency `json:"binaries"`
	// Binaries which need to be installed separately on the system to do
	// development on the world.
	DevBinaries []Dependency `json:"devBinaries"`
}

World has information about a Mechane world's software.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL