2nd try: please, review the script for JDK license headers verification
Jonathan Gibbons
jonathan.gibbons at oracle.com
Tue Jun 5 00:48:34 UTC 2012
Misha,
"It would be nice" if you could infer the default license type from the
type and/or location of file.
"It would be nice" if it could default the set of files to the set of
recently modified files, such as determined by "hg status".
-- Jon
On 06/04/2012 04:53 PM, Misha Bykov wrote:
>
> Please, review the webrev is located at:
>
> http://cr.openjdk.java.net/~mbykov/lic_check/webrev.00/
>
> INTRO
>
> It's recommended for a developer, when he introduced or modified
> source code files, to check whether a license header is precisely
> correct for every modified file.
>
> The new script allows a JDK developer to check if the specified
> license header for a given file (or a set of files) matches the right
> header template.
>
> NAME
>
> lic_check.sh - JDK source code legal headers conformance verification
>
> SYNOPSIS
>
> lic_check.sh [-gpl] or [-gplcp] or [-bsd] file(s)
>
> DESCRIPTION
>
> The script for OpenJDK distribution to verify legal notices in a
> particular source file or a set of files.
>
> The script must be located in the directory:
>
> $ROOT/make/scripts
>
> It uses templates from:
>
> $ROOT/make/templates
>
> The successful output example:
>
> ###
> ### Checking copyright notice in the file: filename.java
> ###
> No differences encountered
> SUCCESS: The license header for filename.java has been verified.
>
> The unsuccessful output example if Oracle copyright string is missing
> or copyright years are not correct :
>
> ###
> ### Checking copyright notice in the file: filename.java
> ###
> ERROR: Copyright string is not correct or missing in filename.java.
>
> If the copyright string is correct, but the license header is not
> correct, the script should produce the
> "diff" output between a template in $ROOT/make/templates and the
> license header from the given file.
>
> HOW TO TEST
>
> 1. Place the script into $ROOT/make/scripts in JDK8 source repository
> (otherwise it will not find $ROOT/make/templates and produce an error).
> 2. cd to the directory with the files to check license headers
> 3. $ROOT/make/scripts/lic_check.sh [-gpl] or [-gplcp] or [-bsd]
> filename(s)
>
> SUCCESS EXAMPLE
>
> % ./lic_check.sh -gpl update_copyright_year.sh
> ### Checking copyright notice in the file: update_copyright_year.sh
> ###
> No differences encountered
> SUCCESS: The license header for
> jdk8/make/scripts/update_copyright_year.sh has been verified.
> ###
>
> FAILURE EXAMPLE
>
> % ./lic_check.sh -gpl hgforest.sh
> ### Checking copyright notice in the file: hgforest.sh
> ###
> *** /tmp/source_file.9122 Mon Jun 4 17:44:11 2012
> --- jdk8/make/scripts/./../templates/gpl-header Wed Apr 11 08:53:09 2012
> ***************
> *** 1,7 ****
> Copyright (c) %YEARS% Oracle and/or its affiliates. All rights reserved.
> DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>
> ! This code is free software; you can redistribute it and/or modify itX
> under the terms of the GNU General Public License version 2 only, as
> published by the Free Software Foundation.
>
> --- 1,7 ----
> Copyright (c) %YEARS% Oracle and/or its affiliates. All rights reserved.
> DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>
> ! This code is free software; you can redistribute it and/or modify it
> under the terms of the GNU General Public License version 2 only, as
> published by the Free Software Foundation.
>
> ERROR: License header is not correct in
> /java/jle_build/headers/jdk8/make/scripts/hgforest.sh
> See diffs above.
> ###
>
>
> NEXT STEPS
>
> In the future, this script will be used by special scripts to allow
> headers verification in the whole OpenJDK source code base.
>
More information about the build-dev
mailing list