Skip to content

Add Apache 2.0 headers to every .cs file; refresh README index#20

Merged
ancongui merged 1 commit into
mainfrom
chore/license-headers-readme-cleanup
May 7, 2026
Merged

Add Apache 2.0 headers to every .cs file; refresh README index#20
ancongui merged 1 commit into
mainfrom
chore/license-headers-readme-cleanup

Conversation

@ancongui
Copy link
Copy Markdown
Contributor

@ancongui ancongui commented May 7, 2026

Summary

A repo-wide cleanup pass for professionalism and licensing hygiene.

Apache 2.0 license header

Prepended the standard Firefly Software Foundation Apache 2.0 header to every C# source file in `src/`, `samples/`, and `tests/` — 344 files, none of which previously had a header.

```csharp
// Copyright 2024-2026 Firefly Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
// implied. See the License for the specific language governing
// permissions and limitations under the License.
```

The text matches the notice in the Java sources, normalised to C# `//` line comments. Insertion was idempotent (skipped any file already containing "Firefly Software Foundation"); re-running is a no-op.

Documentation index

  • Removed `docs/AUDIT.md` per direction. The same information is now implicit in the README quickstarts, the per-project READMEs, and the new index pages.
  • Added `docs/README.md` — indexes ARCHITECTURE / MODULES / SERVICE-SCAFFOLDING / CONFIGURATION / MIGRATION-GUIDE with audience tags and a recommended reading order. Replaces the navigation role AUDIT.md served.
  • Added `src/README.md` — lists every `src/*` project organised by tier (Foundational / Platform / Adapters / Starters) with a one-line description and a link to its own README. Calls out the repo-wide conventions (Apache header, file-scoped namespaces, packability default, options/DI extension naming, no silent stubs).
  • Added `tests/README.md` — single-test-project layout, how to run filtered subsets, the three test categories (framework internals / adapter shape / extras), and the conventions for new tests.

Top-level README touch-up

  • "Repository layout" tree shows the three new index READMEs and drops the AUDIT.md line.
  • "Documentation" section points at `docs/README.md` as the recommended entry point and removes the AUDIT.md row.
  • Cross-links to `src/README.md` / `samples/README.md` / `tests/README.md` so a reader landing in any subfolder reaches the right next page in one click.

Verification

  • `dotnet build FireflyFramework.sln` — 0 errors, 0 warnings.
  • `dotnet test FireflyFramework.sln --no-build` — 346 / 346 passing.
  • `find src tests samples -name '*.cs' -exec grep -L 'Firefly Software Foundation' {} ;` — empty (every file now has the header).
  • Header is placed above the first `using` directive, separated by a blank line; not interleaved with namespace or member declarations.

Change shape

  • 344 .cs files modified (header insertion only, no logic changes)
  • 1 file deleted (`docs/AUDIT.md`)
  • 3 files added (`docs/README.md`, `src/README.md`, `tests/README.md`)
  • 1 file edited (`README.md` — references updated)

A repo-wide cleanup pass for professionalism / licensing hygiene:

## Apache 2.0 license header

Prepended the standard Firefly Software Foundation Apache 2.0 header
to every C# source file in src/, samples/, and tests/ — 344 files in
total, all of which previously lacked a header. The text is the same
notice used in the Java sources, normalised to C# `//` line comments:

    // Copyright 2024-2026 Firefly Software Foundation
    //
    // Licensed under the Apache License, Version 2.0 (the "License");
    // you may not use this file except in compliance with the License.
    // You may obtain a copy of the License at
    //
    //     http://www.apache.org/licenses/LICENSE-2.0
    //
    // Unless required by applicable law or agreed to in writing, software
    // distributed under the License is distributed on an "AS IS" BASIS,
    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    // implied. See the License for the specific language governing
    // permissions and limitations under the License.

The header sits above the first using directive, separated by a blank
line. Insertion was idempotent (skipped any file already containing
"Firefly Software Foundation"); re-running on top is a no-op. Build:
0 errors / 0 warnings; 346/346 tests still pass.

## Documentation index

Removed `docs/AUDIT.md` (Java↔.NET parity audit) per the user's
direction — the same information now lives implicitly in the README
quickstarts, the per-project READMEs, and the new index pages added
in this PR. All references to AUDIT.md are stripped from README.md.

Added three new top-level README index pages:

* `docs/README.md` — indexes ARCHITECTURE / MODULES / SERVICE-SCAFFOLDING
  / CONFIGURATION / MIGRATION-GUIDE with audience tags and a recommended
  reading order. Replaces the navigation role AUDIT.md served.

* `src/README.md` — lists every src/* project organised by tier
  (Foundational / Platform / Adapters / Starters), with a one-line
  description of each and a link to its own README. Calls out the
  conventions every project follows: Apache header, file-scoped
  namespaces, `<IsPackable>true</IsPackable>` default, options + DI
  extension naming, and the no-silent-stubs rule.

* `tests/README.md` — describes the single-test-project layout, how
  to run filtered subsets, the three test categories (framework
  internals / adapter shape / extras), and the conventions for new
  tests (WireMock for HTTP adapters, NSubstitute for SDK-fronted
  ones, xUnit-native asserts).

## README touch-up

Updated the top-level `README.md` to reflect the new structure:

* "Repository layout" tree shows the three new index READMEs and
  drops the AUDIT.md line.
* "Documentation" section points at `docs/README.md` as the
  recommended starting point and removes the AUDIT.md row.
* Per-project + index READMEs are explicitly cross-linked so a
  reader landing in any of `src/`, `samples/`, `tests/`, or `docs/`
  finds the right next page within one click.

## Verification

* `dotnet build FireflyFramework.sln` — 0 errors / 0 warnings.
* `dotnet test FireflyFramework.sln --no-build` — 346 / 346 passing.
* `find src tests samples -name '*.cs' -exec grep -L 'Firefly Software Foundation' {} \;` — empty (every file has the header).
* `head -2 src/FireflyFramework.Cqrs/Commands/ICommand.cs` shows the
  header sits above the first `using` directive, not inside it.
@ancongui ancongui merged commit 7c8d3a4 into main May 7, 2026
@ancongui ancongui deleted the chore/license-headers-readme-cleanup branch May 7, 2026 17:39
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.

1 participant