[copyright] Change to copyright headers without years

Reviewed By: mbouaziz

Differential Revision: D15772330

fbshipit-source-id: ca2bdca13
master
Josh Berdine 6 years ago committed by Facebook Github Bot
parent 5a92171b26
commit 5b190629bf

@ -17,7 +17,7 @@ let exit_code_of_event = function CopyrightModified -> 1 | CopyrightMalformed ->
type comment_style =
| Line of string * bool
(** line comments, eg "#" for shell, and whether there should be a
newline before the copyright notice *)
newline before the copyright notice *)
| Block of string * string * string * bool (** block comments, eg ("(*", "*", "*)") for ocaml *)
[@@deriving compare]
@ -169,25 +169,7 @@ let contains_monoidics cstart cend lines = contains_string ~substring:"Monoidics
let contains_ropas cstart cend lines = contains_string ~substring:"ROPAS" cstart cend lines
let get_copyright_year cstart cend lines =
let found = ref None in
let do_line line =
try
let fmt_re = Str.regexp "[0-9]+" in
ignore (Str.search_forward fmt_re line 0) ;
let fmt_match = Str.matched_string line in
if String.length fmt_match = 4 then
try found := Some (int_of_string fmt_match) with _ -> ()
with Caml.Not_found -> ()
in
for i = cstart to cend do
let line = lines.(i) in
if String.is_substring ~substring:"Copyright" line then do_line line
done ;
!found
let pp_copyright ~monoidics ~ropas ~copyright_year com_style fmt =
let pp_copyright ~monoidics ~ropas com_style fmt =
let running_comment = match com_style with Line (s, _) | Block (_, s, _, _) -> s in
let indent = indent_of_comment_style com_style in
let pp_line str =
@ -206,19 +188,16 @@ let pp_copyright ~monoidics ~ropas ~copyright_year com_style fmt =
pp_start () ;
if ropas then (
pp_line " Copyright (c) 2016-present, Programming Research Laboratory (ROPAS)" ;
pp_line " Seoul National University, Korea" ;
pp_line " Copyright (c) 2017-present, Facebook, Inc." )
else (
if monoidics then pp_line " Copyright (c) 2009-2013, Monoidics ltd." ;
pp_line " Copyright (c) %d-present, Facebook, Inc." copyright_year ) ;
pp_line " Seoul National University, Korea" )
else if monoidics then pp_line " Copyright (c) 2009-2013, Monoidics ltd." ;
pp_line " Copyright (c) Facebook, Inc. and its affiliates." ;
pp_line "" ;
pp_line " This source code is licensed under the MIT license found in the" ;
pp_line " LICENSE file in the root directory of this source tree." ;
pp_end ()
let copyright_has_changed fname lines ~notice_range:(cstart, cend) ~monoidics ~ropas
~copyright_year com_style =
let copyright_has_changed fname lines ~notice_range:(cstart, cend) ~monoidics ~ropas com_style =
let old_copyright =
let r = ref "" in
for i = cstart to cend do
@ -226,9 +205,7 @@ let copyright_has_changed fname lines ~notice_range:(cstart, cend) ~monoidics ~r
done ;
!r
in
let new_copyright =
Format.asprintf "%t" (pp_copyright ~monoidics ~ropas ~copyright_year com_style)
in
let new_copyright = Format.asprintf "%t" (pp_copyright ~monoidics ~ropas com_style) in
let changed = not (String.equal old_copyright new_copyright) in
if !show_diff && changed then (
let with_suffix fname suff = Filename.basename fname ^ suff in
@ -275,8 +252,7 @@ let comment_style_of_filename fname =
List.Assoc.find com_style_of_lang ~equal:Filename.check_suffix fname
let output_diff ~fname lines ?notice_range ?(monoidics = false) ?(ropas = false) ~copyright_year
com_style =
let output_diff ~fname lines ?notice_range ?(monoidics = false) ?(ropas = false) com_style =
let lang = lang_of_comment_style com_style in
let pp_range_opt fmt = function
| None ->
@ -284,8 +260,8 @@ let output_diff ~fname lines ?notice_range ?(monoidics = false) ?(ropas = false)
| Some (s, e) ->
F.fprintf fmt "%d-%d" s e
in
F.eprintf "%s (lang:%s notice:%a monoidics:%b ropas:%b year:%d)\n%!" fname lang pp_range_opt
notice_range monoidics ropas copyright_year ;
F.eprintf "%s (lang:%s notice:%a monoidics:%b ropas:%b)\n%!" fname lang pp_range_opt notice_range
monoidics ropas ;
let pp_newfile fmt =
let copy_lines_before, copy_lines_after =
match notice_range with
@ -301,7 +277,7 @@ let output_diff ~fname lines ?notice_range ?(monoidics = false) ?(ropas = false)
if
starts_with_newline com_style && copy_lines_before > 0 && lines.(copy_lines_before - 1) <> ""
then F.fprintf fmt "@\n" ;
pp_copyright ~monoidics ~ropas ~copyright_year com_style fmt ;
pp_copyright ~monoidics ~ropas com_style fmt ;
for i = copy_lines_after to Array.length lines - 1 do
F.fprintf fmt "%s\n" lines.(i)
done ;
@ -321,10 +297,9 @@ let check_copyright fname =
| None, None ->
()
| None, Some com_style ->
let copyright_year = 1900 + (Unix.localtime (Unix.time ())).Unix.tm_year in
output_diff ~fname lines ~copyright_year com_style ;
output_diff ~fname lines com_style ;
raise (CopyrightEvent CopyrightModified)
| Some n, fname_com_style -> (
| Some n, fname_com_style ->
let cstart, contents_com_style =
find_comment_start_and_style lines n |> Option.value ~default:(0, Line ("#", false))
in
@ -367,18 +342,10 @@ let check_copyright fname =
raise (CopyrightEvent CopyrightMalformed) ) ;
let monoidics = contains_monoidics cstart cend lines in
let ropas = contains_ropas cstart cend lines in
match get_copyright_year cstart cend lines with
| None ->
F.eprintf "Can't find copyright year: %s@." fname ;
raise (CopyrightEvent CopyrightMalformed)
| Some copyright_year ->
if
copyright_has_changed fname lines ~notice_range:(cstart, cend) ~monoidics ~ropas
~copyright_year com_style
then (
output_diff ~fname lines ~notice_range:(cstart, cend) ~monoidics ~ropas ~copyright_year
com_style ;
raise (CopyrightEvent CopyrightModified) ) )
if copyright_has_changed fname lines ~notice_range:(cstart, cend) ~monoidics ~ropas com_style
then (
output_diff ~fname lines ~notice_range:(cstart, cend) ~monoidics ~ropas com_style ;
raise (CopyrightEvent CopyrightModified) )
let speclist =

Loading…
Cancel
Save