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

docs: revise URL structure (libraries) #1202

Merged
merged 6 commits into from
Oct 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 0 additions & 32 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,38 +76,6 @@ jobs:
- name: Compile all code with fatal warnings for Java 11, Scala 2.13 and Scala 3
run: sbt "clean ; +compile; +Test/compile; +akka-projection-integration/Test/compile"

check-docs:
name: Check Docs
runs-on: ubuntu-22.04
steps:
- name: Checkout
# https://github.com/actions/checkout/releases
# v4.1.1
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
fetch-depth: 0

- name: Checkout GitHub merge
if: github.event.pull_request
run: |-
git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch
git checkout scratch

- name: Cache Coursier cache
# https://github.com/coursier/cache-action/releases
# v6.4.5
uses: coursier/cache-action@1ff273bff02a8787bc9f1877d347948af647956d

- name: Set up JDK 11
# https://github.com/coursier/setup-action/releases
# v1.3.5
uses: coursier/setup-action@7bde40eee928896f074dbb76d22dd772eed5c65f
with:
jvm: temurin:1.11

- name: Create all API docs for artifacts/website and all reference docs
run: sbt "unidoc; docs/paradox; akka-distributed-cluster-docs/paradox; akka-edge-docs/paradox"

check-samples:
name: Check Sample Projects
runs-on: ubuntu-22.04
Expand Down
46 changes: 46 additions & 0 deletions .github/workflows/link-validator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Link Validator

on:
workflow_dispatch:
pull_request:
schedule:
- cron: '0 5 1 * *'

permissions:
contents: read

jobs:
validate-links:
runs-on: ubuntu-22.04
if: github.event.repository.fork == false
steps:
- name: Checkout
# https://github.com/actions/checkout/releases
# v4.1.1
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
# See https://github.com/actions/checkout/issues/299#issuecomment-677674415
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 100

- name: Fetch tags
run: git fetch --depth=100 origin +refs/tags/*:refs/tags/*

- name: Cache Coursier cache
# https://github.com/coursier/cache-action/releases
# v6.4.5
uses: coursier/cache-action@1ff273bff02a8787bc9f1877d347948af647956d

- name: Set up JDK 17
# https://github.com/coursier/setup-action/releases
# v1.3.5
uses: coursier/setup-action@7bde40eee928896f074dbb76d22dd772eed5c65f
with:
jvm: temurin:1.17.0.5
apps: cs

- name: Create all API docs for artifacts/website and all reference docs
run: sbt "unidoc; docs/paradox; akka-distributed-cluster-docs/paradox; akka-edge-docs/paradox"

- name: Run Link Validator
run: cs launch net.runne::site-link-validator:0.2.5 -- scripts/link-validator.conf
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,12 @@ jobs:
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves
fetch-depth: 0

- name: Set up JDK 11
- name: Set up JDK 17
# https://github.com/coursier/setup-action/releases
# v1.3.5
uses: coursier/setup-action@7bde40eee928896f074dbb76d22dd772eed5c65f
with:
jvm: temurin:1.11
jvm: temurin:1.17

- name: Publish
run: |-
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ There are many alternatives for secure access with a load balancer. An incomplet
* [Linkerd multi-cluster](https://linkerd.io/2.13/features/multicluster/)

Mutual authentication with TLS (mTLS) can be very useful where only other known services are allowed to interact with
a service, and public access should be denied. See [Akka gRPC documentation](https://doc.akka.io/docs/akka-grpc/current/mtls.html).
a service, and public access should be denied. See [Akka gRPC documentation](https://doc.akka.io/libraries/akka-grpc/current/mtls.html).

We are going to use a network load balancer for simplicity of this example, and we are not using TLS. Real applications would of course require TLS.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ There are many alternatives for secure access with a load balancer. An incomplet
* [Linkerd multi-cluster](https://linkerd.io/2.13/features/multicluster/)

Mutual authentication with TLS (mTLS) can be very useful where only other known services are allowed to interact with
a service, and public access should be denied. See [Akka gRPC documentation](https://doc.akka.io/docs/akka-grpc/current/mtls.html).
a service, and public access should be denied. See [Akka gRPC documentation](https://doc.akka.io/libraries/akka-grpc/current/mtls.html).

We are going to use a network load balancer for simplicity of this example, and we are not using TLS. Real applications would of course require TLS.

Expand Down
2 changes: 1 addition & 1 deletion akka-projection-core/src/main/resources/reference.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ akka.projection {
# The configuration to use to restart the projection after an underlying streams failure
# The Akka streams restart source is used to facilitate this behaviour
# See the streams documentation for more details
# https://doc.akka.io/docs/akka/current/stream/stream-error.html#delayed-restarts-with-a-backoff-operator
# https://doc.akka.io/libraries/akka-core/current/stream/stream-error.html#delayed-restarts-with-a-backoff-operator
restart-backoff {
min-backoff = 3s
max-backoff = 30s
Expand Down
2 changes: 1 addition & 1 deletion akka-projection-grpc/src/main/resources/reference.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ akka.projection.grpc {
# if creating the GrpcQuerySettings programmatically these settings are ignored

# Configuration of gRPC client.
# See https://doc.akka.io/docs/akka-grpc/current/client/configuration.html#by-configuration
# See https://doc.akka.io/libraries/akka-grpc/current/client/configuration.html#by-configuration
client = ${akka.grpc.client."*"}
client {
}
Expand Down
32 changes: 17 additions & 15 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ lazy val examples = project
lazy val commonParadoxProperties = Def.settings(
Compile / paradoxProperties ++= Map(
// Akka
"extref.akka.base_url" -> s"https://doc.akka.io/docs/akka/${Dependencies.Versions.AkkaVersionInDocs}/%s",
"extref.akka.base_url" -> s"https://doc.akka.io/libraries/akka-core/${Dependencies.Versions.AkkaVersionInDocs}/%s",
"scaladoc.akka.base_url" -> s"https://doc.akka.io/api/akka/${Dependencies.Versions.AkkaVersionInDocs}/",
"javadoc.akka.base_url" -> s"https://doc.akka.io/japi/akka/${Dependencies.Versions.AkkaVersionInDocs}/",
"javadoc.akka.link_style" -> "direct",
Expand All @@ -203,9 +203,11 @@ lazy val commonParadoxProperties = Def.settings(
"scaladoc.akka.kafka.base_url" -> s"https://doc.akka.io/api/alpakka-kafka/${Dependencies.Versions.AlpakkaKafkaVersionInDocs}/",
"javadoc.akka.kafka.base_url" -> "",
// Akka gRPC
"extref.akka-grpc.base_url" -> s"https://doc.akka.io/docs/akka-grpc/${Dependencies.Versions.AkkaGrpcVersionInDocs}/%s",
"extref.akka-grpc.base_url" -> s"https://doc.akka.io/libraries/akka-grpc/${Dependencies.Versions.AkkaGrpcVersionInDocs}/%s",
"scaladoc.akka.grpc.base_url" -> "",
"javadoc.akka.grpc.base_url" -> "",
// Akka persistence R2DBC plugin
"extref.akka-persistence-r2dbc.base_url" -> s"https://doc.akka.io/docs/akka-persistence-r2dbc/${Dependencies.Versions.AkkaPersistenceR2dbcVersionInDocs}/%s",
"extref.akka-persistence-r2dbc.base_url" -> s"https://doc.akka.io/libraries/akka-persistence-r2dbc/${Dependencies.Versions.AkkaPersistenceR2dbcVersionInDocs}/%s",
// Akka Guide
"extref.akka-guide.base_url" -> "https://developer.lightbend.com/docs/akka-guide/microservices-tutorial/",
// Java
Expand Down Expand Up @@ -235,13 +237,13 @@ lazy val docs = project
_ => s"https://doc\\.akka\\.io/api/akka-grpc/${akka.grpc.gen.BuildInfo.version}/akka/grpc/")),
Paradox / siteSubdirName := s"docs/akka-projection/${projectInfoVersion.value}",
Compile / paradoxProperties ++= Map(
"project.url" -> "https://doc.akka.io/docs/akka-projection/current/",
"canonical.base_url" -> "https://doc.akka.io/docs/akka-projection/current",
"project.url" -> "https://doc.akka.io/libraries/akka-projection/current/",
"canonical.base_url" -> "https://doc.akka.io/libraries/akka-projection/current",
"github.base_url" -> "https://github.com/akka/akka-projection",
"akka.version" -> Dependencies.Versions.Akka,
"akka.r2dbc.version" -> Dependencies.Versions.AkkaPersistenceR2dbc,
"extref.akka-distributed-cluster.base_url" -> s"https://doc.akka.io/docs/akka-distributed-cluster/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s",
"extref.akka-edge.base_url" -> s"https://doc.akka.io/docs/akka-edge/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s"),
"extref.akka-distributed-cluster.base_url" -> s"https://doc.akka.io/libraries/akka-distributed-cluster/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s",
"extref.akka-edge.base_url" -> s"https://doc.akka.io/libraries/akka-edge/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s"),
commonParadoxProperties,
paradoxGroups := Map("Language" -> Seq("Java", "Scala")),
paradoxRoots := List("index.html", "getting-started/event-generator-app.html"),
Expand All @@ -262,12 +264,12 @@ lazy val `akka-distributed-cluster-docs` = project
Paradox / siteSubdirName := s"docs/akka-distributed-cluster/${projectInfoVersion.value}",
commonParadoxProperties,
Compile / paradoxProperties ++= Map(
"project.url" -> "https://doc.akka.io/docs/akka-distributed-cluster/current/",
"canonical.base_url" -> "https://doc.akka.io/docs/akka-distributed-cluster/current",
"project.url" -> "https://doc.akka.io/libraries/akka-distributed-cluster/current/",
"canonical.base_url" -> "https://doc.akka.io/libraries/akka-distributed-cluster/current",
"github.base_url" -> "https://github.com/akka/akka-projection",
"akka.version" -> Dependencies.Versions.Akka,
"akka.r2dbc.version" -> Dependencies.Versions.AkkaPersistenceR2dbc,
"extref.akka-projection.base_url" -> s"https://doc.akka.io/docs/akka-projection/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s",
"extref.akka-projection.base_url" -> s"https://doc.akka.io/libraries/akka-projection/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s",
"scaladoc.akka.projection.base_url" -> s"https://doc.akka.io/api/akka-projection/${Dependencies.Versions.AkkaProjectionVersionInDocs}/"),
paradoxGroups := Map("Language" -> Seq("Java", "Scala")),
paradoxRoots := List("index.html"),
Expand All @@ -287,17 +289,17 @@ lazy val `akka-edge-docs` = project
Paradox / siteSubdirName := s"docs/akka-edge/${projectInfoVersion.value}",
commonParadoxProperties,
Compile / paradoxProperties ++= Map(
"project.url" -> "https://doc.akka.io/docs/akka-edge/current/",
"canonical.base_url" -> "https://doc.akka.io/docs/akka-edge/current",
"project.url" -> "https://doc.akka.io/libraries/akka-edge/current/",
"canonical.base_url" -> "https://doc.akka.io/libraries/akka-edge/current",
"github.base_url" -> "https://github.com/akka/akka-projection",
"akka.version" -> Dependencies.Versions.Akka,
"akka.r2dbc.version" -> Dependencies.Versions.AkkaPersistenceR2dbc,
"h2.version" -> Dependencies.Compile.h2.revision,
"r2dbc-h2.version" -> Dependencies.Compile.r2dbcH2.revision,
"extref.akka-projection.base_url" -> s"https://doc.akka.io/docs/akka-projection/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s",
"extref.akka-projection.base_url" -> s"https://doc.akka.io/libraries/akka-projection/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s",
"scaladoc.akka.projection.base_url" -> s"https://doc.akka.io/api/akka-projection/${Dependencies.Versions.AkkaProjectionVersionInDocs}/",
"extref.akka-distributed-cluster.base_url" -> s"https://doc.akka.io/docs/akka-distributed-cluster/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s",
"extref.akka-persistence-r2dbc.base_url" -> s"https://doc.akka.io/docs/akka-persistence-r2dbc/${Dependencies.Versions.AkkaPersistenceR2dbcVersionInDocs}/%s",
"extref.akka-distributed-cluster.base_url" -> s"https://doc.akka.io/libraries/akka-distributed-cluster/${Dependencies.Versions.AkkaProjectionVersionInDocs}/%s",
"extref.akka-persistence-r2dbc.base_url" -> s"https://doc.akka.io/libraries/akka-persistence-r2dbc/${Dependencies.Versions.AkkaPersistenceR2dbcVersionInDocs}/%s",
// API docs for akka-edge-rs
"extref.akka-edge-rs-api.base_url" -> s"https://doc.akka.io/api/akka-edge-rs/current/%s"),
paradoxGroups := Map("Language" -> Seq("Java", "Scala")),
Expand Down
8 changes: 4 additions & 4 deletions docs/release-train-issue-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Variables to be expanded in this template:
- [ ] Check that open PRs and issues assigned to the milestone are reasonable
- [ ] Update the Change date and version in the LICENSE file
- [ ] Update the Akka Projection version in the samples to $VERSION$, otherwise the published zip files of the samples will have the old version.
- [ ] Update the Akka Projection version in `Dependencies.AkkaProjectionVersionInDocs`
- [ ] Create a new milestone for the [next version](https://github.com/akka/akka-projection/milestones)
- [ ] Close the [$VERSION$ milestone](https://github.com/akka/akka-projection/milestones?direction=asc&sort=due_date)
- [ ] Make sure all important PRs have been merged
Expand All @@ -28,7 +29,7 @@ Variables to be expanded in this template:
### Check availability

- [ ] Check [API](https://doc.akka.io/api/akka-projection/$VERSION$/) documentation
- [ ] Check [reference](https://doc.akka.io/docs/akka-projection/$VERSION$/) documentation. Check that the reference docs were deployed and show a version warning (see section below on how to fix the version warning).
- [ ] Check [reference](https://doc.akka.io/libraries/akka-projection/$VERSION$/) documentation. Check that the reference docs were deployed and show a version warning (see section below on how to fix the version warning).
- [ ] Check the release on https://repo.akka.io/maven/com/lightbend/akka/akka-projection-core_2.13/$VERSION$/akka-projection-core_2.13-$VERSION$.pom

### When everything is on https://repo.akka.io/maven
Expand All @@ -38,7 +39,7 @@ Variables to be expanded in this template:
```
cd ~/www
git status
git add docs/akka-projection/current docs/akka-projection/$VERSION$
git add libraries/akka-projection/current libraries/akka-projection/$VERSION$
git add api/akka-projection/current api/akka-projection/$VERSION$
git commit -m "Akka Projection $VERSION$"
```
Expand All @@ -49,7 +50,6 @@ For important patch releases, and only if critical issues have been fixed:

- [ ] Send a release notification to [Lightbend discuss](https://discuss.akka.io)
- [ ] Tweet using the [@akkateam](https://twitter.com/akkateam/) account (or ask someone to) about the new release
- [ ] Announce on [Gitter akka/akka](https://gitter.im/akka/akka)
- [ ] Announce internally (with links to Tweet, discuss)

For minor or major releases:
Expand All @@ -58,6 +58,6 @@ For minor or major releases:

### Afterwards

- [ ] Update [akka-dependencies bom](https://github.com/lightbend/akka-dependencies) and version for [Akka module versions](https://doc.akka.io/docs/akka-dependencies/current/) in [akka-dependencies repo](https://github.com/akka/akka-dependencies)
- [ ] Update [akka-dependencies bom](https://github.com/akka/akka-dependencies) and version for [Akka module versions](https://doc.akka.io/libraries/akka-dependencies/current/) in [akka-dependencies repo](https://github.com/akka/akka-dependencies)
- [ ] Update [Akka Guide samples](https://github.com/akka/akka-platform-guide)
- Close this issue
2 changes: 1 addition & 1 deletion docs/src/main/paradox/actor.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Processing with Actor

A good alternative for advanced state management is to implement the handler as an [actor](https://doc.akka.io/docs/akka/current/typed/actors.html).
A good alternative for advanced state management is to implement the handler as an [actor](https://doc.akka.io/libraries/akka-core/current/typed/actors.html).

The following example is using the `CassandraProjection` but the handler and actor would be the same if used
any other @ref:[offset storage](overview.md).
Expand Down
4 changes: 2 additions & 2 deletions docs/src/main/paradox/cassandra.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ Java

### Actor handler

A good alternative for advanced state management is to implement the handler as an [actor](https://doc.akka.io/docs/akka/current/typed/actors.html),
A good alternative for advanced state management is to implement the handler as an [actor](https://doc.akka.io/libraries/akka-core/current/typed/actors.html),
which is described in @ref:[Processing with Actor](actor.md).

### Flow handler
Expand Down Expand Up @@ -307,7 +307,7 @@ One important setting is to configure the database driver to retry the initial c

It is not enabled automatically as it is in the driver's reference.conf and is not overridable in a profile.

It is possible to share the same Cassandra session as [Akka Persistence Cassandra](https://doc.akka.io/docs/akka-persistence-cassandra/current/)
It is possible to share the same Cassandra session as [Akka Persistence Cassandra](https://doc.akka.io/libraries/akka-persistence-cassandra/current/)
by setting the `session-config-path`:

```
Expand Down
6 changes: 3 additions & 3 deletions docs/src/main/paradox/classic.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Akka Classic

Akka Projections can be used with the [new Actor API](https://doc.akka.io/docs/akka/current/typed/actors.html) or
the [classic Actor API](https://doc.akka.io/docs/akka/current/index-classic.html). The documentation samples
Akka Projections can be used with the [new Actor API](https://doc.akka.io/libraries/akka-core/current/typed/actors.html) or
the [classic Actor API](https://doc.akka.io/libraries/akka-core/current/index-classic.html). The documentation samples
show the new Actor API, and this page highlights how to use it with the classic Actor API.

## Actor System
Expand All @@ -20,7 +20,7 @@ Java
@ref:[Events from Akka Classic Persistence](eventsourced.md) can be emitted from `PersistentActor` and consumed by a
Projection with the @apidoc[EventSourcedProvider$]. The events from the `PersistentActor` must be tagged by wrapping
them in `akka.persistence.journal.Tagged`, which can be done in the `PersistentActor` or by using
[Event Adapters](https://doc.akka.io/docs/akka/current/persistence.html#event-adapters).
[Event Adapters](https://doc.akka.io/libraries/akka-core/current/persistence.html#event-adapters).

## Running

Expand Down
4 changes: 2 additions & 2 deletions docs/src/main/paradox/durable-state.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changes from Durable State

A typical source for Projections is the change stored with @apidoc[DurableStateBehavior$] in [Akka Persistence](https://doc.akka.io/docs/akka/current/typed/durable-state/persistence.html). Durable state changes can be consumed in a Projection with
A typical source for Projections is the change stored with @apidoc[DurableStateBehavior$] in [Akka Persistence](https://doc.akka.io/libraries/akka-core/current/typed/durable-state/persistence.html). Durable state changes can be consumed in a Projection with
`changesByTag`, `changesBySlices` or `eventsBySlices` queries.

@@@ note { title=Alternative }
Expand Down Expand Up @@ -46,7 +46,7 @@ Scala
Java
: @@snip [DurableStateStoreDocExample.java](/examples/src/test/java/jdocs/state/DurableStateStoreDocExample.java) { #changesByTagSourceProvider }

This example is using the [DurableStateStore JDBC plugin for Akka Persistence](https://doc.akka.io/docs/akka-persistence-jdbc/current/durable-state-store.html).
This example is using the [DurableStateStore JDBC plugin for Akka Persistence](https://doc.akka.io/libraries/akka-persistence-jdbc/current/durable-state-store.html).
You will use the same plugin that you configured for the write side. The one that is used by the `DurableStateBehavior`.

This source is consuming all the changes from the `Account` `DurableStateBehavior` that are tagged with `"bank-accounts-1"`. In a production application, you would need to start as many instances as the number of different tags you used. That way you consume the changes from all entities.
Expand Down
Loading
Loading