Skip to content
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
17 changes: 13 additions & 4 deletions src/Elastic.Documentation.Tooling/Diagnostics/Log.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,19 @@ public class Log(ILogger logger) : IDiagnosticsOutput
{
public void Write(Diagnostic diagnostic)
{
if (diagnostic.Severity == Severity.Error)
logger.LogError("{Message} ({File}:{Line})", diagnostic.Message, diagnostic.File, diagnostic.Line);
if (diagnostic.File.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
{
if (diagnostic.Severity == Severity.Error)
logger.LogError("{Message}", diagnostic.Message);
else
logger.LogWarning("{Message}", diagnostic.Message);
}
else
logger.LogWarning("{Message} ({File}:{Line})", diagnostic.Message, diagnostic.File, diagnostic.Line);
{
if (diagnostic.Severity == Severity.Error)
logger.LogError("{Message} ({File}:{Line})", diagnostic.Message, diagnostic.File, diagnostic.Line ?? 0);
else
logger.LogWarning("{Message} ({File}:{Line})", diagnostic.Message, diagnostic.File, diagnostic.Line ?? 0);
}
}
}

23 changes: 10 additions & 13 deletions src/Elastic.Markdown/CrossLinks/CrossLinkResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,10 @@ public FetchedCrossLinks UpdateLinkReference(string repository, LinkReference li
{
var dictionary = _crossLinks.LinkReferences.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
dictionary[repository] = linkReference;
_crossLinks = _crossLinks with { LinkReferences = dictionary.ToFrozenDictionary() };
_crossLinks = _crossLinks with
{
LinkReferences = dictionary.ToFrozenDictionary()
};
return _crossLinks;
}

Expand All @@ -68,21 +71,15 @@ public static bool TryResolve(
[NotNullWhen(true)] out Uri? resolvedUri
)
{
var lookup = fetchedCrossLinks.LinkReferences;
var declaredRepositories = fetchedCrossLinks.DeclaredRepositories;
resolvedUri = null;
if (crossLinkUri.Scheme == "docs-content")
{
if (!lookup.TryGetValue(crossLinkUri.Scheme, out var linkReference))
{
errorEmitter($"'{crossLinkUri.Scheme}' is not declared as valid cross link repository in docset.yml under cross_links");
return false;
}

var lookup = fetchedCrossLinks.LinkReferences;
if (crossLinkUri.Scheme != "asciidocalypse" && lookup.TryGetValue(crossLinkUri.Scheme, out var linkReference))
return TryFullyValidate(errorEmitter, linkReference, crossLinkUri, out resolvedUri);
}

// TODO this is temporary while we wait for all links.json files to be published
// TODO this is temporary while we wait for all links.json to be published
// Here we just silently rewrite the cross_link to the url

var declaredRepositories = fetchedCrossLinks.DeclaredRepositories;
if (!declaredRepositories.Contains(crossLinkUri.Scheme))
{
errorEmitter($"'{crossLinkUri.Scheme}' is not declared as valid cross link repository in docset.yml under cross_links");
Expand Down
3 changes: 2 additions & 1 deletion src/docs-assembler/Links/LinkIndexLinkChecker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,10 @@ private async Task<int> ValidateCrossLinks(
{
if (s.Contains("is not a valid link in the"))
{
//
var error = $"'elastic/{repository}' links to unknown file: " + s;
error = error.Replace("is not a valid link in the", "in the");
collector.EmitError(repository, error);
collector.EmitError($"https://elastic-docs-link-index.s3.us-east-2.amazonaws.com/elastic/{uri.Scheme}/main/links.json", error);
return;
}

Expand Down