All Projects β†’ palantir β†’ go-license

palantir / go-license

Licence: Apache-2.0 License
Go tool that applies and verifies that proper license headers are applied to Go files

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to go-license

Tslint
🚦 An extensible linter for the TypeScript language
Stars: ✭ 5,922 (+14000%)
Mutual labels:  octo-correct-managed
asana mailer
A script that uses Asana's RESTful API to generate plaintext and HTML emails.
Stars: ✭ 12 (-71.43%)
Mutual labels:  octo-correct-managed
python-jsonrpc-server
A Python 2 and 3 asynchronous JSON RPC server
Stars: ✭ 73 (+73.81%)
Mutual labels:  octo-correct-managed
rust-zipkin
A library for logging and propagating Zipkin trace information in Rust
Stars: ✭ 50 (+19.05%)
Mutual labels:  octo-correct-managed
gradle-consistent-versions
Compact, constraint-friendly lockfiles for your dependencies
Stars: ✭ 92 (+119.05%)
Mutual labels:  octo-correct-managed
witchcraft-go-server
A highly opinionated Go embedded application server for RESTy APIs
Stars: ✭ 47 (+11.9%)
Mutual labels:  octo-correct-managed
Plottable
πŸ“Š A library of modular chart components built on D3
Stars: ✭ 2,834 (+6647.62%)
Mutual labels:  octo-correct-managed
tracing-java
Java library providing zipkin-like tracing functionality
Stars: ✭ 13 (-69.05%)
Mutual labels:  octo-correct-managed
phishcatch
A browser extension and API server for detecting corporate password use on external websites
Stars: ✭ 75 (+78.57%)
Mutual labels:  octo-correct-managed
goastwriter
Go library for writing Go source code programatically
Stars: ✭ 27 (-35.71%)
Mutual labels:  octo-correct-managed
amalgomate
Go tool for combining multiple different main packages into a single program or library
Stars: ✭ 19 (-54.76%)
Mutual labels:  octo-correct-managed
palantir-java-format
A modern, lambda-friendly, 120 character Java formatter.
Stars: ✭ 203 (+383.33%)
Mutual labels:  octo-correct-managed
go-baseapp
A lightweight starting point for Go web servers
Stars: ✭ 61 (+45.24%)
Mutual labels:  octo-correct-managed
Python Language Server
An implementation of the Language Server Protocol for Python
Stars: ✭ 2,412 (+5642.86%)
Mutual labels:  octo-correct-managed
metric-schema
Schema for standard metric definitions
Stars: ✭ 13 (-69.05%)
Mutual labels:  octo-correct-managed
Blueprint
A React-based UI toolkit for the web
Stars: ✭ 18,376 (+43652.38%)
Mutual labels:  octo-correct-managed
giraffe
Gracefully Integrated Remote Access For Files and Execution
Stars: ✭ 50 (+19.05%)
Mutual labels:  octo-correct-managed
bouncer
An application to cycle (bounce) all nodes in a coordinated fashion in an AWS ASG or set of related ASGs
Stars: ✭ 123 (+192.86%)
Mutual labels:  octo-correct-managed
dropwizard-web-logger
WebLoggerBundle is a Dropwizard bundle used to help log web activity to log files on a server’s backend
Stars: ✭ 14 (-66.67%)
Mutual labels:  octo-correct-managed
hadoop-crypto
Library for per-file client-side encyption in Hadoop FileSystems such as HDFS or S3.
Stars: ✭ 38 (-9.52%)
Mutual labels:  octo-correct-managed

Autorelease

go-license

go-license is a tool that ensures that a license header is applied to Go files.

Usage

Run ./go-license --config=license.yml [files] to apply the license specified by the configuration in license.yml to all of the specified files (only the files that end in .go and are not excluded by configuration are processed).

Run ./go-license --config=license.yml --remove [files] to remove the license specified by the configuration in license.yml from all of the specified files (only the files that end in .go and are not excluded by configuration are processed).

Run ./go-license --config=license.yml --verify [files] to verify that the license specified by the configuration is applied to all of the specified files *.go files (only the files that end in .go and are not excluded by configuration are processed). If the license is not applied properly to any of the files, the files that do not match are printed and the program exits with a non-0 exit code.

Configuration

The configuration file specifies the header that should be applied as a header key. It also supports an exclude parameter that specifies files or paths that should be excluded from configuration.

Here is an example configuration file:

header: |
  // Copyright {{YEAR}} Palantir Technologies, Inc.
  //
  // Licensed 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.

custom-headers:
  - name: subproject
    header: |
      // Copyright 2016 Palantir Technologies, Inc. All rights reserved.
      // Subproject license.

    paths:
      - subprojectDir
exclude:
  exclude-names:
    - "vendor"

The string {{YEAR}} indicates that, when a license is added by the tool, the current year will be used. For operations that match licenses (for verification or removal), {{YEAR}} will match any 4-digit number.

The custom-headers configuration allows custom headers to be specified for matching names or paths.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].