licensing

package
v0.0.0-...-e522343 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package licensing provides a set of functions that read the top lines of a file and can determine if they match a specific header.

Index

Constants

This section is empty.

Variables

View Source
var Headers = map[string][]string{
	"ASL2": {
		`// Licensed to %s under one or more contributor`,
		`// license agreements. See the NOTICE file distributed with`,
		`// this work for additional information regarding copyright`,
		`// ownership. %s licenses this file to you under`,
		`// the Apache License, Version 2.0 (the "License"); you may`,
		`// not use this file except in compliance with the License.`,
		`// You may obtain a copy of the License at`,
		`//`,
		`//     http://www.apache.org/licenses/LICENSE-2.0`,
		`//`,
		`// Unless required by applicable law or agreed to in writing,`,
		`// software distributed under the License is distributed on an`,
		`// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY`,
		`// KIND, either express or implied.  See the License for the`,
		`// specific language governing permissions and limitations`,
		`// under the License.`,
	},
	"ASL2-Short": {
		`// Licensed to %s under one or more agreements.`,
		`// %s licenses this file to you under the Apache 2.0 License.`,
		`// See the LICENSE file in the project root for more information.`,
	},
	"Elastic": {
		`// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one`,
		`// or more contributor license agreements. Licensed under the Elastic License;`,
		`// you may not use this file except in compliance with the Elastic License.`,
	},
	"Elasticv2": {
		`// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one`,
		`// or more contributor license agreements. Licensed under the Elastic License 2.0;`,
		`// you may not use this file except in compliance with the Elastic License 2.0.`,
	},
	"Cloud": {
		`// ELASTICSEARCH CONFIDENTIAL`,
		`// __________________`,
		`//`,
		`//  Copyright Elasticsearch B.V. All rights reserved.`,
		`//`,
		`// NOTICE:  All information contained herein is, and remains`,
		`// the property of Elasticsearch B.V. and its suppliers, if any.`,
		`// The intellectual and technical concepts contained herein`,
		`// are proprietary to Elasticsearch B.V. and its suppliers and`,
		`// may be covered by U.S. and Foreign Patents, patents in`,
		`// process, and are protected by trade secret or copyright`,
		`// law.  Dissemination of this information or reproduction of`,
		`// this material is strictly forbidden unless prior written`,
		`// permission is obtained from Elasticsearch B.V.`,
	},
	"MIT": {
		`// Copyright %s`,
		`// `,
		`// Permission is hereby granted, free of charge, to any person obtaining a copy`,
		`// of this software and associated documentation files (the "Software"), to deal`,
		`// in the Software without restriction, including without limitation the rights`,
		`// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell`,
		`// copies of the Software, and to permit persons to whom the Software is`,
		`// furnished to do so, subject to the following conditions:`,
		`// `,
		`// The above copyright notice and this permission notice shall be included in`,
		`// all copies or substantial portions of the Software.`,
		`// `,
		`// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR`,
		`// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,`,
		`// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE`,
		`// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER`,
		`// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,`,
		`// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN`,
		`// THE SOFTWARE.`,
	},
	"MIT-Short": {
		`// Copyright (c) %s. All rights reserved.`,
		`//`,
		`// This work is licensed under the MIT License.`,
		`// See the LICENSE file in the project root for more information.`,
	},
}

Headers is the map of supported licenses

Functions

func ContainsHeader

func ContainsHeader(r io.Reader, headerLines []string) bool

ContainsHeader reads the first N lines of a file and checks if the header matches the one that is expected

func RewriteFileWithHeader

func RewriteFileWithHeader(path string, header []byte) error

RewriteFileWithHeader reads a file from a path and rewrites it with a header

func RewriteWithHeader

func RewriteWithHeader(src []byte, header []byte) []byte

RewriteWithHeader rewrites the src byte buffers header with the new header.

Types

This section is empty.

Jump to

Keyboard shortcuts

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