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

Ardu waf rebase on waf 2.0.23 from gitlab #11

Open
wants to merge 315 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
315 commits
Select commit Hold shift + click to select a range
c985366
Added submodules demonstrator to demos/fortran.
Dec 21, 2018
5c9f28c
Added more syntactic cases to the demos/fortran/submodules example.
Dec 21, 2018
09c181e
waf-2.0.14
ita1024 Dec 23, 2018
bf1709b
waf-2.0.14
ita1024 Dec 23, 2018
171e8bb
Fix all DeprecationWarning: invalid escape sequence
BoboTiG Jan 5, 2019
c323c1b
Rework the previous changes
ita1024 Jan 5, 2019
f39106e
docs
ita1024 Jan 5, 2019
51d0088
Fix a few deprecation warnings
ita1024 Jan 16, 2019
ee19eb2
protoc: fix filename generation for .java
fedepell Jan 17, 2019
6b828a5
Prevent protoc errors on "waf list"
ita1024 Jan 19, 2019
d5da401
protoc: simplify the java generation also solving problems with .prot…
fedepell Jan 20, 2019
a530c85
Add a pipelines file
ita1024 Jan 21, 2019
fa3e969
Use .pipelines/Jenkinsfile instead of demos/wscript
ita1024 Jan 22, 2019
dd69154
buildcopy: Added warning if buildcopy is used without any files to copy
Jan 25, 2019
f08ebcc
Support multiple 'default_cmd'
Jan 29, 2019
e0db1e9
javaw: add quiet=True to ant_globs to suppress warnings of globbing i…
fedepell Jan 31, 2019
5acd7b3
added stubs/ to lib search paths
mdrocco Feb 13, 2019
0b8a34f
task: calculate correct cmdline bytes
jamesharris-garmin Feb 15, 2019
1daf027
Address ntpath bug with empty prefix
jamesharris-garmin Feb 18, 2019
18cf23c
task: winres: allow tasks to disable @argsfile
jamesharris-garmin Feb 19, 2019
caf9d71
Fix 4046e48ac10793b9a64289b1b69f48dcf1a0dcab from #2214
ita1024 Feb 24, 2019
4371344
Utils: only use msys2 paths from msys2 python
jimmyharris Feb 26, 2019
08edd9a
Do not expose Task.allow_argsfile and remove allow_argsfile from non-…
ita1024 Mar 3, 2019
bca342f
Revert the args file threshold on non-win32 systems from #2214
ita1024 Mar 3, 2019
a2d346e
Typos
selsky Mar 8, 2019
d423dab
waf-2.0.15
ita1024 Mar 10, 2019
880be00
waf-2.0.15
ita1024 Mar 10, 2019
b7be3f4
waf_unit_test: prevent error when dumping run to script and environme…
fedepell Mar 12, 2019
c58ca8d
Add color_msvc tool, which colorizes MSVC output like GCC does by def…
a1batross Mar 20, 2019
77961db
extras/syms: fix symbol regex on mac-o binaries
wrl Mar 31, 2019
d97d574
Python 2 encoding enhancements - Issue 2230
ita1024 Apr 15, 2019
62ce16f
msvc: add pdb_install_task with /DEBUG:* flags
jamesharris-garmin Mar 8, 2018
2656cc6
doxygen: maintain order of lines in doxyfile
lucteodorescu Jul 25, 2016
cd169d1
msvcdeps: fix 'WafError' AttributeError
sigby May 14, 2018
9ea7b50
javaw: make javadoc optional
Oct 18, 2018
d8a55f9
Describe how to load md5_tstamp - Issue 2231
ita1024 Apr 19, 2019
95255c6
Workaround for Issue 2232
ita1024 Apr 21, 2019
1fdb091
Node.listdir outputs are already sorted, do not sort it again in Node…
ita1024 Apr 23, 2019
9c11d43
When creating the waf script, assume that the 'extras' folder only co…
ita1024 Apr 23, 2019
2986830
pyqt5: add option to enable explicitly PyQt5 bindings
fedepell Apr 25, 2019
00abb9e
pyqt5: correct the spelling to PySide2 in all occourences
fedepell Apr 25, 2019
80ea3fd
pyqt5: bugfix, check the correct variable for RCC executable
fedepell Apr 25, 2019
2d74942
protoc: make sure output directory exists for java
fedepell May 6, 2019
c74522e
javaw: set dependency between javac task and use-d generated jars nodes
fedepell May 7, 2019
aae615c
javaw: also when using non-jar CLASSPATH has to be populated to use-d…
fedepell May 8, 2019
ffef98a
javaw: add node dependencies for non-jar tasks to all generated class…
fedepell May 8, 2019
3705946
Node: escape parentheses in ant_glob()
Vynce Apr 29, 2019
072ff0c
msvcdeps: refactor cache lock
Vynce Apr 25, 2019
40b394e
msvcdeps: remove path_to_node()'s path list support
Vynce Apr 29, 2019
07f5ff5
msvcdeps: use ant_glob() to get correct case of include paths
Vynce Apr 29, 2019
6b6251a
Better support for cross compiling with Clang
DragoonX6 May 9, 2019
b0aa9fd
Add a simple example for using Clang as a cross compiler for MSVC
DragoonX6 May 9, 2019
b7c032d
Undo parentheses escaping in ant_glob
ita1024 May 10, 2019
abdcf91
waf-2.0.16
ita1024 May 15, 2019
2c0352b
Update colors of install step
mortenvp May 17, 2019
f08a60d
Fix waf.bat ERRORLEVEL to return actual exit code of waf
a1batross May 23, 2019
7a57381
Python 3.8 has different flags for pyembed, needs --embed
hroncok May 24, 2019
cd472a1
sphinx: adds a tool for Sphinx documentation.
pkszub May 24, 2019
0a29e8f
docs #2240
ita1024 May 26, 2019
2c3a3d1
sphinx: adds an example to the playground.
pkszub May 26, 2019
e2d76ee
Optimize sub process startup with workers
ita1024 May 27, 2019
c94dfb8
Do not attempt to close fds on Windows platforms
ita1024 May 27, 2019
5170da3
Colors were missing when file already exists
mortenvp May 27, 2019
f1d416e
javaw: make dependencies code introduced in !2232 more robust
fedepell May 28, 2019
e7b64ed
qt5: ignore moc generation on uninstall target
fedepell Jun 1, 2019
e5de848
Improve Qt5 processing 1de43d82c036bf9e6c04ea852e5a8c718550c8ec
ita1024 Jun 2, 2019
e2ec1d8
Refactor javaw.py 066a0511810f291c87810276b47427bf2101b70c
ita1024 Jun 2, 2019
07ce370
Rework installation colors
ita1024 Jun 2, 2019
054b036
Use a constant instead of a hard-coded number (Qt5)
ita1024 Jun 2, 2019
f6a00bd
Ensure that 'waf test' raises a meaningful error message in the insta…
ita1024 Jun 2, 2019
79554f3
waf-2.0.17
ita1024 Jun 2, 2019
061989d
qt5 demo: add example of unit testing using QtTest integrated into wa…
fedepell Jun 5, 2019
a302e11
javaw: bugfix outdir is always a node (since converted in apply_javac)
fedepell Jun 6, 2019
4d74bb7
Rework "qt5 demo: add example of unit testing using QtTest"
ita1024 Jun 6, 2019
608a6ee
Rework "qt5 demo: add example of unit testing using QtTest"
ita1024 Jun 6, 2019
d9089d5
Add a configuration test for: "qt5 demo: add example of unit testing …
ita1024 Jun 6, 2019
d218cca
java demo: add test case for !2242
fedepell Jun 6, 2019
65028f4
Fix local_rpath tool
muffgaga Jun 25, 2018
5b23b94
Use cross_prefix option for objcopy if available
muffgaga Mar 22, 2018
26848cb
Allow for flat install of python files via `py` feature
muffgaga Oct 29, 2018
8c66c5c
Add demo for nested/flat python file installation
ystradmann Jun 19, 2019
2918271
Add -fno-strict-aliasing flags only if missing
ita1024 Jun 20, 2019
c1bedef
Improve fast_partial compatibility #2240
ita1024 Jun 23, 2019
04a70b9
Improve the configuration cache accuracy
ita1024 Jun 25, 2019
0085f08
Limit fast_partial.py failures on configuration tests
ita1024 Jun 25, 2019
61d3a94
Do not clean lock files in top and run dirs if no-lock opts are set
Jun 26, 2019
d74ca88
Fix PIE errors in demos/asm/
ita1024 Jun 26, 2019
e1fb58b
Detect of assembly features in bld.program()/bld.shlib()
ita1024 Jun 26, 2019
410cd6a
Waf Pip integration through a setup.py in root
Feb 13, 2019
fcd173f
Adds script section to install waf-light bin and make it look for waf…
Jun 26, 2019
84f3c80
Add a dependency scanner for gas/yasm and nasm (incomplete)
ita1024 Jun 26, 2019
d59f103
Removing the incorrect License description
Jun 26, 2019
0b57629
Move setup.py in subdir to unclutter the project root
Jun 26, 2019
cb73820
Ensure waf-light is first in sys.path (Pip integration)
ita1024 Jun 27, 2019
14bede5
Fix a deadlock with cython+subst tasks #2244
ita1024 Jun 27, 2019
e822fb5
Add a testcase for #2244: deadlock with cython+subst tasks
ita1024 Jun 28, 2019
0c96b0f
Add genpybind feature
kljohann Oct 19, 2017
d0985ab
Set resource-dir explicitly for genpybind-parse
Jan 29, 2018
f2e7dcf
Add genpybind example
ystradmann Jul 2, 2019
ec83305
Fix doxygen task-gen. pars input before processing
Jul 5, 2019
5e91bf9
Make the configuration cache more accurate #2251
ita1024 Jul 8, 2019
7782dc9
Add executable arguments for configuration tests / execute=True
ita1024 Jul 11, 2019
c4fd5bc
Update the environment to IronPython 2.7.9
ita1024 Jul 11, 2019
af13fcb
IronPython is broken
ita1024 Jul 11, 2019
8ef6fa5
waf-2.0.18
ita1024 Jul 14, 2019
d645e59
Disable lto for the endianness configuration test #2250
ita1024 Jul 30, 2019
3cdd87b
Improve endianness detection
ita1024 Jul 31, 2019
fba789d
Add a new file-based waf cache implementation
ita1024 Aug 1, 2019
5b0d7b0
Conceal imp warnings in Python3
ita1024 Aug 14, 2019
2c7251f
Simplify the Python examples
ita1024 Aug 14, 2019
e00eb74
Enable wafcache remote servers
ita1024 Aug 25, 2019
70a68fd
Add WAFCACHE_NO_PUSH to extras/wafcache
ita1024 Sep 1, 2019
43fafa1
clang_compilation_database: fix #2247, add clangdb command to generat…
a1batross Sep 8, 2019
33cc295
Unbreak the endianness test with msvc
ita1024 Sep 8, 2019
64b55b3
pytest: add handling also of java dependencies via CLASSPATH (ie. JEP…
fedepell Sep 10, 2019
f40bf14
swig playground: fix build for Python 3.x
fedepell Sep 13, 2019
d0f1d75
javatest: manage environment also for non-java dependencies (ie. JNI …
fedepell Sep 13, 2019
40fbdbf
Silently ignore negative values for -j
ita1024 Sep 26, 2019
be5c79d
Improve error messages in c_aliases
ita1024 Oct 8, 2019
77265a5
Tune the application name on --help #2254
ita1024 Oct 14, 2019
12ae961
Propagate ldflags to fortran tasks #2262
ita1024 Oct 18, 2019
7ea236c
[MSVC/Fortran] Add /Fd flag when /Zi or /ZI flags are detected
Oct 20, 2019
6e3ea25
Push wafcache files synchronously for now
ita1024 Oct 23, 2019
e1d0efa
Improve cache activity verbosity
ita1024 Oct 27, 2019
2cc8a6e
playground/swig: clean up java swig example
fedepell Nov 2, 2019
a88ae5f
Improve os.environ propagation #2264
ita1024 Nov 3, 2019
7bbf13e
msvc_pdb: check compiled_tasks existence, so it will not misleadingly…
a1batross Nov 4, 2019
a708d82
Tools/c_config.py: update to documentation
fedepell Nov 5, 2019
b864386
Ignore resource files
ita1024 Nov 8, 2019
f976fb5
Normalize the indentation according to the rest of the project
ita1024 Nov 8, 2019
10561e4
Simplify msvc_pdb.py
ita1024 Nov 8, 2019
f883a4b
Further simplifications
ita1024 Nov 8, 2019
90dea12
Fix one more issue in msvc_pdb.py
ita1024 Nov 8, 2019
c00e750
Remove the dependency on Qt5Gui in the Qt5 detection
ita1024 Nov 10, 2019
a41d0fd
Fix relative path comparisons in clang_compilation_database
ita1024 Nov 10, 2019
a4e9a9f
Typo
ita1024 Nov 10, 2019
4d13ae5
Add back an accidentally deleted line clang_compilation_database.py
Nov 10, 2019
eac655a
Use task.get_cwd() in clang_compilation_database
ita1024 Nov 10, 2019
44b7497
Improve the Qt5 fPIC/fPIE detection
ita1024 Nov 16, 2019
ffa8ce5
Support versioned shared libraries.
severinstrobl Nov 19, 2019
52f5e58
waf-2.0.19
ita1024 Nov 24, 2019
b03ff9a
Update irixcc
ita1024 Nov 29, 2019
24bce81
Remove conf.find_cpp from irix compiler detection
ita1024 Nov 29, 2019
11257de
Make distclean target 'no_lock_in_top/run' modifiers compatible with …
Nov 28, 2019
2a98d0f
Make multicheck collisions less likely
ita1024 Dec 14, 2019
53b35e8
Fix detection of build context when a custom context is used
mortenvp Dec 18, 2019
eb469b1
Exclude ConfigSet from altering ConfigurationContext.run_build caches…
ita1024 Dec 20, 2019
60c0d3e
Using suggested self.cmd.startswith approach
mortenvp Jan 2, 2020
8048358
javaw: fix buglet overwrites working variable while adding dependencies
fedepell Jan 4, 2020
958cd11
javatest: add dependency management for jar/java taskgens
fedepell Jan 4, 2020
4329c40
doxygen: add ext_int to force build ordering
fedepell Feb 17, 2020
5207714
gccdeps: Add support for gas
Vynce Feb 24, 2020
2ed75ac
add support for clang on cygwin
swaldhoer Feb 29, 2020
8359238
Remove the accidental gccdeps requirement
ita1024 Feb 29, 2020
c4434df
Add support for clang++ on cygwin
swaldhoer Mar 1, 2020
f7d193a
Improve custom option processing #2280
ita1024 Mar 4, 2020
9dd2a36
c_config: -flto and -fno-lto need to be passed also when linking
fedepell Mar 19, 2020
c0d5ea0
waf-2.0.20
ita1024 Mar 28, 2020
3c56a3b
boost: fix removal of lib extension
Apr 9, 2020
a1ffcb6
boost: ignore version number from library name
Apr 10, 2020
71428c2
msvcdeps: Tweak debug output
Vynce Apr 23, 2020
d609f8a
qt5: improve documentation on library detection and options
fedepell Apr 30, 2020
9ea3e94
sphinx: fix installation phase (as generated files are unknown until …
fedepell May 6, 2020
384fd60
Xcode6 py3 fix.
jpauwels May 14, 2020
227cd8b
Fix alignment in generated Xcode file
jpauwels May 18, 2020
5de5b3c
Fix configuration of linker flags in Xcode file
jpauwels May 18, 2020
513484e
Export preprocessor macros in Xcode project
jpauwels May 18, 2020
c57a1e3
Escape quoted strings in Xcode project
jpauwels May 18, 2020
04e3934
Allow parameter "always" in doxygen tool (waflib/extra/doxygen.py)
amontida Jun 13, 2020
ea65e24
Update c_dumbpreproc (broken)
ita1024 Jun 18, 2020
e6bb2eb
gccdeps/msvcdeps: renaming a header must rebuild silently #2293
ita1024 Jun 19, 2020
ec13b69
Conceal gccdeps/msvcdeps errors on inaccessible/unreadable files
ita1024 Jun 24, 2020
483ee0d
Typo
selsky Apr 28, 2020
6901a1e
c_config: add MCST Elbrus detection
a1batross Jul 12, 2020
1bd658e
Improve wafcache process pre-allocation
ita1024 Aug 3, 2020
f546810
Port file_to_obj to Python3
ita1024 Aug 3, 2020
b37f481
Fix playground/pch's second example
ita1024 Aug 10, 2020
5cf1fac
Remove an extra 'pch' annotation in playgroud/pch/wscript
ita1024 Aug 10, 2020
805f45b
Force an asm-specific defines flag
ita1024 Aug 15, 2020
1cdf212
default to version of visual studio from command prompt if it exists
Aug 19, 2020
d789983
Simplify the determination of --msvc_version's default value
ita1024 Aug 19, 2020
92f1591
Update tutorial.rst to use uniform parameter names in all places wher…
Sep 6, 2020
660c5ff
Update tutorial.rst to clarify that the env attribute is shared betwe…
Sep 6, 2020
466272e
Make sure lupdate is explicitly required
ita1024 Sep 19, 2020
1e84cb2
Fail Qt5 detection immediately when the c++ compiler is missing
ita1024 Sep 19, 2020
962e310
The lrelease program is necessary, not lupdate
ita1024 Sep 19, 2020
7b6cd4c
waf_unit_test: make sure test is rerun if ut_str changes
fedepell Oct 14, 2020
ac6746d
Force unit test re-runs on environment or command changes
ita1024 Oct 15, 2020
f77556c
waf_unit_test: consider ut_cmd always for task signature
fedepell Oct 15, 2020
429c758
wafcache: add support for MinIO/mc cache
fedepell Nov 2, 2020
bcd8129
wafcache: make the extra more configurable for cloud providers usage
fedepell Nov 3, 2020
243fd8e
Improve WAFCACHE_CMD parameter handling
ita1024 Nov 3, 2020
b4effc9
Reduce verbosity in out-of-tree builds
ita1024 Nov 8, 2020
e219a10
Improve the WAFCACHE_CMD description
ita1024 Nov 8, 2020
a89ec35
Update the ChangeLog file
ita1024 Nov 8, 2020
2db18aa
Update the project's public key
ita1024 Nov 8, 2020
909b846
waf-2.0.21
ita1024 Nov 8, 2020
d396fdc
Fix the file_to_object example
ita1024 Nov 19, 2020
db60420
Exclude wafcache symlink handling
ita1024 Dec 8, 2020
f3c7369
Conceal wafcache decoding errors in Python3
ita1024 Dec 15, 2020
b042455
Reduce wafcache verbosity on cleanup operations
ita1024 Dec 15, 2020
0bf9456
Improve clang_compilation_database interaction with wafcache
ita1024 Dec 15, 2020
664258c
Work around distutils MACOSX_DEPLOYMENT_TARGET regression #2330
ita1024 Dec 17, 2020
63d9ab7
Haxe support
brodcode-stale Dec 23, 2020
28d030c
wafcache: add simple cache statistics collection, configurable via env
fedepell Dec 23, 2020
11d7a6f
Do not detect Qt6 when detecting Qt5
ita1024 Dec 26, 2020
556b823
wafcache: fix small typo on stats log message
fedepell Jan 7, 2021
ae57421
cuda: solve warnings due to testapp being created by two tg
fedepell Jan 7, 2021
8571aef
cuda: pass correctly compiler options from nvcc to the underlying com…
fedepell Jan 7, 2021
e033cd5
wafcache: fix reporting of concurrent trim error
fedepell Jan 11, 2021
cc4fbe8
Suppress cache trimming operation errors
ita1024 Jan 12, 2021
78b9774
Increase clang_compilation_database and swig compatibility
ita1024 Jan 13, 2021
935caea
Add more docs to clang_compilation_database
ita1024 Jan 19, 2021
27a8e49
Fix Build.py indentation
ita1024 Jan 19, 2021
5241d7b
Allow mixing Unix paths with destdir on non-Unix platforms
ita1024 Jan 19, 2021
0f61ac6
waf_unit_test: Fix command handling under windows
Jan 20, 2021
128960d
Work around faulty vcvarsall.bat scripts #2315
ita1024 Jan 29, 2021
2d39ad3
waf-2.0.22
ita1024 Jan 30, 2021
1507961
msvs: Update project sorting in visual studio solution file
martiank9 Mar 12, 2021
fc825bd
winres: Pass include paths by environment variable
martiank9 Apr 5, 2021
21ad2af
c_config: add RISC-V generic detection
a1batross Apr 15, 2021
4fe69fe
msvcdeps: Faster case correction
Vynce Apr 12, 2021
96ac7b3
Let msvcsdeps process relative paths and in a deterministic manner
ita1024 Apr 22, 2021
e5c2a05
msvcdeps: Remove unused variable
Vynce Apr 9, 2021
c64d4b9
msvcdeps: Align with gccdeps
Vynce Apr 9, 2021
c46a931
gccdeps: Rename some variables
Vynce Apr 9, 2021
459d12b
gccdeps: Move scan() method
Vynce Apr 9, 2021
71355d0
gccdeps: Refactor cache lock
Vynce Apr 9, 2021
6db6412
swig: skip CR (\r) if present in module name
fedepell Apr 29, 2021
c2b87ea
On windows, try $INCLUDEPY/../libs to detect the Python library path
ita1024 Apr 30, 2021
f9e5590
Disable OpenIndiana from the pipelines
ita1024 May 4, 2021
04a4a31
Handle deprecated Thread.setDaemon in Python 3.10
ita1024 May 13, 2021
958c73a
Improve error messages from scanner errors #2356
ita1024 Jun 12, 2021
fbba311
Process dependency Nodes in bld(rule=..., deps=[..])
ita1024 Jun 16, 2021
bb5bb18
color_gcc: Check that cmd has elements in it before processing it.
martiank9 Jun 21, 2021
c40ee48
Make clang_compilation_database compatible with variants
Jul 15, 2021
51555ad
eclipse: add generation of editor language settings
fedepell Aug 31, 2021
0b28275
eclipse: remove repeated entries in include paths for C/C++
fedepell Sep 3, 2021
4b0499b
Provide the classic runner system from waf 1.x as an extension
ita1024 Sep 22, 2021
019f072
wafcache: support stats also for multiple build commands
fedepell Nov 24, 2021
5eb2b2e
Update the CI pipelines
ita1024 Dec 4, 2021
e051e13
Detect Qt3D* libraries #2368
ita1024 Dec 8, 2021
61156b4
Detect qt5 libraries in alphabetical order
ita1024 Dec 8, 2021
5924c85
eclipse: add possibility to add custom targets execution
fedepell Dec 9, 2021
a17dc11
Avoid errors in case ECLIPSE_EXTRA_TARGETS is is set to None
ita1024 Dec 9, 2021
6ed3102
Add support for GNU/kFreeBSD
sathieu Dec 13, 2021
bb71f26
waf-2.0.23
ita1024 Dec 15, 2021
f946941
modernize macos demo
Dec 21, 2021
8568c85
Define xrange() in Python 3
cclauss Jan 18, 2019
f60daab
Match the change made in upstream
cclauss Jan 18, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ build
demos/*/build*
playground/*/build*
.waf-*
.waf3-*
*.log
.DS_Store
.AppleDouble
Expand Down
291 changes: 291 additions & 0 deletions .pipelines/Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,291 @@

pipeline {
agent none
stages {
stage('Build and Lint') {
parallel {
stage('Python 2.7') {
agent {
label "ubuntu"
}
steps {
sh 'python2.7 ./waf-light'
stash includes: 'waf', name: 'waf'
}
}
stage('Python 3.6') {
agent {
label "freebsd"
}
steps {
sh 'python3.6 ./waf-light'
}
}
stage('Deprecation warnings') {
agent {
label "ubuntu"
}
steps {
sh '''
cd waflib
find . -iname "*.pyc" -exec rm -f {} \\; || true
! (((PYTHONWARNINGS=all python3.6 -m compileall . > /dev/null) 2>&1 ) 2>&1) | grep -i DeprecationWarning
'''
}
}
stage('Pyflakes') {
agent {
label "freebsd"
}
steps {
sh '''
cd waflib
var=`(/usr/local/bin/pyflakes3.py *.py Tools/*.py extras/*.py 2>&1) | egrep "undefined name|invalid syntax|inconsistent use|unindent does not match any outer indentation level" | wc -l`
if [ "0" -eq "$var" ]
then
/usr/local/bin/pyflakes3.py *.py Tools/*.py extras/*.py || true
else
# just do it again and fail
/usr/local/bin/pyflakes3.py *.py Tools/*.py extras/*.py
exit 1
fi
'''
}
}
stage('Unit tests') {
agent {
label "fedora"
}
steps {
sh '''
./waf-light
cd tests/preproc/
../../waf distclean
../../waf configure build
cd ../..'''
sh '''
cd tests/install/
../../waf distclean
../../waf configure build
cd ../..'''
sh '''
cd tests/general/
../../waf distclean
../../waf configure build
cd ../..'''
sh '''
export PATH=$PATH:$PWD
cd tests/init/
../../waf distclean
../../waf configure build
cd ../..'''
sh '''
export WAF_TEST_GROUP=waftest
cd tests/install_group/
../../waf distclean
../../waf configure build
'''
}
}
}
}
stage('Integration') {
parallel {
stage('Ubuntu') {
stages {
stage('py25') {
agent {
label "ubuntu"
}
steps {
dir('demos') {
unstash 'waf'
}
sh '''cd demos; LD_LIBRARY_PATH=/opt/lib ./waf distclean configure clean build --top=c'''
sh '''cd demos; LD_LIBRARY_PATH=/opt/lib ./waf distclean configure clean build --top=c++'''
sh '''cd demos; LD_LIBRARY_PATH=/opt/lib ./waf distclean configure clean build --top=java'''
sh '''cd demos; LD_LIBRARY_PATH=/opt/lib ./waf distclean configure clean build --top=perl'''
sh '''cd demos; LD_LIBRARY_PATH=/opt/lib ./waf distclean configure clean build --top=python'''
sh '''cd demos; LD_LIBRARY_PATH=/opt/lib ./waf distclean configure clean build --top=qt5'''
sh '''cd demos; LD_LIBRARY_PATH=/opt/lib ./waf distclean configure clean build --top=subst'''
}
}
stage('py36') {
agent {
label "ubuntu"
}
steps {
dir('demos') {
unstash 'waf'
}
sh '''cd demos; python3 ./waf configure clean build --top=c'''
sh '''cd demos; python3 ./waf configure clean build --top=c++'''
sh '''cd demos; python3 ./waf configure clean build --top=java'''
sh '''cd demos; python3 ./waf configure clean build --top=perl'''
sh '''cd demos; python3 ./waf configure clean build --top=python'''
sh '''cd demos; python3 ./waf configure clean build --top=qt5'''
sh '''cd demos; python3 ./waf configure clean build --top=subst'''
}
}
stage('py27') {
agent {
label "ubuntu"
}
steps {
dir('demos') {
unstash 'waf'
}
sh '''cd demos; ./waf configure clean build --top=c'''
sh '''cd demos; ./waf configure clean build --top=c++'''
sh '''cd demos; ./waf configure clean build --top=java'''
sh '''cd demos; ./waf configure clean build --top=perl'''
sh '''cd demos; ./waf configure clean build --top=python'''
sh '''cd demos; ./waf configure clean build --top=qt5'''
sh '''cd demos; ./waf configure clean build --top=subst'''
}
}
}
}
stage('OpenBSD') {
stages {
stage('Jython') {
agent {
label "openbsd"
}
steps {
sh '''
export WAF_NO_PREFORK=1
/home/jenkins/jython/bin/jython ./waf-light
cp waf demos/c
cd demos/c
/home/jenkins/jython/bin/jython ./waf distclean configure clean build
'''
}
}
stage('py38') {
agent {
label "openbsd"
}
steps {
dir('demos') {
unstash 'waf'
}
sh '''cd demos/asm; python3 ../waf configure clean build'''
sh '''cd demos/c; python3 ../waf configure clean build'''
sh '''cd demos/c++; python3 ../waf configure clean build'''
sh '''cd demos/glib2; python3 ../waf configure clean build'''
sh '''cd demos/perl; python3 ../waf configure clean build'''
sh '''cd demos/python; python3 ../waf configure clean build'''
sh '''cd demos/subst; python3 ../waf configure clean build'''
}
}
}
}
stage('Windows') {
stages {
stage('C/py34') {
agent {
label "windows"
}
steps {
bat ''' C:/Python34/python.exe waf-light --tools=msvs '''
bat '''
copy waf demos\\c /Y
cd demos\\c
C:/Python34/python.exe waf distclean
C:/Python34/python.exe waf configure --no-msvc-lazy build -v
'''
bat '''
copy waf demos\\qt5 /Y
cd demos\\qt5
C:/Python34/python.exe waf distclean
C:/Python34/python.exe waf configure --no-msvc-lazy build -v
'''
bat '''
copy waf playground\\msvs /Y
cd playground\\msvs
C:/Python34/python.exe waf distclean
C:/Python34/python.exe waf configure
C:/Python34/python.exe waf msvs
'''
}
}
stage('C/Msys2/py27') {
agent {
label "windows"
}
steps {
unstash 'waf'
bat '''
copy waf demos\\c /Y
cd demos\\c
set MSYSTEM=MINGW64
set WD=C:\\msys64\\usr\\bin
set CHERE_INVOKING=1
C:\\msys64\\usr\\bin\\sh --login -c 'exec /bin/bash -c "python waf configure clean build && python waf distclean"'
'''
}
}
stage('C/Msys2/py35') {
agent {
label "windows"
}
steps {
unstash 'waf'
bat '''
copy waf demos\\c /Y
cd demos\\c
set MSYSTEM=MINGW64
set WD=C:\\msys64\\usr\\bin
set CHERE_INVOKING=1
C:\\msys64\\usr\\bin\\sh --login -c 'exec /bin/bash -c "python3 waf configure clean build && python3 waf distclean"'
'''
}
}
}
}
stage('FreeBSD') {
stages {
stage('py36') {
agent {
label "freebsd"
}
steps {
dir('demos') {
unstash 'waf'
}
sh '''cd demos/c; python3.6 ../waf distclean configure clean build'''
sh '''cd demos/c++; python3.6 ../waf distclean configure clean build'''
sh '''cd demos/java; python3.6 ../waf distclean configure clean build'''
sh '''cd demos/jni; python3.6 ../waf distclean configure clean build'''
sh '''cd demos/perl; python3.6 ../waf distclean configure clean build'''
sh '''cd demos/python; python3.6 ../waf distclean configure clean build'''
sh '''cd demos/ruby; python3.6 ../waf distclean configure clean build'''
sh '''cd demos/glib2; python3.6 ../waf distclean configure clean build'''
sh '''cd demos/qt5; python3.6 ../waf distclean configure clean build'''
sh '''cd demos/dbus; python3.6 ../waf distclean configure clean build'''
}
}
}
}
stage('MacOS') {
stages {
stage('py27') {
agent {
label "macos"
}
steps {
dir('demos') {
unstash 'waf'
}
sh '''cd demos/c; ../waf distclean configure clean build'''
sh '''cd demos/python; ../waf distclean configure clean build'''
sh '''cd demos/mac_app; ../waf distclean configure clean build'''
}
}
}
}
}
}
}
}
Loading