Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How about a PowerShell based 'make' file? #3145

Closed
Paebbels opened this issue Nov 11, 2016 · 11 comments
Closed

How about a PowerShell based 'make' file? #3145

Paebbels opened this issue Nov 11, 2016 · 11 comments

Comments

@Paebbels
Copy link

Hello,

the generated make.bat is kind of outdated on modern Windows machines. At first batch files are called command files (*.cmd) since more than 15 years (Windows 2000). Second, the old Windows command line (cmd.exe) is also outdated. Windows is shipped with PowerShell since Windows Vista.

So how about a PowerShell based make.ps1 file with self-documentation (integrated help page)?

I could provide a basic file with a selection of "build targets". I don't use all target nor have I a full setup to test them all. So I could provide a start for further feature additions.

Kind regards
Patrick Lehmann

@tk0miya
Copy link
Member

tk0miya commented Nov 12, 2016

I'm not a Windows user, so I don't have strong opinion for this.
It's okay to move to powershell if anyone sends pull request to us.

@shimizukawa what do you think?

@Paebbels
Copy link
Author

I just found out that the next PowerShell version (6.0) will be released for "all" operating system (incl. Linux). The project is hosted on GitHub. I'll check how good this port is and if it supports Windows PowerShell files also on Linux (e.g. the path separator problem ...).

@shimizukawa
Copy link
Member

Now Makefile/make.bat become simpler than earlier. So I'm OK to have PowerShell based one.

Memo: CPython venv module also includes Activate.ps1 https://github.com/python/cpython/tree/master/Lib/venv/scripts/nt for PowerShell users.

@Paebbels
Copy link
Author

Paebbels commented Nov 15, 2016

What for is the configuration option make_mode in quickstart.py:446? Why are there two template files?

According to quickstart.py:611 this option applies only to Windows batch files, but in quickstart.py:446 both (makefile and batchfile) are effected.

Addendum:

Which syntax is preferred?

Example 1:
.\make.ps1 -html

Example 2:
.\make.ps1 html

While the second can be implemented, I would prefer the first, because this is available via tab completion and is equivalent to the displayed help page by man make.ps1.

@Paebbels
Copy link
Author

Pull request #3153 should implement a first version of a new build script written in PowerShell.

@Kilo59
Copy link

Kilo59 commented Jan 16, 2018

Has this issue been abandoned?

@Paebbels
Copy link
Author

Paebbels commented Jan 16, 2018

Sorry, I haven't had time to continue on this PR. You can take over and finish it if you like. It's hard to fulfill all requirements drawn up by sphinx-doc.

@cblegare
Copy link

Since Sphinx is fading out Makefiles, should this issue be closed as wontfix?

@Paebbels
Copy link
Author

@cblegare how are make files replaced?

The problem was not the Makefile itself, the problem of Sphinx is, it provides outdated *.bat files for Windows. At first, these files should be called *.cmd since more then 20 years. At second, since 15 years, scripting on Windows should use PowerShell instead of the outdated Command Prompt.

@cblegare
Copy link

cblegare commented Apr 11, 2022

@Paebbels I absolutely agree that *.bat are artifacts from another era.

From the issue above (#5618)

The goal of this issue is "Makefile-less sphinx project".

My question was simply based on the fact that since in more than 5 years nobody contributed a patch for a make.ps1 script and that the project maintainers are looking into making these scripts (including the actual Makefile itself) irrelevant anyways, maybe one could find it appropriate to close this issue.

@AA-Turner
Copy link
Member

Closing in favour of #5618.

A

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants