Skip to content

Conversation

@JinShil
Copy link
Contributor

@JinShil JinShil commented Aug 28, 2019

We need 2.087 to support documenting public imports.

dlang/dmd#9068
https://dlang.org/changelog/2.087.0.html

@dlang-bot
Copy link
Contributor

Thanks for your pull request and interest in making D better, @JinShil! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please verify that your PR follows this checklist:

  • My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
  • My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
  • I have provided a detailed rationale explaining my changes
  • New or modified functions have Ddoc comments (with Params: and Returns:)

Please see CONTRIBUTING.md for more information.


If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

@JinShil
Copy link
Contributor Author

JinShil commented Aug 28, 2019

This looks ready to go.

Please note that this is likely to cause some disruption as public imports suddenly start appearing in the documentation. I'll do my best be attentive to any issues and solve them if I can.

FYI @wilzbach @ZombineDev @CyberShadow

@JinShil
Copy link
Contributor Author

JinShil commented Aug 28, 2019

We should arguably be using master for this, but I don't know that that's my call, and I'm not sure how to implement that in the makefile. This was an easy fix and keeps development moving at least for a while.

@PetarKirov
Copy link
Member

Actually, I think it should already be using dmd master, if you look for the $(DMD) variable in posix.mak. Anyway bumping the STABLE_DMD version obviously doesn't hurt.

Co-Authored-By: Petar Kirov <petar.p.kirov@gmail.com>
@dlang-bot dlang-bot merged commit d9f24e9 into dlang:master Aug 28, 2019
@CyberShadow
Copy link
Member

PR title is misleading, this is simply the version used to build the stable docs, not the host DMD version used to build DMD.

@JinShil
Copy link
Contributor Author

JinShil commented Aug 28, 2019

PR title is misleading

I'm sorry. I didn't realize there was an intermediate step of bootstrapping the compiler. In fact, I still don't get it. The build procedure seems to build master with a 2.079 bootstrap compiler but then downloads the STABLE_DMD_VER to build the docs. Why? I don't know.

@JinShil JinShil deleted the public_imports branch August 28, 2019 10:02
@CyberShadow
Copy link
Member

CyberShadow commented Aug 28, 2019

I'm sorry

Don't worry about it.

I didn't realize there was an intermediate step of bootstrapping the compiler.

This is optional. The official way to build DMD is to download an older binary release of DMD from dlang.org and use that. Bootstrapping is only needed when the user wishes to avoid using unauditable binaries of any kind, or when porting DMD to a new platform (where cross-compiling is not feasible).

The build procedure seems to build master with a 2.079 bootstrap compiler

The host DMD version used to build the compiler in git master is as old as possible (and is bumped as rarely as possible) to ensure that the number of steps for from-source bootstrapping is as small as possible.

but then downloads the STABLE_DMD_VER to build the docs.

The stable docs are built with a stable (non-git) version of the compiler. A better question may be why we're not using the compiler version matching the version of the docs being built; the answer to that is probably to minimize the total amount of DMD versions downloaded and cached across many dlang.org builds.

@JinShil
Copy link
Contributor Author

JinShil commented Aug 28, 2019

@CyberShadow I understand that, but why is the procedure building DMD and then downloading STABLE_DMD_VER to build the docs?

Edit: Shouldn't it be using the DMD binary it just built?

@CyberShadow
Copy link
Member

We build master docs and stable docs on dlang.org. Master docs are built with master dmd, stable docs are built with "stable DMD".

@JinShil
Copy link
Contributor Author

JinShil commented Aug 28, 2019

Ok, I see now. Thank you.

@CyberShadow
Copy link
Member

The stable docs are not built with DMD master to ensure that they remain readable after DMD changes which change the DDoc output. There've been a few over the years, and we'll probably see more with upcoming additional Markdown support.

@JinShil
Copy link
Contributor Author

JinShil commented Aug 28, 2019

Should we be using DMD_LATEST to build the stable docs?

@CyberShadow
Copy link
Member

Possibly. I'm not sure why we're not doing that. @wilzbach Would you happen to know?

@wilzbach
Copy link
Contributor

In the past we needed to lock the DMD version used to build ddox as vibe.d couldn't be built with the latest release. For the same reason, it still makes sense imho to use a fixed version. Though now that we have the project tester, I guess we could use DMD_LATEST or even master.

OTOH we can't use 2.079, because that was too old and buggy for building ddox and friends. IIRC e.g. it has a dub version without the mirror support and I am not sure whether 2.079 even can build latest vibe.d.

@wilzbach
Copy link
Contributor

BTW markdown has already been enabled: #2665

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants