aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hirsch, Ph.D <scivision@users.noreply.github.com>2020-02-05 14:45:43 -0500
committerMichael Hirsch, Ph.D <10931741+scivision@users.noreply.github.com>2020-02-06 12:54:38 -0500
commit2bbd57092fe5ad3fb9006aa762688fcbea6dfbaa (patch)
tree839164b814fa8630022fca12026df77991c6e895
parent5bbeab8ed461bc2464d9b590b2faf758aa854362 (diff)
downloadmeson-2bbd57092fe5ad3fb9006aa762688fcbea6dfbaa.zip
meson-2bbd57092fe5ad3fb9006aa762688fcbea6dfbaa.tar.gz
meson-2bbd57092fe5ad3fb9006aa762688fcbea6dfbaa.tar.bz2
add FeatureNew
-rw-r--r--docs/markdown/Fs-module.md10
-rw-r--r--mesonbuild/modules/fs.py5
2 files changed, 14 insertions, 1 deletions
diff --git a/docs/markdown/Fs-module.md b/docs/markdown/Fs-module.md
index 274788c..e5941a9 100644
--- a/docs/markdown/Fs-module.md
+++ b/docs/markdown/Fs-module.md
@@ -42,6 +42,8 @@ by the string is a symbolic link.
### is_absolute
+*since 0.54.0*
+
Return a boolean indicating if the path string specified is absolute, WITHOUT expanding `~`.
Examples:
@@ -104,18 +106,22 @@ The files need not actually exist yet for these path string manipulation methods
### expanduser
+*since 0.54.0*
+
A path string with a leading `~` is expanded to the user home directory
Examples:
```meson
-fs.expanduser('~') # home directory
+fs.expanduser('~') # user home directory
fs.expanduser('~/foo') # <homedir>/foo
```
### as_posix
+*since 0.54.0*
+
`fs.as_posix(path)` assumes a Windows path, even if on a Unix-like system.
Thus, all `'\'` or `'\\'` are turned to '/', even if you meant to escape a character.
@@ -180,6 +186,8 @@ fs.name('foo/bar/baz.dll.a') # baz.dll.a
### stem
+*since 0.54.0*
+
Returns the last component of the path, dropping the last part of the suffix
```meson
diff --git a/mesonbuild/modules/fs.py b/mesonbuild/modules/fs.py
index f4fe06f..d483111 100644
--- a/mesonbuild/modules/fs.py
+++ b/mesonbuild/modules/fs.py
@@ -20,6 +20,7 @@ from .. import mlog
from . import ExtensionModule
from . import ModuleReturnValue
from ..mesonlib import MesonException
+from ..interpreterbase import FeatureNew
from ..interpreterbase import stringArgs, noKwargs
if T.TYPE_CHECKING:
@@ -62,6 +63,7 @@ class FSModule(ExtensionModule):
@stringArgs
@noKwargs
+ @FeatureNew('fs.expanduser', '0.54.0')
def expanduser(self, state: 'ModuleState', args: T.Sequence[str], kwargs: dict) -> ModuleReturnValue:
if len(args) != 1:
raise MesonException('fs.expanduser takes exactly one argument.')
@@ -69,6 +71,7 @@ class FSModule(ExtensionModule):
@stringArgs
@noKwargs
+ @FeatureNew('fs.is_absolute', '0.54.0')
def is_absolute(self, state: 'ModuleState', args: T.Sequence[str], kwargs: dict) -> ModuleReturnValue:
if len(args) != 1:
raise MesonException('fs.is_absolute takes exactly one argument.')
@@ -76,6 +79,7 @@ class FSModule(ExtensionModule):
@stringArgs
@noKwargs
+ @FeatureNew('fs.as_posix', '0.54.0')
def as_posix(self, state: 'ModuleState', args: T.Sequence[str], kwargs: dict) -> ModuleReturnValue:
"""
this function assumes you are passing a Windows path, even if on a Unix-like system
@@ -181,6 +185,7 @@ class FSModule(ExtensionModule):
@stringArgs
@noKwargs
+ @FeatureNew('fs.stem', '0.54.0')
def stem(self, state: 'ModuleState', args: T.Sequence[str], kwargs: dict) -> ModuleReturnValue:
if len(args) != 1:
raise MesonException('fs.stem takes exactly one argument.')