Skip to content

Commit 432ec8a

Browse files
authored
Merge pull request SCons#4546 from Repiteo/enforce-editorconfig
Enforce `.editorconfig` line-ending settings
2 parents dd949a9 + 09c4a12 commit 432ec8a

File tree

104 files changed

+8755
-8745
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+8755
-8745
lines changed

.editorconfig

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ trim_trailing_whitespace = true
1010
end_of_line = lf
1111
charset = utf-8
1212

13-
[*.py]
14-
max_line_length = 78
13+
[{*.py,SConstruct,SConscript}]
14+
max_line_length = 88
1515
ensure_newline_before_comments = true
1616
include_trailing_comma = true
1717
use_parentheses = true
1818

19-
[*.xml]
19+
[*.{xml,yml,yaml}]
2020
indent_size = 2
2121

2222
[*.rst]
2323
indent_size = 3
2424

25-
[*.bat]
25+
[*.{bat,cmd,ps1}]
2626
end_of_line = crlf

.git-blame-ignore-revs

+2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
# files reformatted from DOS line-endings
22
1277d8e5ab6457ed18d291100539f31d1bdb2d7c
3+
# enforced .editorconfig eol settings
4+
fbb026ef1145fe29e0ec3c1b66a3e99cac51e18d

.gitattributes

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
* text=auto eol=lf
2+
*.bat eol=crlf
3+
*.cmd eol=crlf
4+
*.ps1 eol=crlf
5+
16
doc/* linguist-documentation
27
SCons/Tool/docbook/docbook-xsl-1.76.1 linguist-vendored
38
*.xml linguist-documentation
49
*.xsl linguist-documentation
510
*.gen linguist-documentation
6-
7-
*.in eol=lf

CHANGES.txt

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER
1313
- GetSConsVersion() to grab the latest SCons version without needing to
1414
access SCons internals.
1515
- Migrate setup.cfg logic to pyproject.toml; remove setup.cfg.
16+
- Update .gitattributes to match .editorconfig; enforce eol settings.
1617

1718
From Raymond Li:
1819
- Fix issue #3935: OSErrors are now no longer hidden during execution of

RELEASE.txt

+4
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ DEVELOPMENT
8888
by adding SKIP_PDF=1. This should help with distro packaging of SCons,
8989
which now does not need "fop" and other tools to be set up in order to
9090
build pdf versions which are then ignored.
91+
- .gitattributes has been setup to mirror .editorconfig's eol settings.
92+
The repo-wide line-ending is now `lf`, with the exception of a few
93+
Windows-only files using `crlf` instead. Any files not already fitting
94+
this format have been explicitly converted.
9195

9296

9397
Thanks to the following contributors listed below for their contributions to this release.

test/AR/ARCOM.py

+64-64
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,64 @@
1-
#!/usr/bin/env python
2-
#
3-
# MIT License
4-
#
5-
# Copyright The SCons Foundation
6-
#
7-
# Permission is hereby granted, free of charge, to any person obtaining
8-
# a copy of this software and associated documentation files (the
9-
# "Software"), to deal in the Software without restriction, including
10-
# without limitation the rights to use, copy, modify, merge, publish,
11-
# distribute, sublicense, and/or sell copies of the Software, and to
12-
# permit persons to whom the Software is furnished to do so, subject to
13-
# the following conditions:
14-
#
15-
# The above copyright notice and this permission notice shall be included
16-
# in all copies or substantial portions of the Software.
17-
#
18-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
19-
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
20-
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25-
26-
"""
27-
Test the ability to configure the $ARCOM construction variable.
28-
"""
29-
30-
import TestSCons
31-
32-
_python_ = TestSCons._python_
33-
34-
test = TestSCons.TestSCons()
35-
36-
test.file_fixture('mycompile.py')
37-
test.file_fixture('myrewrite.py')
38-
39-
test.write('SConstruct', """
40-
DefaultEnvironment(tools=[])
41-
env = Environment(tools=['default', 'ar'],
42-
ARCOM = r'%(_python_)s mycompile.py ar $TARGET $SOURCES',
43-
RANLIB = True,
44-
RANLIBCOM = r'%(_python_)s myrewrite.py ranlib $TARGET',
45-
LIBPREFIX = '',
46-
LIBSUFFIX = '.lib')
47-
env.Library(target = 'output', source = ['file.1', 'file.2'])
48-
""" % locals())
49-
50-
test.write('file.1', "file.1\n/*ar*/\n/*ranlib*/\n")
51-
test.write('file.2', "file.2\n/*ar*/\n/*ranlib*/\n")
52-
53-
54-
test.run(arguments = '.')
55-
56-
test.must_match('output.lib', "file.1\nfile.2\n")
57-
58-
test.pass_test()
59-
60-
# Local Variables:
61-
# tab-width:4
62-
# indent-tabs-mode:nil
63-
# End:
64-
# vim: set expandtab tabstop=4 shiftwidth=4:
1+
#!/usr/bin/env python
2+
#
3+
# MIT License
4+
#
5+
# Copyright The SCons Foundation
6+
#
7+
# Permission is hereby granted, free of charge, to any person obtaining
8+
# a copy of this software and associated documentation files (the
9+
# "Software"), to deal in the Software without restriction, including
10+
# without limitation the rights to use, copy, modify, merge, publish,
11+
# distribute, sublicense, and/or sell copies of the Software, and to
12+
# permit persons to whom the Software is furnished to do so, subject to
13+
# the following conditions:
14+
#
15+
# The above copyright notice and this permission notice shall be included
16+
# in all copies or substantial portions of the Software.
17+
#
18+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
19+
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
20+
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25+
26+
"""
27+
Test the ability to configure the $ARCOM construction variable.
28+
"""
29+
30+
import TestSCons
31+
32+
_python_ = TestSCons._python_
33+
34+
test = TestSCons.TestSCons()
35+
36+
test.file_fixture('mycompile.py')
37+
test.file_fixture('myrewrite.py')
38+
39+
test.write('SConstruct', """
40+
DefaultEnvironment(tools=[])
41+
env = Environment(tools=['default', 'ar'],
42+
ARCOM = r'%(_python_)s mycompile.py ar $TARGET $SOURCES',
43+
RANLIB = True,
44+
RANLIBCOM = r'%(_python_)s myrewrite.py ranlib $TARGET',
45+
LIBPREFIX = '',
46+
LIBSUFFIX = '.lib')
47+
env.Library(target = 'output', source = ['file.1', 'file.2'])
48+
""" % locals())
49+
50+
test.write('file.1', "file.1\n/*ar*/\n/*ranlib*/\n")
51+
test.write('file.2', "file.2\n/*ar*/\n/*ranlib*/\n")
52+
53+
54+
test.run(arguments = '.')
55+
56+
test.must_match('output.lib', "file.1\nfile.2\n")
57+
58+
test.pass_test()
59+
60+
# Local Variables:
61+
# tab-width:4
62+
# indent-tabs-mode:nil
63+
# End:
64+
# vim: set expandtab tabstop=4 shiftwidth=4:

test/AR/ARCOMSTR.py

+67-67
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,67 @@
1-
#!/usr/bin/env python
2-
#
3-
# MIT License
4-
#
5-
# Copyright The SCons Foundation
6-
#
7-
# Permission is hereby granted, free of charge, to any person obtaining
8-
# a copy of this software and associated documentation files (the
9-
# "Software"), to deal in the Software without restriction, including
10-
# without limitation the rights to use, copy, modify, merge, publish,
11-
# distribute, sublicense, and/or sell copies of the Software, and to
12-
# permit persons to whom the Software is furnished to do so, subject to
13-
# the following conditions:
14-
#
15-
# The above copyright notice and this permission notice shall be included
16-
# in all copies or substantial portions of the Software.
17-
#
18-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
19-
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
20-
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25-
26-
"""
27-
Test that the $ARCOMSTR construction variable allows you to customize
28-
the displayed archiver string.
29-
"""
30-
31-
import TestSCons
32-
33-
_python_ = TestSCons._python_
34-
35-
test = TestSCons.TestSCons()
36-
37-
test.file_fixture('mycompile.py')
38-
test.file_fixture('myrewrite.py')
39-
40-
test.write('SConstruct', """
41-
DefaultEnvironment(tools=[])
42-
env = Environment(tools=['default', 'ar'],
43-
ARCOM = r'%(_python_)s mycompile.py ar $TARGET $SOURCES',
44-
ARCOMSTR = 'Archiving $TARGET from $SOURCES',
45-
RANLIB = True,
46-
RANLIBCOM = r'%(_python_)s myrewrite.py ranlib $TARGET',
47-
LIBPREFIX = '',
48-
LIBSUFFIX = '.lib')
49-
env.Library(target = 'output', source = ['file.1', 'file.2'])
50-
""" % locals())
51-
52-
test.write('file.1', "file.1\n/*ar*/\n/*ranlib*/\n")
53-
test.write('file.2', "file.2\n/*ar*/\n/*ranlib*/\n")
54-
55-
test.run()
56-
57-
expect = 'Archiving output.lib from file.1 file.2'
58-
test.must_contain_all_lines(test.stdout(), [expect])
59-
test.must_match('output.lib', "file.1\nfile.2\n")
60-
61-
test.pass_test()
62-
63-
# Local Variables:
64-
# tab-width:4
65-
# indent-tabs-mode:nil
66-
# End:
67-
# vim: set expandtab tabstop=4 shiftwidth=4:
1+
#!/usr/bin/env python
2+
#
3+
# MIT License
4+
#
5+
# Copyright The SCons Foundation
6+
#
7+
# Permission is hereby granted, free of charge, to any person obtaining
8+
# a copy of this software and associated documentation files (the
9+
# "Software"), to deal in the Software without restriction, including
10+
# without limitation the rights to use, copy, modify, merge, publish,
11+
# distribute, sublicense, and/or sell copies of the Software, and to
12+
# permit persons to whom the Software is furnished to do so, subject to
13+
# the following conditions:
14+
#
15+
# The above copyright notice and this permission notice shall be included
16+
# in all copies or substantial portions of the Software.
17+
#
18+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
19+
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
20+
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25+
26+
"""
27+
Test that the $ARCOMSTR construction variable allows you to customize
28+
the displayed archiver string.
29+
"""
30+
31+
import TestSCons
32+
33+
_python_ = TestSCons._python_
34+
35+
test = TestSCons.TestSCons()
36+
37+
test.file_fixture('mycompile.py')
38+
test.file_fixture('myrewrite.py')
39+
40+
test.write('SConstruct', """
41+
DefaultEnvironment(tools=[])
42+
env = Environment(tools=['default', 'ar'],
43+
ARCOM = r'%(_python_)s mycompile.py ar $TARGET $SOURCES',
44+
ARCOMSTR = 'Archiving $TARGET from $SOURCES',
45+
RANLIB = True,
46+
RANLIBCOM = r'%(_python_)s myrewrite.py ranlib $TARGET',
47+
LIBPREFIX = '',
48+
LIBSUFFIX = '.lib')
49+
env.Library(target = 'output', source = ['file.1', 'file.2'])
50+
""" % locals())
51+
52+
test.write('file.1', "file.1\n/*ar*/\n/*ranlib*/\n")
53+
test.write('file.2', "file.2\n/*ar*/\n/*ranlib*/\n")
54+
55+
test.run()
56+
57+
expect = 'Archiving output.lib from file.1 file.2'
58+
test.must_contain_all_lines(test.stdout(), [expect])
59+
test.must_match('output.lib', "file.1\nfile.2\n")
60+
61+
test.pass_test()
62+
63+
# Local Variables:
64+
# tab-width:4
65+
# indent-tabs-mode:nil
66+
# End:
67+
# vim: set expandtab tabstop=4 shiftwidth=4:

0 commit comments

Comments
 (0)