Withdrawn: 7449: Add GitHub action to verify copyright year

Alex Ciminian duke at openjdk.java.net
Wed Mar 2 18:03:13 UTC 2022


On Sun, 5 Dec 2021 19:33:50 GMT, Alex Ciminian <duke at openjdk.java.net> wrote:

> This PR adds a script to check copyright notices on changed files. I've not added a GitHub action yet, I'd like to get some feedback before doing that �� 
> 
> The script is written in Kotlin and uses [JGit](https://www.eclipse.org/jgit/) to interface with the git repository. To run, it only needs the kotlin compiler which is [preinstalled on GitHub Actions runners](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md).
> 
> It works as follows:
> 
> * diff the HEAD commit and the merge base between it and master (i.e. where the feature branch diverged from)
> * for every changed file (except deletions), validate the copyright header
>   - if the file is new, it should have Oracle and Datadog copyright starting from the year of the HEAD commit
>   - if the file is not new, it should keep the existing copyright holders and update the year range if necessary
> * we compare file contents from objects in the git repo, not the files themselves
> * currently we don't validate we're in the correct directory or the commits
> 
> The output looks like this:
> 
> 
> kotlinc -script scripts/copyrightchecker.main.kts                                                                                                                                                     
> Checked out at: 759788185939b16f447e553b3ee64121187ea311 (base: 8b8aa7c299b92b655ba669a92d16f193beb406bc)
> ⚪️ scripts/copyrightchecker.main.kts
> ✅ Validation succeeded
> 
> 
> 
> kotlinc -script scripts/copyrightchecker.main.kts                                                                                                                                                       
> Checked out at: 7ad43eed12c9eb85a96882c9518a9acbe12e74c5 (base: ca204424ce32336f2923aff66f619d571b1fc720)
> ⚪️ .gitignore
> �� application/org.openjdk.jmc.feature.flightrecorder/feature.xml
> �� Failed to parse:    Copyright (c) 2018, 2021 Oracle and/or its affiliates. All rights reserved.
> ⚪️ application/org.openjdk.jmc.flightrecorder.heatmap/.classpath
> ⚪️ application/org.openjdk.jmc.flightrecorder.heatmap/.gitignore
> ⚪️ application/org.openjdk.jmc.flightrecorder.heatmap/META-INF/MANIFEST.MF
> ⚪️ application/org.openjdk.jmc.flightrecorder.heatmap/build.properties
> ⚪️ application/org.openjdk.jmc.flightrecorder.heatmap/icons/heatmap.png
> ⚪️ application/org.openjdk.jmc.flightrecorder.heatmap/icons/heatmap at 2x.png
> ⚪️ application/org.openjdk.jmc.flightrecorder.heatmap/plugin.properties
> ⚪️ application/org.openjdk.jmc.flightrecorder.heatmap/plugin.xml
> �� application/org.openjdk.jmc.flightrecorder.heatmap/pom.xml
> Expected:
> <?xml version="1.0" encoding="UTF-8"?>
> <!--
> 	Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
> 	Copyright (c) 2021, Datadog, Inc. All rights reserved.
> 
> 	DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> Actual:
> <?xml version="1.0" encoding="UTF-8"?>
> <!--
>    Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
>    Copyright (c) 2021, Datadog, Inc. All rights reserved.
> 
>    DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HE
> (check whitespace if strings seem to match)
> �� application/org.openjdk.jmc.flightrecorder.heatmap/src/main/java/org/openjdk/jmc/flightrecorder/heatmap/views/HeatmapView.java
> �� application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/heatmap.js
> ⚪️ application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/page.template
> �� application/pom.xml
> Expected:
> <?xml version="1.0" encoding="UTF-8"?>
> <!--
> 	Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
> 
> 	DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> Actual:
> <?xml version="1.0" encoding="UTF-8"?>
> <!--
>    Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
> 
>    DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEAD
> (check whitespace if strings seem to match)
> 
> ❌ Validation failed

This pull request has been closed without being integrated.

-------------

PR: https://git.openjdk.java.net/jmc/pull/342


More information about the jmc-dev mailing list