June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to anonymous | On 6/8/15 6:33 AM, anonymous wrote: > Slightly different topic, related to changing documentation without > losing your sanity: When building dlang.org, changes in druntime/phobos > are not properly picked up. > > You can try deleting a strategic file like > dlang.org/web/phobos-prerelease/index.html which should trigger a > rebuild. See posix.mak for what files are dependencies to the different > targets. > > Or just do a fresh build every time: `make -f posix.mak clean; make -f > posix.mak phobos-prerelease`. > > I have an open pull request that's supposed to fix this: > https://github.com/D-Programming-Language/dlang.org/pull/993 Yah, that's annoying. Thanks for contributing a fix. For now my typical approach is: rm -f web/phobos-prerelease/index.html && make -j6 LATEST=2.067.1 phobos-prerelease Andrei | |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | On 6/8/15 8:07 AM, Atila Neves wrote:
> On Monday, 8 June 2015 at 13:36:08 UTC, Meta wrote:
>> On Monday, 8 June 2015 at 13:34:14 UTC, Steven Schveighoffer wrote:
>>> If you just want to check that a file's content is going to show up,
>>> I use:
>>>
>>> dmd -D -o- -c std/somemod.d
>>>
>>> The output is not styled properly. But the output should have working
>>> links.
>>>
>>> FWIW, I avoid building phobos docs. It's too painful. If I change
>>> dlang.org docs, I will build those, but not phobos.
>>>
>>> -Steve
>>
>> What's painful about building phobos docs? It only takes one command.
>
> What's _not_ painful?
I build the docs probably a few dozen times every day. I just press up arrow to fetch the previous command, and enter. Takes no perceptible time. What's the problem? -- Andrei
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On Monday, 8 June 2015 at 16:14:30 UTC, Andrei Alexandrescu wrote:
> On 6/8/15 4:27 AM, John Colvin wrote:
>> Is there any non-insane way of changing some documentation in a module
>> and checking that any links/xrefs you may have added actually work?
>>
>> The dlang.org makefile appears to happily erase uncommitted changes in
>> ../druntime and ../phobos. I'm really struggling for words to describe
>> how infuriating that is. I ran make and it deleted my work in a separate
>> folder. Not OK.
>
> Bummer about that. I've never encountered this problem. What command(s) did you run? -- Andrei
with dir structure
.
|- dmd
|- druntime
|- phobos
|- dlang.org
clone phobos, edit
clone druntime, edit
clone dmd, compile
compile druntime,
compile phobos
clone dlang.org, make -f posix.mak
boom, my changes are gone
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On Monday, 8 June 2015 at 16:27:49 UTC, Andrei Alexandrescu wrote:
> I build the docs probably a few dozen times every day. I just press up arrow to fetch the previous command, and enter. Takes no perceptible time. What's the problem? -- Andrei
Well, just for one, I tried building phobos docs a couple of days ago while disconnected from the internet; the whole thing failed because the clones of stable release repos couldn't be done.
No doubt I'm missing a trick, but it didn't seem very obvious, on browsing the makefile, what would get me the simple case of building the development phobos docs using my development dmd, without needing to worry about any of the other options out there.
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Joseph Rushton Wakeling | On Monday, 8 June 2015 at 18:06:47 UTC, Joseph Rushton Wakeling wrote:
> On Monday, 8 June 2015 at 16:27:49 UTC, Andrei Alexandrescu wrote:
>> I build the docs probably a few dozen times every day. I just press up arrow to fetch the previous command, and enter. Takes no perceptible time. What's the problem? -- Andrei
>
> Well, just for one, I tried building phobos docs a couple of days ago while disconnected from the internet; the whole thing failed because the clones of stable release repos couldn't be done.
>
> No doubt I'm missing a trick, but it didn't seem very obvious, on browsing the makefile, what would get me the simple case of building the development phobos docs using my development dmd, without needing to worry about any of the other options out there.
Yah, you'd need to pass LATEST=2.067.1 in the command line. Then the build process won't need to connect to the internet to fetch the latest version.
Could you please make a pull request with the explanations you wish you had?
Andrei
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to John Colvin | On Monday, 8 June 2015 at 16:48:31 UTC, John Colvin wrote:
> with dir structure
> .
> |- dmd
> |- druntime
> |- phobos
> |- dlang.org
>
> clone phobos, edit
> clone druntime, edit
> clone dmd, compile
> compile druntime,
> compile phobos
> clone dlang.org, make -f posix.mak
>
> boom, my changes are gone
That shouldn't happen. If you get a repro, I'll look into that. -- Andrei
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Joseph Rushton Wakeling | On 08/06/15 19:06, Joseph Rushton Wakeling via Digitalmars-d wrote:
> Well, just for one, I tried building phobos docs a couple of days ago while
> disconnected from the internet; the whole thing failed because the clones of
> stable release repos couldn't be done.
>
> No doubt I'm missing a trick, but it didn't seem very obvious, on browsing the
> makefile, what would get me the simple case of building the development phobos
> docs using my development dmd, without needing to worry about any of the other
> options out there.
Well, whaddayaknow, make -f posix.mak clean; make -f posix.mak phobos-prerelease just worked. I'd swear I was trying to build the phobos-prerelease target before, but maybe forgetting the 'clean' first had some kind of weird effect on how build targets interacted.
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On Monday, 8 June 2015 at 19:51:28 UTC, Andrei Alexandrescu wrote:
> Yah, you'd need to pass LATEST=2.067.1 in the command line. Then the build process won't need to connect to the internet to fetch the latest version.
"LATEST" detection must go. It makes bisecting impossible.
In general, if we want reproducible builds (and this is required for reliable bisection of regressions), we can't rely on non-immutable online resources. Fetching / building stable compiler versions is OK, but detecting which version is latest right now is not.
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev | On Monday, 8 June 2015 at 21:53:07 UTC, Vladimir Panteleev wrote:
> On Monday, 8 June 2015 at 19:51:28 UTC, Andrei Alexandrescu wrote:
>> Yah, you'd need to pass LATEST=2.067.1 in the command line. Then the build process won't need to connect to the internet to fetch the latest version.
>
> "LATEST" detection must go. It makes bisecting impossible.
Actually, I can work around this fairly easily with Digger by calculating the correct LATEST value at the time and passing it as a make parameter :)
| |||
June 08, 2015 Re: Building the docs with own changes | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Vladimir Panteleev | On 6/8/15 2:53 PM, Vladimir Panteleev wrote:
> On Monday, 8 June 2015 at 19:51:28 UTC, Andrei Alexandrescu wrote:
>> Yah, you'd need to pass LATEST=2.067.1 in the command line. Then the
>> build process won't need to connect to the internet to fetch the
>> latest version.
>
> "LATEST" detection must go. It makes bisecting impossible.
>
> In general, if we want reproducible builds (and this is required for
> reliable bisection of regressions), we can't rely on non-immutable
> online resources. Fetching / building stable compiler versions is OK,
> but detecting which version is latest right now is not.
Well I trust you can come up with a well-engineered improvement. -- Andrei
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply