summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorstuebinm2021-12-13 23:37:29 +0100
committerstuebinm2021-12-13 23:37:29 +0100
commitea6ef98353669ece25c6366bfdbc5bb921a44b7a (patch)
tree4484a6f28b62395d1bc89b1f0e020e589d04ca42 /lib
parentb8e3d6eea571435eb95d15696457a254194b6280 (diff)
add special warning for rc3 old-style links
(the format used last year is no longer applicable to this year's event)
Diffstat (limited to 'lib')
-rw-r--r--lib/Paths.hs8
-rw-r--r--lib/Properties.hs7
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/Paths.hs b/lib/Paths.hs
index b628ee8..b849cf6 100644
--- a/lib/Paths.hs
+++ b/lib/Paths.hs
@@ -60,3 +60,11 @@ normalise prefix (Path i path _) =
normaliseWithFrag :: FilePath -> RelPath -> FilePath
normaliseWithFrag prefix (Path i path frag) =
normalise prefix (Path (i+1) path frag) <> T.unpack (maybe mempty ("#" <>) frag)
+
+-- | does this path contain an old-style pattern for inter-repository
+-- links as was used at rc3 in 2020?
+isOldStyle :: RelPath -> Bool
+isOldStyle (Path _ text frag) = path =~ ("{<.+>*}" :: Text)
+ where path = case frag of
+ Just f -> text <> f
+ _ -> text
diff --git a/lib/Properties.hs b/lib/Properties.hs
index b15ea15..c278351 100644
--- a/lib/Properties.hs
+++ b/lib/Properties.hs
@@ -35,7 +35,7 @@ import LintConfig (LintConfig (..))
import LintWriter (LintWriter, adjust, askContext, askFileDepth,
complain, dependsOn, forbid, lintConfig,
offersBadge, offersEntrypoint, suggest, warn)
-import Paths (PathResult (..), RelPath (..), parsePath)
+import Paths (PathResult (..), RelPath (..), parsePath, isOldStyle)
import Types (Dep (Link, Local, LocalMap, MapLink))
import Uris (SubstError (..), applySubst)
@@ -323,7 +323,10 @@ checkTileLayerProperty p@(Property name _value) = case name of
forbidEmptyLayer
unwrapURI (Proxy @"map") p
(dependsOn . MapLink)
- (dependsOn . LocalMap)
+ (\path -> do
+ if isOldStyle path
+ then complain "Old-Style inter-repository links (using {<placeholder>}) cannot be used at rC3 2021; please use world:// instead (cf. howto.rc3.world)."
+ else dependsOn . LocalMap $ path)
"exitSceneUrl" ->
deprecatedUseInstead "exitUrl"
"exitInstance" ->