8000 v2.2 RC by samhatchett · Pull Request #570 · OpenWaterAnalytics/EPANET · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

v2.2 RC #570

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

Merged
merged 882 commits into from
Dec 10, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
882 commits
Select commit Hold shift + click to select a range
0f7c075
Merge pull request #444 from michaeltryby/dev
michaeltryby Apr 3, 2019
568f89f
removing reference to strncpy
michaeltryby Apr 3, 2019
f99d417
Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET in…
michaeltryby Apr 3, 2019
efd86c3
Fixing memory problems with test_toolkit
michaeltryby Apr 3, 2019
b578380
Update test_toolkit.hpp
michaeltryby Apr 3, 2019
be2b0a3
Update CMakeLists.txt
michaeltryby Apr 3, 2019
84bf6f9
Cleaning up include statements adding crtdbg.h
michaeltryby Apr 3, 2019
502e5f1
Fixing index error in test
michaeltryby Apr 3, 2019
9f867b1
Merge pull request #443 from OpenWaterAnalytics/lrossman-dev17
michaeltryby Apr 3, 2019
927cf97
merging upstream dev
michaeltryby Apr 3, 2019
f63df92
Merge pull request #445 from michaeltryby/dev-unittesting
michaeltryby Apr 3, 2019
3e733f5
Add more analysis options to the API (issue #425)
Apr 4, 2019
1632508
Fixed epanet2_enums.h
Apr 4, 2019
b87c102
Merge pull request #447 from OpenWaterAnalytics/lrossman-dev
LRossman Apr 4, 2019
edcd4b6
Eliminates use of temporary linked lists to process Patterns & Curves…
Apr 5, 2019
b2a8b55
Update input2.c
Apr 5, 2019
1f67c8c
Merge pull request #450 from OpenWaterAnalytics/lrossman-dev
LRossman Apr 8, 2019
b844323
Bug fix for 2Comp and LIFO tank mixing models (issue #448)
Apr 8, 2019
d436b23
Triggering build to update benchmarks
michaeltryby Apr 8, 2019
04a6ece
Added new reg tests
michaeltryby Apr 8, 2019
14af368
Merge branch 'fix_bug_getdemandname' of https://github.com/Mariosmsk/…
michaeltryby Apr 8, 2019
cf1fc43
Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET in…
michaeltryby Apr 8, 2019
a72e2dc
Merge pull request #451 from OpenWaterAnalytics/lrossman-dev
michaeltryby Apr 8, 2019
a6e0337
Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET in…
michaeltryby Apr 8, 2019
700110c
Merge pull request #1 from michaeltryby/Mariosmsk-fix_bug_getdemandname
Mariosmsk Apr 8, 2019
8b4727e
Merge pull request #431 from Mariosmsk/fix_bug_getdemandname
michaeltryby Apr 8, 2019
30f0def
Initial commit list
michaeltryby Apr 9, 2019
6f236f0
Update test_list.cpp
michaeltryby Apr 9, 2019
dcfa51f
Update list.h
michaeltryby Apr 9, 2019
1fdee6a
Fix typo
michaeltryby Apr 9, 2019
07995be
Fixing bug in head_list
michaeltryby Apr 9, 2019
39038bc
Fixing indentation
michaeltryby Apr 9, 2019
ea02e17
Fixed memory leak
michaeltryby Apr 10, 2019
f9dd9bc
Clean up and inline comments
michaeltryby Apr 10, 2019
6537b4f
Updating file headers
michaeltryby Apr 10, 2019
3d62254
Update list.c
michaeltryby Apr 10, 2019
dba0d1c
Update test_list.cpp
michaeltryby Apr 10, 2019
fbecf1b
Fixing indent
michaeltryby Apr 10, 2019
7d3c16a
Update list.c
michaeltryby Apr 10, 2019
06a90fd
Update test_list.cpp
michaeltryby Apr 10, 2019
669bdde
Expanding test
michaeltryby Apr 10, 2019
6187bc1
Fixing indent
michaeltryby Apr 10, 2019
f10e363
Work in progress
michaeltryby Apr 10, 2019
a7f8fc8
Reorganized to contain list abstraction
michaeltryby Apr 11, 2019
af87edb
Update list.c
michaeltryby Apr 11, 2019
3f37fdb
Refactoring head_list and tail_list
michaeltryby Apr 11, 2019
d79c766
Update test_list.cpp
michaeltryby Apr 11, 2019
57a5f6f
Update test_list.cpp
michaeltryby Apr 11, 2019
a81a8f4
Fixing bug
michaeltryby Apr 11, 2019
7e83d2c
Fixing bug on gcc
michaeltryby Apr 11, 2019
60fd6fa
Update CMakeLists.txt
michaeltryby Apr 11, 2019
9c4665a
Fixes memory leak in EN_addnode() (#455)
michaeltryby Apr 11, 2019
2404493
Merge pull request #454 from michaeltryby/dev-list
michaeltryby Apr 12, 2019
ce12b22
Updating unit tests
michaeltryby Apr 12, 2019
3fb5ba5
Fixing compilation bug on gcc
michaeltryby Apr 12, 2019
8989be1
Merge pull request #457 from michaeltryby/dev
michaeltryby Apr 12, 2019
880bdff
Work in progress
michaeltryby Apr 12, 2019
f80e74b
Update demand.h
michaeltryby Apr 12, 2019
c659c70
Work in progress
michaeltryby Apr 15, 2019
ac56971
Work in progress
michaeltryby Apr 16, 2019
02ec735
Work in progress
michaeltryby Apr 16, 2019
2d74851
Update cstr_helper.c
michaeltryby Apr 16, 2019
9224ac4
Update cstr_helper.c
michaeltryby Apr 16, 2019
ea8e043
Update test_cstrhelper.cpp
michaeltryby Apr 16, 2019
22a7993
Adding element id validity checks
michaeltryby Apr 16, 2019
3186ec3
Adding element id validity check
michaeltryby Apr 16, 2019
f161eca
Fixing build warnings on gcc
michaeltryby Apr 16, 2019
d1979e7
Update errror code from 250 to 252
michaeltryby Apr 17, 2019
4494db8
Merge pull request #459 from michaeltryby/dev
michaeltryby Apr 17, 2019
ff21a33
Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET in…
michaeltryby Apr 17, 2019
109276e
Work in progress
michaeltryby Apr 17, 2019
3cc9c95
Update demand.c
michaeltryby Apr 17, 2019
1583bea
Return object index from EN_addnode and EN_addlink (issue #432)
Apr 18, 2019
cc22eef
Fixed compilation errors
Apr 18, 2019
6b0e421
Update test_node.cpp
Apr 18, 2019
584233e
Create test_demand_data.cpp
michaeltryby Apr 18, 2019
4581266
test demand data passing
michaeltryby Apr 18, 2019
bf519fd
Work in progress
michaeltryby Apr 18, 2019
901a802
Passing open and close test
michaeltryby Apr 18, 2019
76b6254
get/set demand name are passing
michaeltryby Apr 18, 2019
a4ac34d
Updated criteria for valid object ID name
Apr 18, 2019
55a28de
Work in progress
michaeltryby Apr 18, 2019
ebb271c
Merge pull request #461 from OpenWaterAnalytics/lrossman-dev
LRossman Apr 19, 2019
7537be1
Work in progress
michaeltryby Apr 19, 2019
e9650d2
Work in progress
michaeltryby Apr 20, 2019
405822c
Cleaning up build on gcc
michaeltryby Apr 20, 2019
e2e12fa
Cleaning up gcc build
michaeltryby Apr 20, 2019
17b82bd
Fixing bug
michaeltryby Apr 20, 2019
8761543
Working on gcc bug
michaeltryby Apr 20, 2019
6a084cc
Update inpfile.c
michaeltryby Apr 20, 2019
f05746c
GCC Bug
michaeltryby Apr 20, 2019
d985a69
Refactored xstrcpy function
Apr 20, 2019
1524ade
Merge pull request #463 from OpenWaterAnalytics/lrossman-dev
LRossman Apr 21, 2019
b80b4ed
Update inpfile.c
michaeltryby Apr 22, 2019
97f70e4
Update epanet.c
michaeltryby Apr 22, 2019
d34ac67
updating get demand name and write demands
michaeltryby Apr 22, 2019
ca097a9
Update test_project.cpp
michaeltryby Apr 22, 2019
c98a43e
Isolating bug
michaeltryby Apr 22, 2019
60853ec
Update demand.c
michaeltryby Apr 22, 2019
ce70d14
Restoring write_demands section in saveinpfile
michaeltryby Apr 22, 2019
f19d43d
Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET in…
michaeltryby Apr 22, 2019
a0048b7
Update test_demand_data.cpp
michaeltryby Apr 22, 2019
4f9c901
Merge branch 'dev-list' of https://github.com/michaeltryby/EPANET int…
michaeltryby Apr 23, 2019
73bc53a
Update demand.c
michaeltryby Apr 23, 2019
5d3eeb9
Reverted handling of default pattern
michaeltryby Apr 23, 2019
feee7f2
Update epanet.c
michaeltryby Apr 23, 2019
9008133
Update demand.c
michaeltryby Apr 23, 2019
cf97cf8
Work in progress
michaeltryby Apr 23, 2019
9b3173f
Adding key and search to list
michaeltryby Apr 24, 2019
d927851
Adding remove node method to generic list
michaeltryby Apr 24, 2019
dc3c2ff
Adding remove demand method to toolkit
michaeltryby Apr 24, 2019
35cf9bd
Fix bug and test remove demand
michaeltryby Apr 24, 2019
59bd09c
Merge pull request #465 from michaeltryby/dev-list
michaeltryby Apr 24, 2019
97be794
Fix problems with setting tank parameters (issue #464 )
Apr 25, 2019
61847db
Merge pull request #466 from OpenWaterAnalytics/lrossman-dev
michaeltryby Apr 25, 2019
5d687d7
Fixed NULL pointer error, if no label is provided after the rule keyw…
makusuko May 2, 2019
d34748e
Create Makefile2.bat
Mariosmsk May 2, 2019
d3e989b
Create LICENSE
samhatchett Jun 28, 2017
1aef998
Fixed NULL pointer error, if no label is provided after the rule keyw…
makusuko May 2, 2019
1b3141a
Merge branch 'fix-rules-label' of https://github.com/makusuko/EPANET …
makusuko May 3, 2019
6e621bc
Merge pull request #1 from OpenWaterAnalytics/dev
samhatchett May 3, 2019
d56601d
Merge pull request #476 from Mariosmsk/update_win_build
eladsal May 4, 2019
eefc7f7
For "conditional" do delete a node connected to a link
eladsal May 6, 2019
6ace843
Merge pull request #472 from makusuko/fix-rules-label
LRossman May 8, 2019
52bda22
Merge pull request #478 from eladsal/473
eladsal May 8, 2019
3f34a1f
Merge pull request #2 from OpenWaterAnalytics/dev
samhatchett May 8, 2019
086db3b
Create CODE_OF_CONDUCT.md
samhatchett May 8, 2019
cf9c2a9
Merge pull request #3 from samhatchett/add-code-of-conduct-1
samhatchett May 8, 2019
365ab00
Refactors the API's demand editing functions
May 9, 2019
253d74d
Update test_demand.cpp
May 9, 2019
55bf038
Update CODE_OF_CONDUCT.md
samhatchett May 9, 2019
178ad57
Update rules.c
eladsal May 9, 2019
21ff7c0
Updates to doc files
May 9, 2019
1c9ee77
Documentation edits
May 9, 2019
d71776d
Merge pull request #481 from OpenWaterAnalytics/lrossman-dev
LRossman May 11, 2019
8c4aa0e
Update Makefile.bat
eldemet May 12, 2019
746da86
Update Makefile2.bat
eldemet May 12, 2019
ac21d4a
Delete epanet2.def
eldemet May 12, 2019
0930a33
Minor format change to status report
May 12, 2019
dae0fc0
Removing status reports from CI testing
May 13, 2019
4c9379d
Merge pull request #479 from samhatchett/dev
eladsal May 13, 2019
d0634c9
Merge pull request #485 from OpenWaterAnalytics/eldemet-patch-1
eladsal May 13, 2019
5c04173
Merge pull request #486 from OpenWaterAnalytics/eldemet-patch-2
eladsal May 13, 2019
c8c2808
Merge pull request #487 from OpenWaterAnalytics/eldemet-patch-3
eladsal May 13, 2019
9a00015
rm WinSDK folder and update Makefiles
Mariosmsk May 13, 2019
f8cf7e0
Restored CI testing of status reports
May 13, 2019
46e2297
Merge pull request #489 from OpenWaterAnalytics/lrossman-dev
LRossman May 13, 2019
c9b8369
Removes _DEBUG directives from all source files
May 14, 2019
efb189a
Fix refactor of types.h
May 14, 2019
fc84e2b
updates authors
May 14, 2019
93db1ca
updates AUTHORS and generator script
May 14, 2019
ed1acd7
Update run\CMakeLists.txt
May 14, 2019
d51b65f
add help file win_build.md
Mariosmsk May 15, 2019
720b5da
Merge pull request #493 from OpenWaterAnalytics/lrossman-dev
LRossman May 15, 2019
55c9607
move win_build.md to root dir and renaiming to BUILDING.md
Mariosmsk May 15, 2019
9e80fe6
Move BuildAndTest.md to the tools directory
eladsal May 15, 2019
2708e88
Merge pull request #492 from Mariosmsk/update_win_build_folder
eladsal May 15, 2019
c37cd1e
Update BUILDING.md
May 16, 2019
0e48056
Update BUILDING.md
May 16, 2019
e4e6d49
Update BUILDING.md
May 16, 2019
f75a946
Merge pull request #496 from OpenWaterAnalytics/lrossman-dev-doc
LRossman May 16, 2019
40c39fd
Fixes problem with findpattern() function (issue #498)
May 24, 2019
17b4ffb
Merge pull request #499 from OpenWaterAnalytics/lrossman-dev-doc
LRossman May 24, 2019
6a5aa37
Change default properties for new pipe created with EN_addlink (issue…
May 28, 2019
39f66b8
Merge pull request #501 from OpenWaterAnalytics/lrossman-dev-doc
LRossman May 29, 2019
2bbbf73
Numerous updates to project documentation
May 30, 2019
fe92a99
Merge pull request #503 from OpenWaterAnalytics/lrossman-dev-doc
LRossman May 31, 2019
9669742
Adds tank overflow feature
Jun 17, 2019
2bec884
Updating docs for tank overflow feature
Jun 17, 2019
5fafb4c
Updating VB include files
eladsal Jun 19, 2019
d17a7df
Update input3.c
Jun 19, 2019
85e2f2c
Identifies overflowing tank in Status Report
Jun 20, 2019
57403b8
Merge pull request #505 from OpenWaterAnalytics/feature-tankoverflow
LRossman Jun 21, 2019
a052e87
Update Makefile.bat
Jun 26, 2019
f267eeb
Update Makefile2.bat
Mariosmsk Jun 26, 2019
006db4a
Merge pull request #508 from OpenWaterAnalytics/win_build_script_fix
LRossman Jun 29, 2019
4cc1691
Merge pull request #510 from Mariosmsk/patch-2
eladsal Jul 6, 2019
3fe11b9
rethinking the python wrapper (#511)
samhatchett Jul 17, 2019
a89f339
PDA fixes
Jul 22, 2019
a22a3cf
Minor update to force new CI test
Jul 22, 2019
051519d
Another minor change to force another CI test
Jul 22, 2019
844ebde
Merge pull request #514 from OpenWaterAnalytics/dev-PDA_fixes
eladsal Jul 22, 2019
0760648
Fixes Overflow and PDA tests not being run
Jul 22, 2019
a184a3a
Merge pull request #515 from OpenWaterAnalytics/dev-PDA_fixes
LRossman Jul 22, 2019
4e2e6c9
Fix EN_getElseaction and EN_setelseaction
Mariosmsk Jul 24, 2019
560105c
Merge pull request #516 from Mariosmsk/fix_rule_actions
LRossman Jul 24, 2019
3716d33
Add -MT switch for CMake Windows build
Jul 24, 2019
53ff8e7
Merge pull request #518 from OpenWaterAnalytics/rossman/CmakeLists_ch…
LRossman Jul 26, 2019
d66f023
Updates to the docs
Jul 26, 2019
9c51160
Merge pull request #519 from OpenWaterAnalytics/lrossman/doc_updates
LRossman Jul 26, 2019
20ae172
Update BUILDING.md
Jul 26, 2019
bbe4fb7
Merge pull request #520 from OpenWaterAnalytics/lrossman/doc_updates
eladsal Jul 27, 2019
f5acb16
Build script updates
Jul 31, 2019
153fa3d
Merge pull request #523 from OpenWaterAnalytics/lrossman-build_script…
LRossman Aug 1, 2019
803bad0
Fixes EN_setlinkvalue bug
Aug 5, 2019
0f3005e
Merge pull request #525 from OpenWaterAnalytics/lrossman_ENsetlinkval…
LRossman Aug 7, 2019
1ce6901
fix in EN_deleteLink
Mariosmsk Aug 8, 2019
eb04559
rm set to null in functions EN_deletenode, EN_deletelink
Mariosmsk Aug 10, 2019
9572acd
Merge pull request #527 from Mariosmsk/fix_delete_link_comment
LRossman Aug 12, 2019
2e42931
trial actions config
samhatchett Sep 19, 2019
cb16654
Update ccpp.yml
samhatchett Sep 19, 2019
9f1634a
welcome to the Actions beta
samhatchett Sep 19, 2019
647abd7
fixes mkstemp file handle-leaking behavior (#529)
samhatchett Sep 25, 2019
d111fbf
reverts posix include (#533)
samhatchett Sep 25, 2019
da1253f
Fixes bugs in pump and demand head loss gradients
Sep 26, 2019
f2ef979
Removed dependence on unistd.h in project.c
Sep 26, 2019
3300ef0
getTmpName() and xstrcpy() made safer
Sep 30, 2019
38278f7
Fixed use of strncpy in xstrcpy()
Sep 30, 2019
ad139a4
Merge pull request #536 from OpenWaterAnalytics/lrossman-pump_bug_fix
LRossman Oct 4, 2019
1501204
Refactor of hydcoeffs.c
Oct 4, 2019
6e80fd8
Update ReleaseNotes2_2.md
Oct 7, 2019
5601973
Merge pull request #537 from OpenWaterAnalytics/lrossman-hydcoeffs_re…
LRossman Oct 8, 2019
5f7fd55
Return error if node/link name is too long (#535)
samhatchett Oct 9, 2019
344700a
Fixes problems with EN_addnode() (#543)
LRossman Oct 16, 2019
b640a86
Adds EN_getresultindex function to the API
Oct 26, 2019
d5becaf
Merge pull request #547 from OpenWaterAnalytics/lrossman-ENgetresulti…
LRossman Oct 29, 2019
7aadc83
Adds link vertex get/set functions to the API
Oct 29, 2019
1709b12
Fixes to EN_addlink and EN_deletelink
Oct 30, 2019
55e2879
Updates the docs
Oct 30, 2019
271d855
Merge pull request #549 from OpenWaterAnalytics/lrossman-vertices
LRossman Oct 31, 2019
3bd4039
Bug fix for EN_setcurve
Nov 2, 2019
7400fad
Merge pull request #551 from OpenWaterAnalytics/lrossman-EN_setcurve
LRossman Nov 5, 2019
9998466
Bug fix for EN_getrule
Nov 5, 2019
88d343d
Updating the docs
Nov 6, 2019
d15ac77
Merge pull request #555 from OpenWaterAnalytics/lrossman-EN_getrule
LRossman Nov 8, 2019
6c54bb3
Adds error check to EN_setheadcurveindex
Nov 9, 2019
bacedc8
Update epanet2.pas
Nov 12, 2019
45b28f5
Merge pull request #557 from OpenWaterAnalytics/lrossman-setheadcurve…
LRossman Nov 12, 2019
5993895
Incorrect characterd
eldemet Nov 15, 2019
88e09ba
fixes a crashing issue in freedata (#559)
samhatchett Nov 15, 2019
ce2a27f
Bug fix for valvecheck function
Nov 15, 2019
94b6cb2
Restored prior update to project.c that got overwritten 10000
LRossman Nov 15, 2019
2033ddf
Fixed editing errors made to project.c
LRossman Nov 15, 2019
02173df
Merge pull request #560 from OpenWaterAnalytics/eldemet-patch-1
eladsal Nov 16, 2019
f87865a
Merge pull request #562 from OpenWaterAnalytics/lrossman-valvecheck_fix
LRossman Nov 19, 2019
3259a8c
PDF Guide
eldemet Nov 21, 2019
c16c861
HTML Users Guide
eldemet Nov 21, 2019
3935247
Fixes a "copy over" bug in input3.c
Nov 29, 2019
f181524
Merge pull request #565 from OpenWaterAnalytics/lrossman-input3_bug_fix
LRossman Dec 2, 2019
e11740c
Correction made to doc files
Dec 2, 2019
5288bc8
Merge pull request #566 from OpenWaterAnalytics/lrossman-doc_correction
LRossman Dec 4, 2019
21defae
Update ReleaseNotes2_2.md
Dec 4, 2019
b3a306f
Merge pull request #567 from OpenWaterAnalytics/lrossman-ReleaseNotes…
LRossman Dec 5, 2019
d05ea20
Fixes problem with re-opening const. HP pumps
Dec 5, 2019
8d9f857
Merge pull request #568 from OpenWaterAnalytics/lrossman-Pump_Bug_Fix
LRossman Dec 5, 2019
865a16c
Update README.md (#539)
samhatchett Dec 6, 2019
b5eb1e9
updates CI badges
Dec 6, 2019
0ca1a0b
cleanup of readme links and unused files
Dec 8, 2019
c0fe89c
possessive vs contraction
Dec 8, 2019
6639ce9
adding contributor to notes
Dec 9, 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
19 changes: 19 additions & 0 deletions .github/workflows/ccpp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: C/C++ CI

on: [push]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: setup_build_dir
run: mkdir buildproducts
- name: cmake
working-directory: ./buildproducts
run: cmake ..
- name: make
working-directory: ./buildproducts
run: make
34 changes: 33 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ xcuserdata
*~.nib/
*.swp
*~
*.dat
*.dep

*.xcodeproj/
Expand Down Expand Up @@ -202,3 +201,36 @@ $RECYCLE.BIN/
# WindSDK compiled folders
build/WinSDK/32bit/
build/WinSDK/64bit/
=======


# Python compiler files
*.py[c]

# Python distribution and packaging
dist/
temp/
*.cfg
*.egg-info/

# Eclipse Stuff
.metadata/
.settings/
.project
.cproject
.pydevproject

# Testing Stuff
nrtestsuite/
tests/data/
tests/outfile/data/en*


#Cmake stuff
__cmake_systeminformation/
buildprod*/
*_export.h


# git merge
*.orig
15 changes: 13 additions & 2 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
Sam Hatchett <samhatchett@gmail.com>
James Uber <jim@citilogics.com>
Demetrios Eliades <eldemet@gmail.com>
Hyoungmin Woo <hyoungmin.woo@gmail.com>
Hyoungmin Woo <hyoungmin.woo@gmail.com> <woohn@mail.uc.edu>
Yunier Soad <yunier.soad@gmail.com>
Jinduan Chen <jinduan.uc@gmail.com>
Maurizio Cingi <mrzcng2@gmail.com>
Elad Salomons <selad@optiwater.com> <elad.salomons@gmail.com>
Elad Salomons <selad@optiwater.com> <elad.salomons@gmail.com>
Angela Marchi <angela.marchi@adelaide.edu.au>
Angela Marchi <angela.marchi@adelaide.edu.au> <a1219261@adelaide.edu.au>
Bryant McDonnell <bemcdonnell@gmail.com>
Marios Kyriakou <mariosmsk@gmail.com>
Marios Kyriakou <mariosmsk@gmail.com> <mariosmsk@mariosmsk.com>
Sam Hatchett <samhatchett@gmail.com>
Sam Hatchett <samhatchett@gmail.com> <sam.hatchett@xyleminc.com>
Markus Sunela <markus.sunela@fluidit.fi>
Markus Sunela <markus.sunela@fluidit.fi> <30700548+makusuko@users.noreply.github.com>
Lew Rossman <LRossman@cinci.rr.com>
Lew Rossman <LRossman@cinci.rr.com> <LRossman@outlook.com>
Michael Tryby <tryby.michael@epa.gov> michaeltryby <tryby.michael@epa.gov>
62 changes: 54 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,58 @@
language: c
language: python

matrix:
include:
# works on Precise and Trusty
- os: linux
addons:
apt:
sources:
- sourceline: 'ppa:mhier/libboost-latest'
- ubuntu-toolchain-r-test
packages:
- g++-7
- boost1.67
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
- PLATFORM="linux"
- REF_BUILD_ID="220dev1"

python:
- "3.6"

env:
global:
- SUT_BUILD_ID=$TRAVIS_JOB_NUMBER
- EPANET_HOME=`pwd`
- BUILD_HOME=buildprod
- TEST_HOME=nrtestsuite

before_install:
# - sudo apt-get -qq update
- eval "${MATRIX_EVAL}"

#install:
# - sudo apt-get install -y libboost-test-dev
# - sudo apt-get install -y libboost-thread-dev

before_script:
- cd build/CMake
- mkdir buildproducts
- cd buildproducts
- cmake ..
- mkdir -p $BUILD_HOME
- cd $BUILD_HOME
- cmake -DCMAKE_C_COMPILER=${CC}
-DCMAKE_CXX_COMPILER=${CXX}
-DBUILD_TESTS=ON
-DBUILD_COVERAGE=ON ..

script:
- make
- cd ../../../tests
- ./test_networks.sh
- cmake --build .
# run unit tests
- cd tests
- ctest --output-on-failure
# run regression tests
- cd $EPANET_HOME
- pip install -r tools/requirements.txt
- tools/before-test.sh $PLATFORM $REF_BUILD_ID $SUT_BUILD_ID $TRAVIS_COMMIT
- tools/run-nrtest.sh -c -s $SUT_BUILD_ID

after_success:
- bash <(curl -s https://codecov.io/bash)
13 changes: 10 additions & 3 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# Authors ordered by first contribution.
# Generated by tools/update-authors.sh

Lew Rossman <LRossman@cinci.rr.com>
Authors with Contributions in the Public Domain:

Lewis Rossman <LRossman@cinci.rr.com>
Michael Tryby <tryby.michael@epa.gov>

Authors with Contributions Subject to Copyright (see LICENSE):

Sam Hatchett <samhatchett@gmail.com>
Feng Shang <fshang>
James Uber <jim@citilogics.com>
Expand All @@ -14,7 +18,10 @@ Mike Kane <muke195@gmail.com>
Demetrios Eliades <eldemet@gmail.com>
Will Furnass <will@thearete.co.uk>
Steffen Macke <sdteffen@sdteffen.de>
Mariosmsk <mariosmsk@gmail.com>
Marios Kyriakou <mariosmsk@gmail.com>
Elad Salomons <selad@optiwater.com>
Maurizio Cingi <mrzcng2@gmail.com>
Bryant McDonnell <bemcdonnell@gmail.com>
Angela Marchi <angela.marchi@adelaide.edu.au>
Markus Sunela <markus.sunela@fluidit.fi>
Milad Ghiami <milad-ghiami@users.noreply.github.com>
19 changes: 19 additions & 0 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
The most straightforward way to build the EPANET files is by using `CMake` ([https://cmake.org/](https://cmake.org/)). `CMake` is a cross-platform build tool that generates platform native build systems that can be used with your compiler of choice. It uses a generator concept to represent different build tooling. `CMake` automatically detects the platform it is running on and generates the appropriate makefiles for the platform default compiler. Different generators can also be specified.

The project's `CMake` file (`CMakeLists.txt`) is located in its root directory and supports builds for Linux, Mac OS and Windows. To build the EPANET library and its command line executable using `CMake`, first open a console window and navigate to the project's root directory. Then enter the following commands:
```
mkdir build
cd build
cmake ..
cmake --build . --config Release
```

Note: under Windows, the third command should be `cmake .. -A Win32` for a 32-bit build or `cmake .. -A x64` for a 64-bit build when Microsoft Visual Studio is the default compiler.

For Windows the resulting EPANET toolkit library `epanet2.dll` and its command line executable `runepanet.exe` are placed in the `build\bin\Release` directory. The `build\lib\Release` directory will contain an `epanet2.lib` file which is needed to build C/C++ applications using the Windows version of the library. For Linux and Mac OS the EPANET toolkit shared library `libepanet2.so` ap 10000 pears in the `build/lib` directory and the command line executable `runepanet` is in the `build/bin` directory.

In addition, two Windows one-click-build scripts are included in the `win_build` directory:
1. `Makefile2.bat`: this script uses the `CMake` file and requires the build tools for Visual Studio available from [https://visualstudio.microsoft.com/downloads/](https://visualstudio.microsoft.com/downloads/). The Community version will work just fine. This script was tested with Visual Studio 2017 and 2019.
2. `Makefile.bat`: this is the legacy build script compatible with Visual Studio 2010 which conforms with the C89 Standard which was the standard EPANET supported from earlier versions. This script requires the installation of Microsoft Windows SDK 7.1 ([https://www.microsoft.com/en-us/download/details.aspx?id=8279](https://www.microsoft.com/en-us/download/details.aspx?id=8279)) and will probably not run correctly on later versions of the SDK. `CMake` is not used in this script.

These two scripts build EPANET binaries for both the 32 and 64 bit Windows platforms, placing them in the `win_build\32bit` and `win_build\64bit` directories, respectively.
102 changes: 102 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# CMakeLists.txt - CMake configuration file for EPANET 2.0
#
# CMake is a cross-platform build tool. CMake generates platform native
# build systems that can be used with your compiler of choice. CMake uses a
# generator concept to represent different build tooling. CMake automatically
# detects the platform it is running on and generates the appropriate makefiles
# for the platform default compiler. Different generators can also be specified.
#
# Note: CMake requires that your platform build system and compiler are
# properly installed. Build using Visual Studio requires msbuild shell.
#
# Build Options:
# BUILD_TESTS = ON/OFF
# BUILD_PY_LIB = ON/OFF
#
# Generic Invocation:
# cmake -E make_directory buildprod
# cd build
# cmake -G GENERATOR -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON ..
# cmake --build . --target SOME_TARGET --config Release
#
# More information:
# cmake --help
#
# CMake is available at https://cmake.org/download/
#

cmake_minimum_required (VERSION 2.8.8)

project(EPANET)

# Append local dir to module search path
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)

option(BUILD_TESTS "Build tests (requires Boost)" OFF)
option(BUILD_PY_LIB "Build library for Python wrapper" OFF)
option(BUILD_COVERAGE "Build library for coverage" OFF)


IF (NOT BUILD_PY_LIB)
add_subdirectory(run)
ENDIF (NOT BUILD_PY_LIB)
add_subdirectory(src/outfile)

IF (BUILD_TESTS)
#Prep ourselves for compiling with boost
IF(WIN32)
set(Boost_USE_STATIC_LIBS ON)
ELSE(TRUE)
set(Boost_USE_STATIC_LIBS OFF)
add_definitions(-DBOOST_ALL_DYN_LINK)
ENDIF(WIN32)

find_package(Boost COMPONENTS unit_test_framework system thread filesystem)
include_directories (${Boost_INCLUDE_DIRS})

enable_testing()
add_subdirectory(tests)
add_subdirectory(tests/outfile)
add_subdirectory(tests/util)
ENDIF (BUILD_TESTS)


# Sets the output directory for executables and libraries.
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)


# Sets the position independent code property for all targets
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)


IF (APPLE)
set(INSTALL_NAME_DIR @executable_path/../lib)
set(CMAKE_MACOSX_RPATH 1)
ENDIF (APPLE)

IF (MSVC)
set(CMAKE_C_FLAGS_RELEASE "/GL")
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -MT)
ENDIF (MSVC)

# configure file groups
file(GLOB EPANET_SOURCES RELATIVE ${PROJECT_SOURCE_DIR} src/*.c src/util/*.c)
file(GLOB EPANET_LIB_ALL RELATIVE ${PROJECT_SOURCE_DIR} src/* src/util/*)
# exclude epanet python API from the default build
list(REMOVE_ITEM EPANET_LIB_ALL "src/epanet_py.c")
source_group("Library" FILES ${EPANET_LIB_ALL})

# the shared library
IF(MSVC AND "${CMAKE_VS_PLATFORM_NAME}" MATCHES "(Win32)")
message(" ************************************")
message(" Configuring with epanet2.def mapping")
message(" ************************************")
add_library(epanet2 SHARED ${EPANET_LIB_ALL} ${PROJECT_SOURCE_DIR}/include/epanet2.def)
set_source_files_properties(${PROJECT_SOURCE_DIR}/include/epanet2.def PROPERTIES_HEADER_FILE_ONLY TRUE)
ELSE(TRUE)
add_library(epanet2 SHARED ${EPANET_LIB_ALL})
ENDIF(MSVC AND "${CMAKE_VS_PLATFORM_NAME}" MATCHES "(Win32)")

target_include_directories(epanet2 PUBLIC ${PROJECT_SOURCE_DIR}/include)
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting any member of the [project team](https://github.com/OpenWaterAnalytics/EPANET/wiki/Project-Team). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2017 Open Water Analytics
Copyright (c) 2017 (see AUTHORS)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading
0