diff --git a/dpl-docs/source/app.d b/dpl-docs/source/app.d index 1a9b1b2d36..3956a32f2b 100644 --- a/dpl-docs/source/app.d +++ b/dpl-docs/source/app.d @@ -5,12 +5,16 @@ import std.getopt; import std.process; import vibe.core.log; +bool noExactSourceCodeLinks; + int main(string[] args) { string git_target = "master"; getopt(args, std.getopt.config.passThrough, - "git-target", &git_target); + "git-target", &git_target, + "no-exact-source-links", &noExactSourceCodeLinks); environment["GIT_TARGET"] = git_target; + environment["NO_EXACT_SOURCE_CODE_LINKS"] = noExactSourceCodeLinks ? "1" : "0"; setLogFormat(FileLogger.Format.plain); return ddoxMain(args); } diff --git a/dpl-docs/views/layout.dt b/dpl-docs/views/layout.dt index 08e2aede10..41c82eea72 100644 --- a/dpl-docs/views/layout.dt +++ b/dpl-docs/views/layout.dt @@ -6,6 +6,7 @@ html(lang='en-US') | http://digitalmars.com - import std.process : environment; - string version_id = environment["GIT_TARGET"]; + - bool noExactSourceCodeLinks = environment["NO_EXACT_SOURCE_CODE_LINKS"] == "1"; - bool haveVersion = version_id.startsWith("v"); - string version_name = haveVersion ? version_id[1 .. $] : "Prerelease"; - string root_dir = info.linkTo(null) ~ (req is null ? "../" : ""); @@ -164,7 +165,7 @@ html(lang='en-US') - project = "druntime", path_prefix = "src/"; - else - project = "phobos", path_prefix = ""; - - if (info.docGroups.length >= 1) + - if (info.docGroups.length >= 1 && !noExactSourceCodeLinks) - if (auto decl = cast(Declaration)info.docGroups[0].members[0]) line_suffix = "#L"~to!string(decl.line); - if (info.node.module_.isPackageModule) - filename = replace(modname, ".", "/") ~ "/package.d"; diff --git a/posix.mak b/posix.mak index 563fdf086e..d1d3f72f50 100644 --- a/posix.mak +++ b/posix.mak @@ -106,6 +106,15 @@ ifeq (,$(MODEL)) endif endif +# Disable all dynamic content that could potentially have an unrelated impact +# on a diff +ifeq (1,$(DIFFABLE)) + NODATETIME := nodatetime.ddoc + DPL_DOCS_PATH_RUN_FLAGS := --no-exact-source-links +else + CHANGELOG_VERSION := "v${LATEST}..upstream/stable" +endif + # Documents DDOC=$(addsuffix .ddoc, macros html dlang.org doc ${GENERATED}/${LATEST}) $(NODATETIME) @@ -432,13 +441,15 @@ ${DOC_OUTPUT_DIR}/library-prerelease/sitemap.xml : docs-prerelease.json @mkdir -p $(dir $@) ${DPL_DOCS} generate-html --file-name-style=lowerUnderscored --std-macros=html.ddoc --std-macros=dlang.org.ddoc --std-macros=std.ddoc --std-macros=macros.ddoc --std-macros=std-ddox.ddoc \ --override-macros=std-ddox-override.ddoc --package-order=std \ - --git-target=master docs-prerelease.json ${DOC_OUTPUT_DIR}/library-prerelease + --git-target=master $(DPL_DOCS_PATH_RUN_FLAGS) \ + docs-prerelease.json ${DOC_OUTPUT_DIR}/library-prerelease ${DOC_OUTPUT_DIR}/library/sitemap.xml : docs.json @mkdir -p $(dir $@) ${DPL_DOCS} generate-html --file-name-style=lowerUnderscored --std-macros=html.ddoc --std-macros=dlang.org.ddoc --std-macros=std.ddoc --std-macros=macros.ddoc --std-macros=std-ddox.ddoc \ --override-macros=std-ddox-override.ddoc --package-order=std \ - --git-target=v${LATEST} docs.json ${DOC_OUTPUT_DIR}/library + --git-target=v${LATEST} $(DPL_DOCS_PATH_RUN_FLAGS) \ + docs.json ${DOC_OUTPUT_DIR}/library ${DOC_OUTPUT_DIR}/library/.htaccess : dpl_release_htaccess @mkdir -p $(dir $@) @@ -524,8 +535,8 @@ test: ################################################################################ changelog/${NEXT_VERSION}.dd: ${STABLE_DMD} ../tools ../installer - $(STABLE_RDMD) $(TOOLS_DIR)/changed.d "v${LATEST}..upstream/stable" -o changelog/${NEXT_VERSION}.dd \ - --version "${NEXT_VERSION}" + $(STABLE_RDMD) $(TOOLS_DIR)/changed.d $(CHANGELOG_VERSION) -o changelog/${NEXT_VERSION}.dd \ + --version "${NEXT_VERSION}" --prev-version "${LATEST}" pending_changelog: changelog/${NEXT_VERSION}.dd html @echo "Please open file:///$(shell pwd)/web/changelog/${NEXT_VERSION}.html in your browser"