Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update IBM copyright notices to remove last-modified year #16881

Merged
merged 6 commits into from
Mar 11, 2023

Conversation

jdmpapin
Copy link
Contributor

With the last-modified year removed, PRs no longer need to ensure that it is up-to-date.

The bulk of this change is in the last commit, which has been generated based on a regex substitution. It modifies the vast majority of files in the repository (though only one line in all but a few). There are some much smaller commits leading up to that one. The full list of commits is as follows:

  • Update CONTRIBUTING.md to reflect changes to copyright notices
  • Delete the (now unnecessary) Jenkins copyright check script
  • Fix line endings in jdmpview (Eclipse IDE).launch
  • Use the new single-year IBM copyright notice in generated sources
  • Clean up some copyright/license notice headers
  • Update IBM copyright notices to remove last-modified year

Because the last commit touches so many files, it's tricky to review. I left some suggestions for how to review the corresponding OMR commit in eclipse/omr#6923. Here I've used the same regex substitution script that I posted there.

In the event of conflicts, I will rebase and regenerate the last commit.

Fixes #16669

There is no longer any need to update the year in the copyright notice
at the top of each modified file.

The copyright/license file header template is updated so that the
copyright notice in it will be consistent with the IBM copyright notices
in most files (once they are updated in a subsequent commit).
Instead of the actual last-modified year, the code generators/template
files contain a placeholder or variable to be filled in, or simply code
that determines the current year, so they will not be updated by the
regular expression search and replace.

Since the focus of this change is source file copyright/license notice
headers, some generated copyright notices are deliberately unchanged:

- Those whose purpose is to be embedded into binaries during the build,
  e.g. copyright.c.{in,ftl}, Windows LegalCopyright metadata.

- Those in Javadoc configuration files.

- J9_COPYRIGHT_STRING, which is printed to stdout for users to see.
- Reintroduce paragraph breaks and re-wrap to match other files in
  methodvisibilitytests.xml and testUnreflect.xml.

- Remove a misleading extra notice from TriggerDumpTracePoint.java. It
  was mistakenly left in place when the file was contributed to OpenJ9.
  But since it said 2009, update the initial date accordingly.
This commit was generated by a perl regular expression substitution of:

    Copyright \(c\) (?<year>\d+)(?:, \d+)? (?<who>IBM Corp\.(?: and others\b)?)

for:

    Copyright $+{who} $+{year}
@jdmpapin
Copy link
Contributor Author

eclipse/omr#6923 (comment) applies to this PR as well

@dsouzai dsouzai self-assigned this Mar 10, 2023
Copy link
Contributor

@dsouzai dsouzai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed a sample of the files manually. Since the script used to generate the copyright update commit is the same as the one used in eclipse/omr#6923, it has already been reviewed and shown to be correct. As with the OMR PR, I ran the script used to generate the copyrights and verified that the commit it generates is exactly the same as Update IBM copyright notices to remove last-modified year.

@dsouzai
Copy link
Contributor

dsouzai commented Mar 10, 2023

jenkins test sanity all jdk17

@jdmpapin
Copy link
Contributor Author

jdmpapin commented Mar 11, 2023

AIX failure is #8625:

[2023-03-10T23:40:36.171Z] === Output from failing command(s) repeated here ===
[2023-03-10T23:40:36.171Z] * For target buildtools_tools_jigsaw_classes__the.BUILD_JIGSAW_TOOLS_batch:
[2023-03-10T23:40:36.171Z] Sjavac server failed to initialize: Deadlock condition if locked
[2023-03-10T23:40:36.171Z] Process output:
[2023-03-10T23:40:36.171Z] <End of process output>
[2023-03-10T23:40:36.171Z] IOException caught during compilation: Server failed to initialize: Deadlock condition if locked
[2023-03-10T23:40:36.171Z] 
[2023-03-10T23:40:36.171Z] * All command lines available in /home/jenkins/workspace/Build_JDK17_ppc64_aix_Personal/build/aix-ppc64-server-release/make-support/failure-logs.
[2023-03-10T23:40:36.171Z] === End of repeated output ===

@jdmpapin
Copy link
Contributor Author

Jenkins test sanity aix jdk17

@dsouzai
Copy link
Contributor

dsouzai commented Mar 11, 2023

The Pull Request job shows as failed because the AIX build failed in https://openj9-jenkins.osuosl.org/job/PullRequest-OpenJ9/3470/ (as described in #16881 (comment)); however, the job Devin started (https://openj9-jenkins.osuosl.org/job/PullRequest-OpenJ9/3471/) passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stop maintaining a last-modified year in copyright notices
2 participants