Merge pull request #15 from thefirstofthe300/master
Add support for more file types
This commit is contained in:
@@ -13,10 +13,11 @@ to any file that already has one.
|
||||
## usage
|
||||
|
||||
addlicense [flags] pattern [pattern ...]
|
||||
|
||||
|
||||
-c copyright holder (default "Google LLC.")
|
||||
-f custom license file (no default)
|
||||
-l license type: apache, bsd, mit (default "apache")
|
||||
-y year (default 2016)
|
||||
-y year (default "2018")
|
||||
|
||||
The pattern argument can be provided multiple times, and may also refer
|
||||
to single files.
|
||||
|
||||
23
main.go
23
main.go
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
@@ -135,16 +135,16 @@ func walk(ch chan<- *file, start string) {
|
||||
func addLicense(path string, fmode os.FileMode, tmpl *template.Template, data *copyrightData) error {
|
||||
var lic []byte
|
||||
var err error
|
||||
switch filepath.Ext(path) {
|
||||
switch fileExtension(path) {
|
||||
default:
|
||||
return nil
|
||||
case ".c", ".h":
|
||||
lic, err = prefix(tmpl, data, "/*", " * ", " */")
|
||||
case ".js", ".jsx", ".tsx", ".css", ".tf":
|
||||
lic, err = prefix(tmpl, data, "/**", " * ", " */")
|
||||
case ".cc", ".cpp", ".cs", ".go", ".hh", ".hpp", ".java", ".m", ".mm", ".proto", ".rs", ".scala", ".swift", ".dart":
|
||||
case ".cc", ".cpp", ".cs", ".go", ".hh", ".hpp", ".java", ".m", ".mm", ".proto", ".rs", ".scala", ".swift", ".dart", ".groovy":
|
||||
lic, err = prefix(tmpl, data, "", "// ", "")
|
||||
case ".py", ".sh", ".yaml", ".yml":
|
||||
case ".py", ".sh", ".yaml", ".yml", ".dockerfile", "dockerfile", ".rb", "gemfile":
|
||||
lic, err = prefix(tmpl, data, "", "# ", "")
|
||||
case ".el", ".lisp":
|
||||
lic, err = prefix(tmpl, data, "", ";; ", "")
|
||||
@@ -178,10 +178,19 @@ func addLicense(path string, fmode os.FileMode, tmpl *template.Template, data *c
|
||||
return ioutil.WriteFile(path, b, fmode)
|
||||
}
|
||||
|
||||
func fileExtension(name string) string {
|
||||
if v := filepath.Ext(name); v != "" {
|
||||
return strings.ToLower(v)
|
||||
}
|
||||
return strings.ToLower(filepath.Base(name))
|
||||
}
|
||||
|
||||
var head = []string{
|
||||
"#!", // shell script
|
||||
"<?xml", // XML declaratioon
|
||||
"<!doctype", // HTML doctype
|
||||
"#!", // shell script
|
||||
"<?xml", // XML declaratioon
|
||||
"<!doctype", // HTML doctype
|
||||
"# encoding:", // Ruby encoding
|
||||
"# frozen_string_literal:", // Ruby interpreter instruction
|
||||
}
|
||||
|
||||
func hashBang(b []byte) []byte {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
@@ -53,7 +53,7 @@ func TestInitial(t *testing.T) {
|
||||
for i := 0; i < 2; i++ {
|
||||
t.Logf("run #%d", i)
|
||||
targs := []string{"-test.run=TestInitial"}
|
||||
cargs := []string{"-l", "apache", "-c", "Google Inc.", "-y", "2016", tmp}
|
||||
cargs := []string{"-l", "apache", "-c", "Google LLC", "-y", "2018", tmp}
|
||||
c := exec.Command(os.Args[0], append(targs, cargs...)...)
|
||||
c.Env = []string{"RUNME=1"}
|
||||
if out, err := c.CombinedOutput(); err != nil {
|
||||
|
||||
15
testdata/expected/Gemfile
vendored
Normal file
15
testdata/expected/Gemfile
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# 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.
|
||||
|
||||
puts "Hello world!"
|
||||
16
testdata/expected/file.Dockerfile
vendored
Normal file
16
testdata/expected/file.Dockerfile
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# 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.
|
||||
|
||||
FROM scratch
|
||||
CMD ["echo", "hello world"]
|
||||
2
testdata/expected/file.c
vendored
2
testdata/expected/file.c
vendored
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2016 Google Inc.
|
||||
* Copyright 2018 Google LLC
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.cc
vendored
2
testdata/expected/file.cc
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.cpp
vendored
2
testdata/expected/file.cpp
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.cs
vendored
2
testdata/expected/file.cs
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.css
vendored
2
testdata/expected/file.css
vendored
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright 2016 Google Inc.
|
||||
* Copyright 2018 Google LLC
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.dart
vendored
2
testdata/expected/file.dart
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.el
vendored
2
testdata/expected/file.el
vendored
@@ -1,4 +1,4 @@
|
||||
;; Copyright 2016 Google Inc.
|
||||
;; Copyright 2018 Google LLC
|
||||
;;
|
||||
;; Licensed under the Apache License, Version 2.0 (the "License");
|
||||
;; you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.erl
vendored
2
testdata/expected/file.erl
vendored
@@ -1,4 +1,4 @@
|
||||
% Copyright 2016 Google Inc.
|
||||
% Copyright 2018 Google LLC
|
||||
%
|
||||
% Licensed under the Apache License, Version 2.0 (the "License");
|
||||
% you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.go
vendored
2
testdata/expected/file.go
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
17
testdata/expected/file.groovy
vendored
Normal file
17
testdata/expected/file.groovy
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// 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.
|
||||
|
||||
def dummy_function() {
|
||||
println "Hello world"
|
||||
}
|
||||
2
testdata/expected/file.h
vendored
2
testdata/expected/file.h
vendored
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2016 Google Inc.
|
||||
* Copyright 2018 Google LLC
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.hh
vendored
2
testdata/expected/file.hh
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.hpp
vendored
2
testdata/expected/file.hpp
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.hs
vendored
2
testdata/expected/file.hs
vendored
@@ -1,4 +1,4 @@
|
||||
-- Copyright 2016 Google Inc.
|
||||
-- Copyright 2018 Google LLC
|
||||
--
|
||||
-- Licensed under the Apache License, Version 2.0 (the "License");
|
||||
-- you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.html
vendored
2
testdata/expected/file.html
vendored
@@ -1,6 +1,6 @@
|
||||
<!doctype html>
|
||||
<!--
|
||||
Copyright 2016 Google Inc.
|
||||
Copyright 2018 Google LLC
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.java
vendored
2
testdata/expected/file.java
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.js
vendored
2
testdata/expected/file.js
vendored
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright 2016 Google Inc.
|
||||
* Copyright 2018 Google LLC
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.lisp
vendored
2
testdata/expected/file.lisp
vendored
@@ -1,4 +1,4 @@
|
||||
;; Copyright 2016 Google Inc.
|
||||
;; Copyright 2018 Google LLC
|
||||
;;
|
||||
;; Licensed under the Apache License, Version 2.0 (the "License");
|
||||
;; you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.m
vendored
2
testdata/expected/file.m
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.mm
vendored
2
testdata/expected/file.mm
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.php
vendored
2
testdata/expected/file.php
vendored
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.proto
vendored
2
testdata/expected/file.proto
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.py
vendored
2
testdata/expected/file.py
vendored
@@ -1,4 +1,4 @@
|
||||
# Copyright 2016 Google Inc.
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
||||
16
testdata/expected/file.rb
vendored
Normal file
16
testdata/expected/file.rb
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# frozen_string_literal: true
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# 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.
|
||||
|
||||
puts "Hello world!"
|
||||
2
testdata/expected/file.rs
vendored
2
testdata/expected/file.rs
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.scala
vendored
2
testdata/expected/file.scala
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.swift
vendored
2
testdata/expected/file.swift
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.tf
vendored
2
testdata/expected/file.tf
vendored
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright 2016 Google Inc.
|
||||
* Copyright 2018 Google LLC
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file.xml
vendored
2
testdata/expected/file.xml
vendored
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright 2016 Google Inc.
|
||||
Copyright 2018 Google LLC
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file1.sh
vendored
2
testdata/expected/file1.sh
vendored
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2016 Google Inc.
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file2.sh
vendored
2
testdata/expected/file2.sh
vendored
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/go run prog.go $*
|
||||
# Copyright 2016 Google Inc.
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
||||
2
testdata/expected/file2.xml
vendored
2
testdata/expected/file2.xml
vendored
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<!--
|
||||
Copyright 2016 Google Inc.
|
||||
Copyright 2018 Google LLC
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
1
testdata/initial/Gemfile
vendored
Normal file
1
testdata/initial/Gemfile
vendored
Normal file
@@ -0,0 +1 @@
|
||||
puts "Hello world!"
|
||||
2
testdata/initial/file.Dockerfile
vendored
Normal file
2
testdata/initial/file.Dockerfile
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
FROM scratch
|
||||
CMD ["echo", "hello world"]
|
||||
3
testdata/initial/file.groovy
vendored
Normal file
3
testdata/initial/file.groovy
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
def dummy_function() {
|
||||
println "Hello world"
|
||||
}
|
||||
2
testdata/initial/file.rb
vendored
Normal file
2
testdata/initial/file.rb
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# frozen_string_literal: true
|
||||
puts "Hello world!"
|
||||
Reference in New Issue
Block a user