diff --git a/.github/workflows/link-validator.yml b/.github/workflows/link-validator.yml index 2129576dcea..6f27adbcb17 100644 --- a/.github/workflows/link-validator.yml +++ b/.github/workflows/link-validator.yml @@ -42,4 +42,4 @@ jobs: sbt -Dpekko.genjavadoc.enabled=true -Dpekko.genlicensereport.enabled=true "Javaunidoc/doc; Compile/unidoc; docs/paradox" - name: Run Link Validator - run: cs launch net.runne::site-link-validator:0.2.2 -- scripts/link-validator.conf + run: cs launch net.runne::site-link-validator:0.2.4 -- scripts/link-validator.conf diff --git a/docs/src/main/paradox/persistence-query.md b/docs/src/main/paradox/persistence-query.md index 01b1d5a7d2f..e5eaca2bcc6 100644 --- a/docs/src/main/paradox/persistence-query.md +++ b/docs/src/main/paradox/persistence-query.md @@ -202,7 +202,7 @@ Java ## Performance and denormalization -When building systems using @ref:[Event Sourcing](typed/persistence.md#event-sourcing-concepts) and CQRS ([Command & Query Responsibility Segregation](https://docs.microsoft.com/en-us/previous-versions/msp-n-p/jj554200%28v=pandp.10%29)) techniques +When building systems using @ref:[Event Sourcing](typed/persistence.md#event-sourcing-concepts) and CQRS ([Command & Query Responsibility Segregation](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/jj554200%28v=pandp.10%29)) techniques it is tremendously important to realise that the write-side has completely different needs from the read-side, and separating those concerns into datastores that are optimised for either side makes it possible to offer the best experience for the write and read sides independently. diff --git a/docs/src/main/paradox/persistence-schema-evolution.md b/docs/src/main/paradox/persistence-schema-evolution.md index 13377ad2fd2..bf9c7c35132 100644 --- a/docs/src/main/paradox/persistence-schema-evolution.md +++ b/docs/src/main/paradox/persistence-schema-evolution.md @@ -45,7 +45,7 @@ evolution feel free to submit Pull Requests to this page to extend it. In recent years we have observed a tremendous move towards immutable append-only datastores, with event-sourcing being the prime technique successfully being used in these settings. For an excellent overview why and how immutable data makes scalability -and systems design much simpler you may want to read Pat Helland's excellent [Immutability Changes Everything](http://cidrdb.org/cidr2015/Papers/CIDR15_Paper16.pdf) whitepaper. +and systems design much simpler you may want to read Pat Helland's excellent [Immutability Changes Everything](https://cidrdb.org/cidr2015/Papers/CIDR15_Paper16.pdf) whitepaper. Since with [Event Sourcing](https://martinfowler.com/eaaDev/EventSourcing.html) the **events are immutable** and usually never deleted – the way schema evolution is handled differs from how one would go about it in a mutable database setting (e.g. in typical CRUD database applications). diff --git a/docs/src/main/paradox/stream/reactive-streams-interop.md b/docs/src/main/paradox/stream/reactive-streams-interop.md index b5c0d309819..d952bacf2e1 100644 --- a/docs/src/main/paradox/stream/reactive-streams-interop.md +++ b/docs/src/main/paradox/stream/reactive-streams-interop.md @@ -136,5 +136,5 @@ An incomplete list of other implementations: * [Reactor (1.1+)](https://github.com/reactor/reactor) * [RxJava](https://github.com/ReactiveX/RxJavaReactiveStreams) - * [Ratpack](https://www.ratpack.io/manual/current/streams.html) + * [Ratpack](https://ratpack.io/manual/current/streams.html) * [Slick](https://scala-slick.org/) diff --git a/docs/src/main/paradox/typed/failure-detector.md b/docs/src/main/paradox/typed/failure-detector.md index 61262ae6dcd..903ffdee513 100644 --- a/docs/src/main/paradox/typed/failure-detector.md +++ b/docs/src/main/paradox/typed/failure-detector.md @@ -5,7 +5,7 @@ Remote DeathWatch uses heartbeat messages and the failure detector to detect network failures and JVM crashes. The heartbeat arrival times are interpreted by an implementation of -[The Phi Accrual Failure Detector](https://pdfs.semanticscholar.org/11ae/4c0c0d0c36dc177c1fff5eb84fa49aa3e1a8.pdf) by Hayashibara et al. +[The Phi Accrual Failure Detector](https://www.semanticscholar.org/paper/The-spl-phi-accrual-failure-detector-Hayashibara-D%C3%A9fago/11ae4c0c0d0c36dc177c1fff5eb84fa49aa3e1a8?p2df) by Hayashibara et al. ## Failure Detector Heartbeats diff --git a/docs/src/main/paradox/typed/routers.md b/docs/src/main/paradox/typed/routers.md index 70aefdc64f9..e551ef90fd8 100644 --- a/docs/src/main/paradox/typed/routers.md +++ b/docs/src/main/paradox/typed/routers.md @@ -130,7 +130,7 @@ An optional parameter `preferLocalRoutees` can be used for this strategy. Router ### Consistent Hashing Uses [consistent hashing](https://en.wikipedia.org/wiki/Consistent_hashing) to select a routee based -on the sent message. This [article](http://www.tom-e-white.com/2007/11/consistent-hashing.html) +on the sent message. This [article](https://www.tom-e-white.com/2007/11/consistent-hashing.html) gives good insight into how consistent hashing is implemented. Currently you have to define hashMapping of the router to map incoming messages to their consistent diff --git a/scripts/link-validator.conf b/scripts/link-validator.conf index a5b2c223fad..87114705187 100644 --- a/scripts/link-validator.conf +++ b/scripts/link-validator.conf @@ -43,101 +43,32 @@ site-link-validator { ignore-missing-local-files-regex = "" // e.g. "^api/alpakka/snapshot/pekko/stream/alpakka/googlecloud/storage/impl/Formats.*" + ignore-files = [ + # This file is generated, we can't do much about the invalid links here + "project/license-report.html" + ]; + ignore-prefixes = [ - # Fails after a number of requests with "403 Forbidden" - "https://javadoc.io/static/" - "https://dl.acm.org/" - # reports PKIX issue - "https://www.reactivemanifesto.org" - # GitHub will block with "429 Too Many Requests" + ## GitHub will block with "429 Too Many Requests" "https://github.com/" - # Github links generated by sbt-license-report - "http://github.com/" - # Other links generated by sbt-license-report - "http://asm.objectweb.org/license.html" - "http://jackson.codehaus.org" - "https://glassfish.dev.java.net" - "http://beust.com/jcommander" - "http://pholser.github.com/jopt-simple" - "http://pojosr.googlecode.com/" - "http://team.ops4j.org/wiki/display/ops4j/Tinybundles" "https://www.scala-lang.org/api/2.13.14/scala/runtime/AbstractFunction1.html" "https://www.scala-lang.org/api/2.13.14/scala/runtime/AbstractFunction2.html" "https://www.scala-lang.org/api/2.13.14/scala/runtime/AbstractFunction3.html" "https://www.scala-lang.org/api/2.13.14/scala/runtime/AbstractPartialFunction.html" - # Bug, see https://github.com/scala/bug/issues/12807 and https://github.com/lampepfl/dotty/issues/17973 + ## Bug, see https://github.com/scala/bug/issues/12807 and https://github.com/lampepfl/dotty/issues/17973 "https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/StandardOpenOption$.html" - # Occasionally returns a 500 Internal Server Error - "http://code.google.com/" ] non-https-whitelist = [ "http://cidrdb.org/cidr2015/Papers/CIDR15_Paper16.pdf" - "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.7628" "http://spray.io" "http://www.bailis.org/blog/doing-redundant-work-to-speed-up-distributed-queries/" "http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf" - # document not available anymore - "http://www.jaist.ac.jp/~defago/files/pdf/IS_RR_2004_010.pdf" - # Sigar site has been removed + ## Sigar site has been removed "http://www.hyperic.com/products/sigar" "http://www.tom-e-white.com/2007/11/consistent-hashing.html" - # generated by @apidoc + ## generated by @apidoc "http://www.scala-lang.org/api/2.13." - # following links are generated by sbt-license-report - "http://apache.org/licenses/LICENSE-2.0" - "http://asm.objectweb.org/license.html" - "http://asm.ow2.io/" - "http://beust.com/jcommander" - "http://bnd.bndtools.org" - "http://code.google.com/p/atinject/" - "http://code.google.com/p/snakeyaml/" - "http://commons.apache.org/lang/" - "http://commons.apache.org/math/" - "http://commons.apache.org/proper/commons-io/" - "http://commons.apache.org/proper/commons-logging/" - "http://commons.apache.org/proper/commons-math/" - "http://creativecommons.org/publicdomain/zero/1.0/" - "http://findbugs.sourceforge.net" - "http://glassfish.java.net/public/CDDL+GPL_1_1.html" - "http://hc.apache.org/httpcomponents-client" - "http://hc.apache.org/httpcomponents-core-ga" - "http://hdrhistogram.github.io/HdrHistogram/" - "http://incubator.apache.org/projects/htrace.html" - "http://jackson.codehaus.org" - "http://java.sun.com/products/javabeans/jaf/index.jsp" - "http://jax-rs-spec.java.net" - "http://jcp.org/en/jsr/detail?id=250" - "http://jopt-simple.github.io" - "http://junit.org" - "http://kamon.io" - "http://latencyutils.github.io/LatencyUtils/" - "http://netty.io/" - "http://objenesis.org" - "http://openjdk.java.net/legal/gplv2+ce.html" - "http://opensource.org" - "http://pholser.github.com/jopt-simple" - "http://pojosr.googlecode.com" - "http://team.ops4j.org/wiki/display/ops4j/Tinybundles" - "http://testng.org" - "http://webjars.org" - "http://www-128.ibm.com/developerworks/library/os-cpl.html" - "http://www.apache.org/licenses/" - "http://www.bouncycastle.org/java.html" - "http://www.bouncycastle.org/licence.html" - "http://www.eclipse.org/legal/epl-v10.html" - "http://www.gnu.org/licenses/lgpl.txt" - "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" - "http://www.javassist.org/" - "http://www.mozilla.org/MPL/MPL-1.1.html" - "http://www.opensource.org/licenses/" - "http://www.osgi.org" - "http://www.reactive-streams.org/" "http://www.scala-lang.org/" - "http://www.scala-sbt.org" - "http://www.scalacheck.org" - "http://www.scalatest.org" - "http://www.slf4j.org" - "http://www.eclipse.org/org/documents/edl-v10.php" ] }