Skip to content

chore: add Apache license headers to logback configs, shell scripts and benchmark template - #3545

Merged
pjfanning merged 2 commits into
apache:mainfrom
pjfanning:license-headers-logback-template
Sep 17, 2026
Merged

pjfanning merged 2 commits into
apache:mainfrom
pjfanning:license-headers-logback-template

Conversation

@pjfanning

@pjfanning pjfanning commented Sep 16, 2026

Copy link
Copy Markdown
Member

Motivation

A scan of the source tree found the following files with no Apache license header:

  • 19 logback XML configuration files
  • bench-jmh/src/main/scala/org/apache/pekko/stream/NewLayoutBenchmark.template, which carries only the original Lightbend copyright notice
  • 8 shell scripts under remote/src/test/resources/ssl/, kubernetes/ and project/scripts/

None of these are covered by sbt-header (XML and shell have no mapping; the .template file is outside the bench-jmh source set), so headerCheckAll never flags them.

Modification

  • Logback XML files and the benchmark template: add the "derived from Akka" Apache header, copied verbatim from CopyrightHeader.apacheFromAkkaSourceHeader. For XML the header is a comment directly after the XML declaration where one exists. The existing Lightbend copyright notice in the template is preserved below the new header.
  • Shell scripts: git history shows seven were inherited from Akka before the 2022 fork, so they get the "derived from Akka" header. gen-ca-bundles.sh was added new in Pekko (feat: load every certificate in the rotating keys engine ca-cert-file #3528) and gets the standard ASF header, matching .github/scripts/resolve-scala-version.sh. Headers are placed after the shebang where one exists.

Result

All logback configs, shell scripts and the benchmark template carry an Apache license header. No behavior change.

Tests

  • Not run - license header only change. Every modified XML file validated with xmllint --noout; every script passes bash -n; header presence re-verified by grep.

References

None - license header hygiene

… benchmark template

Motivation:
A scan of the source tree found 19 logback XML configuration files and
bench-jmh NewLayoutBenchmark.template with no Apache license header. The
template carries only the original Lightbend copyright notice. These files
are not covered by sbt-header (XML has no mapping; the .template file is
outside the bench-jmh source set), so headerCheckAll never flags them.

Modification:
Add the "derived from Akka" Apache license header, copied verbatim from
CopyrightHeader.apacheFromAkkaSourceHeader, to each file. For XML files the
header is placed as a comment directly after the XML declaration where one
exists. The existing Lightbend copyright notice in the template is preserved
below the new header.

Result:
All logback configs and the benchmark template carry the Pekko Akka-derived
Apache header. No behavior change.

Tests:
- Not run - license header only change. Every modified XML file validated
  with xmllint --noout; header presence re-verified by grep.

References:
None - license header hygiene
Motivation:
Eight shell scripts had no license header. Git history shows seven were
inherited from Akka before the 2022 fork; gen-ca-bundles.sh was added new in
Pekko (apache#3528).

Modification:
Add the "derived from Akka" Apache header to the seven Akka-origin scripts
and the standard ASF header to gen-ca-bundles.sh, placed after the shebang
where one exists. Header text copied from CopyrightHeader.scala and
.github/scripts/resolve-scala-version.sh respectively.

Result:
All shell scripts in the repository carry an Apache license header.

Tests:
- Not run - license header only change. bash -n passes on every script.

References:
None - license header hygiene
@pjfanning pjfanning changed the title chore: add Akka-derived Apache license headers to logback configs and benchmark template chore: add Apache license headers to logback configs, shell scripts and benchmark template Sep 16, 2026
pjfanning added a commit to apache/pekko-http that referenced this pull request Sep 17, 2026
…ccess (#1306)

Motivation:
A scan of the source tree for files without an Apache license header
found two that sbt-header never sees: `project/project-info.conf`,
which lives outside every source set, and
`docs/src/main/paradox/.htaccess`, which has no sbt-header file type.
Mirrors apache/pekko#3545, which added headers to the logback XML
files, shell scripts and benchmark template that sbt-header misses in
pekko. pekko-http has no logback configs, its one shell script already
carries a header and its boilerplate templates are covered by the
`*.scala.template` mapping in `CopyrightHeader`, so only these two
files remain.

Modification:
Prepend the `# SPDX-License-Identifier: Apache-2.0` line that
`CopyrightHeader.hashLineComment` hardcodes for every hash-comment file
in this repo, matching the header on the `reference.conf` and
`application.conf` files and on pekko's own `project-info.conf`.

Result:
Every tracked configuration and script file carries a license header.
No behavior change: HOCON and Apache httpd both treat `#` lines as
comments.

Tests:
- `project/project-info.conf` parsed and resolved with Typesafe Config
  1.4.6 after the change; `project-info.scaladoc` resolves as before.
- sbt headerCheckAll - pass.

References:
None - follows apache/pekko#3545
pjfanning added a commit to apache/pekko-management that referenced this pull request Sep 17, 2026
…t scripts (#974)

Motivation:
A scan of the source tree found files with no Apache license header:
three logback.xml configs, the kubernetes-api-java pom.xml, and two
integration-test shell scripts. None are covered by sbt-header (XML and
shell have no mapping), so headerCheckAll never flags them.

Modification:
Add the "derived from Akka" Apache header, copied verbatim from
CopyrightHeader.apacheFromAkkaSourceHeader, to each file. All six files
predate the 2022 fork. For XML the header is a comment directly after
the XML declaration where one exists; for shell scripts it follows the
shebang, matching the existing integration-test/kubernetes-api/test.sh.
Executable bits are preserved.

Result:
All logback configs, XML files and shell scripts carry an Apache license
header. No behavior change.

Tests:
- Not run - license header only change. XML files validated with
  xmllint --noout; scripts pass bash -n; git diff --summary shows no
  mode changes.

References:
None - license header hygiene, equivalent of apache/pekko#3545
@pjfanning
pjfanning merged commit 769718e into apache:main Sep 17, 2026
10 checks passed
@pjfanning
pjfanning deleted the license-headers-logback-template branch September 17, 2026 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants