Skip to content

Commit 1a803d3

Browse files
v0.3.0: rename to Kuestenlogik.Akka.Surgewave.{Streams,Persistence}
Final naming: PackageId/Namespace/Folder/csproj alle auf Kuestenlogik.Akka.Surgewave.Streams + .Persistence (Repo-Name 'Akka.Surgewave' als Mittelteil, Modul als Suffix, mit Punkten). Das '.Surgewave.'-Segment zwischen 'Akka' und 'Streams'/'Persistence' ist Absicht: der Namespace enthaelt nie den Substring 'Akka.Streams' oder 'Akka.Persistence', sodass 'using Akka.Streams.Dsl;' (das externe Akka.NET-Package) nicht mit unserem eigenen Namespace-Baum kollidiert. ABER: weil unser Namespace mit 'Kuestenlogik.Akka.*' beginnt, loest 'Akka' als plain identifier in unseren Files zu 'Kuestenlogik.Akka' auf — jede qualifizierte 'Akka.Xyz'-Referenz und jedes file-level 'using Akka.Xyz;' wuerde brechen. Fixes: * alle file-level 'using Akka.*;' -> 'using global::Akka.*;' (eindeutig der Akka.NET-Root) * global usings (Akka / Akka.Persistence / Akka.Streams + Dsl-Alias) bleiben in GlobalUsings.cs (global scope, dort ist 'Akka' eindeutig) * SnapshotStore.cs: 'Akka.Configuration.ConfigurationFactory' -> 'global::Akka.Configuration.ConfigurationFactory' Version 0.3.0 (v0.2.0 lief unter den Interim-IDs Kuestenlogik. Surgewave.AkkaStreams/.AkkaPersistence — die werden unlisted). README + MAINTAINERS + Workflow-Globs entsprechend aktualisiert.
1 parent 45ab054 commit 1a803d3

77 files changed

Lines changed: 221 additions & 217 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
# nuget.org: nur GA-Tags (kein `-rc`), nur wenn Secret konfiguriert.
6767
# Apache-2.0 → public-pushbar. NUGET_API_KEY braucht den 'Push new
6868
# packages and package versions'-Scope mit Glob
69-
# `Kuestenlogik.Surgewave.Akka*` (deckt AkkaStreams + AkkaPersistence).
69+
# `Kuestenlogik.Akka.Surgewave.*` (deckt AkkaStreams + AkkaPersistence).
7070
- name: Publish NuGet to nuget.org
7171
if: ${{ !contains(github.ref, '-rc') && env.NUGET_API_KEY != '' }}
7272
run: |

Akka.Surgewave.slnx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<Solution>
22
<Folder Name="/src/">
3-
<Project Path="src/Kuestenlogik.Surgewave.AkkaStreams/Kuestenlogik.Surgewave.AkkaStreams.csproj" />
4-
<Project Path="src/Kuestenlogik.Surgewave.AkkaPersistence/Kuestenlogik.Surgewave.AkkaPersistence.csproj" />
3+
<Project Path="src/Kuestenlogik.Akka.Surgewave.Streams/Kuestenlogik.Akka.Surgewave.Streams.csproj" />
4+
<Project Path="src/Kuestenlogik.Akka.Surgewave.Persistence/Kuestenlogik.Akka.Surgewave.Persistence.csproj" />
55
</Folder>
66
<Folder Name="/tests/">
7-
<Project Path="tests/Kuestenlogik.Surgewave.AkkaStreams.Tests/Kuestenlogik.Surgewave.AkkaStreams.Tests.csproj" />
8-
<Project Path="tests/Kuestenlogik.Surgewave.AkkaPersistence.Tests/Kuestenlogik.Surgewave.AkkaPersistence.Tests.csproj" />
7+
<Project Path="tests/Kuestenlogik.Akka.Surgewave.Streams.Tests/Kuestenlogik.Akka.Surgewave.Streams.Tests.csproj" />
8+
<Project Path="tests/Kuestenlogik.Akka.Surgewave.Persistence.Tests/Kuestenlogik.Akka.Surgewave.Persistence.Tests.csproj" />
99
</Folder>
1010
</Solution>

Directory.Build.props

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@
4040

4141
<!--
4242
Versioning is shared across the two packages
43-
(Kuestenlogik.Surgewave.AkkaStreams + Kuestenlogik.Surgewave.AkkaPersistence)
43+
(Kuestenlogik.Akka.Surgewave.Streams + Kuestenlogik.Akka.Surgewave.Persistence)
4444
so a single tag produces both NuGets at the same version. Bump here for a
4545
coordinated release.
4646
-->
4747
<PropertyGroup Condition="'$(IsPackable)' != 'false'">
48-
<Version>0.2.0</Version>
49-
<AssemblyVersion>0.2.0</AssemblyVersion>
50-
<FileVersion>0.2.0</FileVersion>
48+
<Version>0.3.0</Version>
49+
<AssemblyVersion>0.3.0</AssemblyVersion>
50+
<FileVersion>0.3.0</FileVersion>
5151
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
5252
</PropertyGroup>
5353

MAINTAINERS.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ git push --tags
3333
- `.github/workflows/release.yml` triggers on `v*` tag push
3434
- Build + Test + Pack run against the tag version (slnx covers both projects)
3535
- Two `*.nupkg` artifacts:
36-
- `Kuestenlogik.Surgewave.AkkaStreams.<v>.nupkg`
37-
- `Kuestenlogik.Surgewave.AkkaPersistence.<v>.nupkg`
36+
- `Kuestenlogik.Akka.Surgewave.Streams.<v>.nupkg`
37+
- `Kuestenlogik.Akka.Surgewave.Persistence.<v>.nupkg`
3838
- Both push to GitHub Packages (stable + pre-release)
3939
- Both push to nuget.org (stable only, gated on `NUGET_API_KEY` secret)
4040
- GitHub Release with auto-generated notes + both nupkgs attached
@@ -48,7 +48,7 @@ git push --tags
4848

4949
| Secret | Scope | Used for |
5050
|---|---|---|
51-
| `NUGET_API_KEY` | Org-level | nuget.org publish (gate on `env.X != ''`). Glob should include `Kuestenlogik.Surgewave.Akka*` to cover both packages. |
51+
| `NUGET_API_KEY` | Org-level | nuget.org publish (gate on `env.X != ''`). Glob should include `Kuestenlogik.Akka.Surgewave.*` to cover both packages. |
5252
| `KUESTENLOGIK_PACKAGES_TOKEN` | Org-level | Restore from GitHub Packages during build (Surgewave-Client dependency) |
5353

5454
If `NUGET_API_KEY` is missing, the workflow skips nuget.org silently and GitHub Packages still receives the build.
@@ -57,16 +57,18 @@ If `NUGET_API_KEY` is missing, the workflow skips nuget.org silently and GitHub
5757

5858
Aligned across all artifacts for both packages:
5959

60-
| Property | AkkaStreams | AkkaPersistence |
60+
| Property | Streams | Persistence |
6161
|---|---|---|
6262
| **Repo** | `Akka.Surgewave` (shared) | `Akka.Surgewave` (shared) |
63-
| **csproj-Folder** | `src/Kuestenlogik.Surgewave.AkkaStreams/` | `src/Kuestenlogik.Surgewave.AkkaPersistence/` |
64-
| **csproj name** | `Kuestenlogik.Surgewave.AkkaStreams.csproj` | `Kuestenlogik.Surgewave.AkkaPersistence.csproj` |
65-
| **Assembly name** | `Kuestenlogik.Surgewave.AkkaStreams` | `Kuestenlogik.Surgewave.AkkaPersistence` |
66-
| **C# Namespace** | `Kuestenlogik.Surgewave.AkkaStreams` | `Kuestenlogik.Surgewave.AkkaPersistence` |
67-
| **NuGet PackageId** | `Kuestenlogik.Surgewave.AkkaStreams` | `Kuestenlogik.Surgewave.AkkaPersistence` |
63+
| **csproj-Folder** | `src/Kuestenlogik.Akka.Surgewave.Streams/` | `src/Kuestenlogik.Akka.Surgewave.Persistence/` |
64+
| **csproj name** | `Kuestenlogik.Akka.Surgewave.Streams.csproj` | `Kuestenlogik.Akka.Surgewave.Persistence.csproj` |
65+
| **Assembly name** | `Kuestenlogik.Akka.Surgewave.Streams` | `Kuestenlogik.Akka.Surgewave.Persistence` |
66+
| **C# Namespace** | `Kuestenlogik.Akka.Surgewave.Streams` | `Kuestenlogik.Akka.Surgewave.Persistence` |
67+
| **NuGet PackageId** | `Kuestenlogik.Akka.Surgewave.Streams` | `Kuestenlogik.Akka.Surgewave.Persistence` |
6868

69-
`AkkaStreams` / `AkkaPersistence` are deliberately single-token (no `Akka.Streams` / `Akka.Persistence` sub-namespace), so the C# compiler does not confuse `using Akka.Streams.Dsl;` (the external Akka.NET package) with our own namespace tree. The `Akka.*` prefix on nuget.org is verified-reserved by the Akka.NET team (owner `Akka`); a direct push under `Akka.Streams.Surgewave` / `Akka.Persistence.Surgewave` returns `409 Conflict`.
69+
The `.Surgewave.` segment between `Akka` and `Streams`/`Persistence` is deliberate: the namespace never contains the substring `Akka.Streams` or `Akka.Persistence`, so the C# compiler does not confuse `using Akka.Streams.Dsl;` (the external Akka.NET package) with our own namespace tree. The `Akka.*` prefix on nuget.org is verified-reserved by the Akka.NET team (owner `Akka`); a direct push under `Akka.Streams.Surgewave` / `Akka.Persistence.Surgewave` returns `409 Conflict`.
70+
71+
A short-lived v0.2.0 shipped under the interim ids `Kuestenlogik.Surgewave.AkkaStreams` / `.AkkaPersistence`; v0.3.0 onwards uses `Kuestenlogik.Akka.Surgewave.{Streams,Persistence}` and the v0.2.0 ids are unlisted.
7072

7173
## Predecessor repos
7274

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@ Two NuGet packages ship from this repository:
66

77
| Package | What it does | Analogous to |
88
|---|---|---|
9-
| [`Kuestenlogik.Surgewave.AkkaStreams`](https://www.nuget.org/packages/Kuestenlogik.Surgewave.AkkaStreams) | Sources, Sinks and Flows for reactive Surgewave topic integration | [Akka.Streams.Kafka](https://github.com/akkadotnet/Akka.Streams.Kafka) (Alpakka) |
10-
| [`Kuestenlogik.Surgewave.AkkaPersistence`](https://www.nuget.org/packages/Kuestenlogik.Surgewave.AkkaPersistence) | Journal, Snapshot Store and Persistence Query backed by Surgewave topics, with Schema Registry support | [Akka.Persistence.SqlServer](https://github.com/akkadotnet/Akka.Persistence.Sql) (SqlServer backend) |
9+
| [`Kuestenlogik.Akka.Surgewave.Streams`](https://www.nuget.org/packages/Kuestenlogik.Akka.Surgewave.Streams) | Sources, Sinks and Flows for reactive Surgewave topic integration | [Akka.Streams.Kafka](https://github.com/akkadotnet/Akka.Streams.Kafka) (Alpakka) |
10+
| [`Kuestenlogik.Akka.Surgewave.Persistence`](https://www.nuget.org/packages/Kuestenlogik.Akka.Surgewave.Persistence) | Journal, Snapshot Store and Persistence Query backed by Surgewave topics, with Schema Registry support | [Akka.Persistence.SqlServer](https://github.com/akkadotnet/Akka.Persistence.Sql) (SqlServer backend) |
1111

12-
> **Naming.** The `Akka.*` prefix on nuget.org is verified-reserved by the Akka.NET team (owner `Akka`). Third-party plugins either get donated to that account or ship under their own brand. Surgewave takes the second route — the `Kuestenlogik.Surgewave.Akka{Streams,Persistence}` ids and namespaces sit under the Surgewave brand. Repo and packages stay aligned (`AkkaStreams`/`AkkaPersistence` as single tokens) so the C# compiler doesn't confuse `using Akka.Streams.Dsl;` with our own namespace tree.
12+
> **Naming.** The `Akka.*` prefix on nuget.org is verified-reserved by the Akka.NET team (owner `Akka`). Third-party plugins either get donated to that account or ship under their own brand. Surgewave takes the second route — the `Kuestenlogik.Akka.Surgewave.{Streams,Persistence}` ids and namespaces sit under the Kuestenlogik brand. The `.Surgewave.` segment between `Akka` and `Streams`/`Persistence` is deliberate: it means our namespace never contains the substring `Akka.Streams` or `Akka.Persistence`, so the C# compiler can't confuse `using Akka.Streams.Dsl;` (the external Akka.NET package) with our own namespace tree.
1313
14-
## Kuestenlogik.Surgewave.AkkaStreams
14+
## Kuestenlogik.Akka.Surgewave.Streams
1515

1616
```bash
17-
dotnet add package Kuestenlogik.Surgewave.AkkaStreams
17+
dotnet add package Kuestenlogik.Akka.Surgewave.Streams
1818
```
1919

2020
```csharp
21-
using Kuestenlogik.Surgewave.AkkaStreams;
21+
using Kuestenlogik.Akka.Surgewave.Streams;
2222
```
2323

2424
### Features
@@ -46,14 +46,14 @@ var control = SurgewaveConsumer
4646
.Run(materializer);
4747
```
4848

49-
## Kuestenlogik.Surgewave.AkkaPersistence
49+
## Kuestenlogik.Akka.Surgewave.Persistence
5050

5151
```bash
52-
dotnet add package Kuestenlogik.Surgewave.AkkaPersistence
52+
dotnet add package Kuestenlogik.Akka.Surgewave.Persistence
5353
```
5454

5555
```csharp
56-
using Kuestenlogik.Surgewave.AkkaPersistence;
56+
using Kuestenlogik.Akka.Surgewave.Persistence;
5757
```
5858

5959
### Features
@@ -85,7 +85,7 @@ builder.Services.AddAkka("my-system", (akkaBuilder, sp) =>
8585

8686
## History
8787

88-
This repository consolidates the previously separate `Akka.Streams.Surgewave` and `Akka.Persistence.Surgewave` repositories (each at v0.1.1 on nuget.org under `Kuestenlogik.Akka.Streams.Surgewave` / `Kuestenlogik.Akka.Persistence.Surgewave`). v0.2.0 ships from this combined repo with the new ids above; the old repos are archived with a pointer to this one.
88+
This repository consolidates the previously separate `Akka.Streams.Surgewave` and `Akka.Persistence.Surgewave` repositories (each at v0.1.1 on nuget.org under `Kuestenlogik.Akka.Streams.Surgewave` / `Kuestenlogik.Akka.Persistence.Surgewave`). v0.3.0 ships from this combined repo with the ids above; the old repos are archived with a pointer to this one. (A short-lived v0.2.0 used the interim ids `Kuestenlogik.Surgewave.AkkaStreams` / `.AkkaPersistence`; those are unlisted in favour of the `Kuestenlogik.Akka.Surgewave.*` ids.)
8989

9090
## License
9191

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Akka root types (Done, NotUsed, ...), Akka.Persistence and Akka.Configuration
2+
// were implicitly in scope under the old `namespace Akka.Persistence.Surgewave.X`
3+
// because Akka was an outer namespace. After the rename to
4+
// Kuestenlogik.Akka.Surgewave.Persistence, `Akka` as a plain identifier resolves
5+
// to our own `Kuestenlogik.Akka` prefix — so any qualified `Akka.Xyz` reference
6+
// breaks. These global usings (evaluated in the global scope, where `Akka` is
7+
// unambiguously the Akka.NET root) re-import the namespaces so per-file code
8+
// stays unqualified and Akka-idiomatic.
9+
global using Akka;
10+
global using Akka.Persistence;
11+
global using Akka.Streams;

src/Kuestenlogik.Surgewave.AkkaPersistence/Hosting/SurgewavePersistenceExtensions.cs renamed to src/Kuestenlogik.Akka.Surgewave.Persistence/Hosting/SurgewavePersistenceExtensions.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
namespace Kuestenlogik.Surgewave.AkkaPersistence.Hosting;
1+
namespace Kuestenlogik.Akka.Surgewave.Persistence.Hosting;
22

3-
using Akka.Hosting;
3+
using global::Akka.Hosting;
44

55
/// <summary>
66
/// DI extensions for configuring Surgewave-backed Akka.NET Persistence via Akka.Hosting.
@@ -46,7 +46,7 @@ private static string GenerateHocon(SurgewavePersistenceSetup setup)
4646
journal {
4747
plugin = "akka.persistence.journal.surgewave"
4848
surgewave {
49-
class = "Kuestenlogik.Surgewave.AkkaPersistence.Journal.SurgewaveJournal, Kuestenlogik.Surgewave.AkkaPersistence"
49+
class = "Kuestenlogik.Akka.Surgewave.Persistence.Journal.SurgewaveJournal, Kuestenlogik.Akka.Surgewave.Persistence"
5050
plugin-dispatcher = "akka.actor.default-dispatcher"
5151
bootstrap-servers = "{{setup.BootstrapServers}}"
5252
protocol = "{{setup.Protocol}}"
@@ -77,7 +77,7 @@ class = "Kuestenlogik.Surgewave.AkkaPersistence.Journal.SurgewaveJournal, Kueste
7777
snapshot-store {
7878
plugin = "akka.persistence.snapshot-store.surgewave"
7979
surgewave {
80-
class = "Kuestenlogik.Surgewave.AkkaPersistence.Snapshot.SurgewaveSnapshotStore, Kuestenlogik.Surgewave.AkkaPersistence"
80+
class = "Kuestenlogik.Akka.Surgewave.Persistence.Snapshot.SurgewaveSnapshotStore, Kuestenlogik.Akka.Surgewave.Persistence"
8181
plugin-dispatcher = "akka.actor.default-dispatcher"
8282
bootstrap-servers = "{{setup.BootstrapServers}}"
8383
protocol = "{{setup.Protocol}}"
@@ -114,7 +114,7 @@ private static string GenerateReadJournalHocon(SurgewaveReadJournalSetup setup)
114114
return $$"""
115115
akka.persistence.query {
116116
surgewave-read-journal {
117-
class = "Kuestenlogik.Surgewave.AkkaPersistence.Query.SurgewaveReadJournalProvider, Kuestenlogik.Surgewave.AkkaPersistence"
117+
class = "Kuestenlogik.Akka.Surgewave.Persistence.Query.SurgewaveReadJournalProvider, Kuestenlogik.Akka.Surgewave.Persistence"
118118
refresh-interval = {{setup.RefreshInterval.TotalMilliseconds}}ms
119119
consumer-group = "{{setup.ConsumerGroup}}"
120120
}

src/Kuestenlogik.Surgewave.AkkaPersistence/Hosting/SurgewavePersistenceSetup.cs renamed to src/Kuestenlogik.Akka.Surgewave.Persistence/Hosting/SurgewavePersistenceSetup.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
namespace Kuestenlogik.Surgewave.AkkaPersistence.Hosting;
1+
namespace Kuestenlogik.Akka.Surgewave.Persistence.Hosting;
22

3-
using Kuestenlogik.Surgewave.AkkaPersistence.Serialization;
3+
using Kuestenlogik.Akka.Surgewave.Persistence.Serialization;
44
using Kuestenlogik.Surgewave.Client.SchemaRegistry;
55

66
/// <summary>

src/Kuestenlogik.Surgewave.AkkaPersistence/Journal/IndexEntry.cs renamed to src/Kuestenlogik.Akka.Surgewave.Persistence/Journal/IndexEntry.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace Kuestenlogik.Surgewave.AkkaPersistence.Journal;
1+
namespace Kuestenlogik.Akka.Surgewave.Persistence.Journal;
22

33
/// <summary>
44
/// Compact summary stored in the compacted index topic per PersistenceId.

src/Kuestenlogik.Surgewave.AkkaPersistence/Journal/JournalIndexManager.cs renamed to src/Kuestenlogik.Akka.Surgewave.Persistence/Journal/JournalIndexManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace Kuestenlogik.Surgewave.AkkaPersistence.Journal;
1+
namespace Kuestenlogik.Akka.Surgewave.Persistence.Journal;
22

33
using System.Collections.Concurrent;
44
using System.Text.Json;

0 commit comments

Comments
 (0)