From 4a1f7cb0caf8e603f6ed82a6855f5c8deb0b8a9b Mon Sep 17 00:00:00 2001 From: Martin Nowak Date: Wed, 18 Feb 2015 04:29:29 +0100 Subject: [PATCH] add an option to skip docs building --- create_dmd_release/build_all.d | 11 ++++--- create_dmd_release/create_dmd_release.d | 39 ++++++++++++++----------- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/create_dmd_release/build_all.d b/create_dmd_release/build_all.d index 091047c7..9fd8dfe7 100644 --- a/create_dmd_release/build_all.d +++ b/create_dmd_release/build_all.d @@ -237,7 +237,7 @@ void prepareExtraBins(string workDir) //------------------------------------------------------------------------------ // builds a dmd.VERSION.OS.MODEL.zip on the vanilla VirtualBox image -void runBuild(Box box, string ver, bool isBranch, bool combine) +void runBuild(Box box, string ver, bool isBranch, bool combine, bool skipDocs) { auto sh = box.shell(); @@ -273,6 +273,8 @@ void runBuild(Box box, string ver, bool isBranch, bool combine) auto cmd = rdmd~" create_dmd_release -v --extras=extraBins --archive --use-clone=clones"; if (box._model != Model._both) cmd ~= " --only-" ~ box.modelS; + if (skipDocs) + cmd ~= " --skip-docs"; cmd ~= " " ~ ver; sh.exec(cmd); @@ -345,8 +347,9 @@ int error(Args...)(string fmt, Args args) int main(string[] args) { - if (args.length != 3) - return error("Expected as arguments, e.g. 'rdmd build_all v2.066.0 v2.066.1'."); + if (args.length < 3 || args.length == 4 && args[$-1] != "--skip-docs" || args.length > 4) + return error("Expected [--skip-docs] as arguments, e.g. 'rdmd build_all v2.066.0 v2.066.1'."); + immutable skipDocs = args[$-1] == "--skip-docs"; import std.regex; enum verRE = regex(`^v(\d+)\.(\d+)\.(\d+)(-.*)?$`); @@ -410,7 +413,7 @@ int main(string[] args) box.scp(toCopy, "default:"); } - runBuild(box, ver, isBranch, combine); + runBuild(box, ver, isBranch, combine, skipDocs); } return 0; } diff --git a/create_dmd_release/create_dmd_release.d b/create_dmd_release/create_dmd_release.d index bf09ecc9..31f8cf2e 100644 --- a/create_dmd_release/create_dmd_release.d +++ b/create_dmd_release/create_dmd_release.d @@ -266,6 +266,7 @@ bool verbose; bool skipClone; bool skipBuild; bool skipPackage; +bool skipDocs; bool doArchive; bool doCombine; bool do32Bit; @@ -310,6 +311,7 @@ int main(string[] args) "skip-clone", &skipClone, "use-clone", &cloneDir, "skip-build", &skipBuild, + "skip-docs", &skipDocs, "skip-package", &skipPackage, "clean", &clean, "extras", &customExtrasDir, @@ -789,7 +791,7 @@ void buildAll(Bits bits, string branch, bool dmdOnly=false) removeFiles(cloneDir~"/phobos", "*{"~obj~"}", SpanMode.depth); // Build docs - if(!alreadyBuiltDocs) + if(!alreadyBuiltDocs && !skipDocs) { infoMsg("Building Druntime Docs"); changeDir(cloneDir~"/druntime"); @@ -841,7 +843,7 @@ void buildAll(Bits bits, string branch, bool dmdOnly=false) run(makecmd~" rdmd"~hideStdout); run(makecmd~" ddemangle"~hideStdout); run(makecmd~" dustmite"~hideStdout); - run(makecmd~" dman"~hideStdout); + if (!skipDocs) run(makecmd~" dman"~hideStdout); removeFiles(cloneDir~"/tools", "*.{"~obj~"}", SpanMode.depth); } @@ -875,23 +877,26 @@ void createRelease(string branch) copyFile(cloneDir~"/dmd/VERSION", releaseDir~"/dmd2/src/VERSION"); // Copy documentation - auto dlangFilter = (string a) => - !a.startsWith("images/original/") && - !a.startsWith("chm/") && - ( a.endsWith(".html") || a.startsWith("css/", "images/", "js/") ); - copyDir(cloneDir~"/"~generatedDocs, releaseDir~"/dmd2/html/d", a => dlangFilter(a)); - version(Windows) + if (!skipDocs) { - if(do32Bit) - copyFile(cloneDir~"/"~generatedDocs~"/d.chm", releaseBin32Dir~"/d.chm"); + auto dlangFilter = (string a) => + !a.startsWith("images/original/") && + !a.startsWith("chm/") && + ( a.endsWith(".html") || a.startsWith("css/", "images/", "js/") ); + copyDir(cloneDir~"/"~generatedDocs, releaseDir~"/dmd2/html/d", a => dlangFilter(a)); + version(Windows) + { + if(do32Bit) + copyFile(cloneDir~"/"~generatedDocs~"/d.chm", releaseBin32Dir~"/d.chm"); + } + copyDirVersioned(cloneDir~"/dmd/samples", releaseDir~"/dmd2/samples/d"); + copyDirVersioned(cloneDir~"/dmd/docs/man", releaseDir~"/dmd2/man"); + copyDirVersioned(cloneDir~"/tools/man", releaseDir~"/dmd2/man"); + makeDir(releaseDir~"/dmd2/html/d/zlib"); + copyFile(cloneDir~"/phobos/etc/c/zlib/ChangeLog", releaseDir~"/dmd2/html/d/zlib/ChangeLog"); + copyFile(cloneDir~"/phobos/etc/c/zlib/README", releaseDir~"/dmd2/html/d/zlib/README"); + copyFile(cloneDir~"/phobos/etc/c/zlib/zlib.3", releaseDir~"/dmd2/html/d/zlib/zlib.3"); } - copyDirVersioned(cloneDir~"/dmd/samples", releaseDir~"/dmd2/samples/d"); - copyDirVersioned(cloneDir~"/dmd/docs/man", releaseDir~"/dmd2/man"); - copyDirVersioned(cloneDir~"/tools/man", releaseDir~"/dmd2/man"); - makeDir(releaseDir~"/dmd2/html/d/zlib"); - copyFile(cloneDir~"/phobos/etc/c/zlib/ChangeLog", releaseDir~"/dmd2/html/d/zlib/ChangeLog"); - copyFile(cloneDir~"/phobos/etc/c/zlib/README", releaseDir~"/dmd2/html/d/zlib/README"); - copyFile(cloneDir~"/phobos/etc/c/zlib/zlib.3", releaseDir~"/dmd2/html/d/zlib/zlib.3"); // Copy lib version(OSX)