Commit 5ddb51c7 authored by Bas Couwenberg's avatar Bas Couwenberg

Imported Upstream version 2.4.0

parent a972e352
......@@ -65,12 +65,17 @@ addons:
- libboost-graph-dev
- libcgal-dev
- python-sphinx
- graphviz
- texlive
- texlive-font-utils
- texlive-latex-extra
- ghostscript
install:
- pip install sphinx
- sudo ./tools/travis/install-postgres.sh $POSTGRESQL_VERSION $PG_USER
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ./tools/travis/install-doxygen.sh ; fi
......@@ -91,8 +96,8 @@ script:
- ./tools/travis/pgrouting_test.sh $POSTGRESQL_VERSION $PG_USER
- ./tools/testers/pg_prove_tests.sh $PG_USER DEBUG
after_script:
#after_script:
# blank
#after_success:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ./tools/travis/test-documentation.sh ; fi
# blank
This diff is collapsed.
# How to contribute
We are really glad you are reading this, because we need volunteer developers to help this project.
If you have not already, come find us in [![Join the chat at https://gitter.im/pgRouting/pgrouting](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/pgRouting/pgrouting?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) or contact us via [mailing list](http://lists.osgeo.org/mailman/listinfo/pgrouting-dev). We want you working on things you're excited about. Drop a message and if some one can assist you, will contact you back ASAP.
Here are some important resources:
* [pgRouting for Developers](http://docs.pgrouting.org/doxy/2.4/index.html) has the internals C/C++ code information,
* [Wish list on the wiki](https://github.com/pgRouting/pgrouting/wiki/GSoC-Ideas) is the foot view of what we think the community needs.
* [Additional wish lst](https://github.com/pgRouting/pgrouting/issues?q=is%3Aopen+is%3Aissue+label%3A%22Functionality+Request%22). (TODO to move the information to the wiki wish list)
* Participate on the [discussions](https://github.com/pgRouting/pgrouting/issues?q=is%3Aopen+is%3Aissue+label%3ADiscussion).
* Participate fixing [Documentation](https://github.com/pgRouting/pgrouting/issues?q=is%3Aopen+is%3Aissue+label%3ADocumentation).
* Find a bug? [Let us know](https://github.com/pgRouting/pgrouting/issues).
## Contribution agreement
Any kind of contribution will automatically fall to the following Licences:
- Code contribution: GNU GENERAL PUBLIC LICENSE Version 2,
- Directly by making a pul explicit pull request.
- Indirectly by posting code on issues/wiki/gitter/mailng lists
- Documentation contribution:
- Creative Commons Attribution-Share Alike 3.0
## Submitting changes
Write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should have more information.
Fill the commit message template.
## Coding conventions
Start reading our code and you'll get the hang of it. We optimize for readability:
This is open source software. Consider the people who will read your code, and make it look nice for them.
* We indent using four spaces (soft tabs)
* We use cpplint for linting C/C++ code.
Thanks,
pgRouting team
Changes for 2.4.0
-------------------------------------------------------------------------------
* New Signatures:
* pgr_bdDijkstra
* New Proposed functions
* pgr_maxFlow
* pgr_astar(one to many)
* pgr_astar(many to one)
* pgr_astar(many to many)
* pgr_astarCost(one to one)
* pgr_astarCost(one to many)
* pgr_astarCost(many to one)
* pgr_astarCost(many to many)
* pgr_astarCostMatrix
* Deprecated Signatures
* pgr_bddijkstra - use pgr_bdDijkstra instead
* Deprecated functions
* pgr_pointsToVids
* Bug fixes on proposed functions
* pgr_withPointsKSP: fixed ordering
* TRSP original code is used with no changes on the compilation warnings
Changes for 2.3.2
-------------------------------------------------------------------------------
......@@ -20,7 +43,7 @@ Changes for 2.3.1
Changes for 2.3.0
-------------------------------------------------------------------------------
- New Signatures:
* New Signatures:
* pgr_TSP
* pgr_aStar
......@@ -50,7 +73,7 @@ Changes for 2.3.0
* Deprecated functions
* pgr_flip_edges
* pgr_vidsToDmatrix
* pgr_vidsToDmatrix(2 signatures)
* pgr_pointsToDMatrix
* pgr_textToPoints
......@@ -87,55 +110,57 @@ Changes for 2.2.0
- Adding a row_where and outall optional parameters
- Signature fix
- pgr_dijkstra -- to match what was documented (the pgr_dijkstra from V2.0)
- pgr_dijkstra -- to match what was documented on the pgr_dijkstra from V2.0
- New functions
- pgr_floydWarshall
- pgr_Johnson
- pgr_DijkstraCost
- pgr_dijkstraCost(one to one)
- pgr_dijkstraCost(one to many)
- pgr_dijkstraCost(many to one)
- pgr_dijkstraCost(many to many)
- New Proposed functions
- pgr_withPoints
- pgr_withPointsCost
- pgr_withPointsDD
- pgr_withPoints(one to one)
- pgr_withPoints(one to many)
- pgr_withPoints(many to one)
- pgr_withPoints(many to many)
- pgr_withPointsCost(one to one)
- pgr_withPointsCost(one to many)
- pgr_withPointsCost(many to one)
- pgr_withPointsCost(many to many)
- pgr_withPointsDD(single vertex)
- pgr_withPointsDD(multiple vertices)
- pgr_withPointsKSP
- pgr_dijkstraVia
- Deprecated functions:
- pgr_apspWarshall use pgr_floydWarshall instead
- pgr_apspJohnson use pgr_Johnson instead
- pgr_apspJohnson use pgr_johnson instead
- pgr_kDijkstraCost use pgr_dijkstraCost instead
- pgr_kDijkstraPath use pgr_dijkstra instead
- pgr_makeDistanceMatrix
Changes for 2.1.0
-------------------------------------------------------------------------------
- A C and C++ library for developer was created
- encapsulates postgreSQL related functions
- encapsulates Boost.Graph graphs
- Directed Boost.Graph
- Undirected Boost.graph.
- allow any-integer in the id's
- allow any-numerical on the cost/reverse_cost columns
- New Signatures
- pgr_dijkstra(one to many)
- pgr_dijkstra(many to one)
- pgr_dijkstra(many to many)
- pgr_drivingDistance(multiple vertices)
- Three Functions where completely re-factored using the developers library and functionality was added.
- Three Functions where completely re-factored
- pgr_dijkstra
- pgr_dijkstra(one to one)
- pgr_ksp
- pgr_drivingDistance
- pgr_drivingDistance(single vertex)
- Improved
Alphashape function now can generate better polygons with holes and custom parameter
- Instead of generating many libraries:
- All functions are encapsulated in one library
- The library has a the prefix 2-1-0
- pgr_alphaShape function now can generate better polygons with holes and custom parameter
- Added proposed functions to be evaluated:
- Proposed functions from Steve Woodbridge, (Classified as Convenience by the author.)
......@@ -149,7 +174,33 @@ Changes for 2.1.0
- Added proposed functions from GSoc Projects:
- pgr_vrppdtw
- pgr_vrponedepot
- Deprecated functions
- pgr_getColumnName
- pgr_getTableName
- pgr_isColumnCndexed
- pgr_isColumnInTable
- pgr_quote_ident
- pgr_versionless
- pgr_startPoint
- pgr_endPoint
- pgr_pointToId
- Instead of generating many libraries:
- All functions are encapsulated in one library
- The library has a the prefix 2-1-0
- A C and C++ library for developer was created
- encapsulates postgreSQL related functions
- encapsulates Boost.Graph graphs
- Directed Boost.Graph
- Undirected Boost.graph
- allow any-integer in the id's
- allow any-numerical on the cost/reverse_cost columns
- Removed the 1.x legacy functions
- Some bug fixes in other functions
......@@ -179,6 +230,7 @@ Changes for 2.0.0
* Support for ``st_`` PostGIS function prefix
* Added ``pgr_`` prefix to functions and types
* Better documentation: http://docs.pgrouting.org
* shooting_star is discontinued
Changes for release 1.05
......
......@@ -6,8 +6,8 @@
### Branches
* The *master* branch has the latest minor release. (2.3.2)
* The *develop* branch has the next minor release. (2.4.0)
* The *master* branch has the latest minor release. (2.4.0)
* The *develop* branch has the next minor release. (2.5.0-dev)
For the complete list of releases go to:
https://github.com/pgRouting/pgrouting/releases
......@@ -51,11 +51,10 @@ https://github.com/pgRouting/pgrouting/releases
</tr>
</table>
* travis: Postgis 2.3.0 for Postgres 9.4, 9.5, 9.6
* travis: Postgis 2.2 for Postgres 9.1, 9.2, 9.3, 9.4, 9.5
* precise
* trusty (except 9.4)
* jenkins: g++ 4.8 on 32 & 64 bits for Postgis 2.3.0 and Postgres 9.4, 9.5, 9.6
* appveyor: vs1013 Postgis 2.3.0 Postgres 9.4
* jenkins: g++ 4.8 on 32 & 64 bits for Postgis 2.3.0dev and Postgres 9.4, 9.5, 9.6
* appveyor: vs1013 Postgis 2.2 Postgres 9.4
......@@ -95,18 +94,24 @@ Family of functions include:
## REQUIREMENTS
Building reqirements
--------------------
* perl
* C and C++ compilers
* g++ >= 4.6
* Postgresql version >= 9.1
* PostGIS version >= 2.0
* The Boost Graph Library (BGL).
* Version >= 1.46
* Version >= 1.55 for linux
* Version >= 1.58 for MAC
* GNU >= 4.6
* MSVC >= 18.0
* Postgresql >= 9.2
* The Boost Graph Library (BGL) >= 1.46
* CMake >= 2.8.8
* CGAL >= 4.4
* Sphinx >= 1.2
User's reqirements
--------------------
* PostGIS >= 2.0
## INSTALLATION
See online documentation: http://docs.pgrouting.org/
......@@ -135,7 +140,7 @@ Build with documentation (requires [Sphinx](http://sphinx-doc.org/))
cmake -DWITH_DOC=ON ..
Postgresql 9.1+
Postgresql 9.2+
createdb mydatabase
psql mydatabase -c "CREATE EXTENSION postgis"
......
4080-1f2af3c52 master
4681-6cf07edf1 master
# -*- mode: ruby -*-
# vi: set ft=ruby :
pgbox = ENV['BOX'] || "precise64"
postgres = ENV['POSTGRESQL_VERSION'] || "9.1"
postgis = ENV['POSTGIS_VERSION'] || "2.0"
Vagrant.configure("2") do |config|
# Vagrant box configuration
config.vm.box = pgbox
config.vm.box_url = "http://files.vagrantup.com/%s.box" % [pgbox]
# Bootstrap script
config.vm.provision :shell, :path => "tools/vagrant/bootstrap.sh", :args => "%s %s" % [postgres, postgis]
# Forward SSH agent to host
config.ssh.forward_agent = true
# Create synced folder for GnuPG keys and within home directory
config.vm.synced_folder "../", "/home/vagrant/repos"
config.vm.synced_folder "~/.gnupg", "/home/vagrant/.gnupg"
end
......@@ -5,7 +5,7 @@
# Main configuration
# ------------------------------------------------------------------------------
version: 2.3.{build}
version: 2.4.{build}
image: Visual Studio 2013
configuration: Release
......
# install the cmake files
file(GLOB cmakeFiles "${CMAKE_CURRENT_SOURCE_DIR}/*.cmake")
\ No newline at end of file
......@@ -18,21 +18,37 @@ option(BUILD_HTML
option(BUILD_MAN
"Set ON|OFF (default=ON) to build Documentation library tree as MAN page" OFF)
set(SPHINX_THEME "haiku")
#set(SPHINX_THEME_DIR "_themes")
option(DOC_USE_BOOTSTRAP
"Set ON|OFF (default=ON) to build Documentation library tree as MAN page" OFF)
if(WITH_DOC)
#message("PROCESSING DOCUMENTATION------------")
find_package(Sphinx REQUIRED)
if (DOC_USE_BOOTSTRAP)
set(SPHINX_INCLUDE "import sphinx_bootstrap_theme")
set(SPHINX_THEME "bootstrap")
set(SPHINX_THEME_DIR "sphinx_bootstrap_theme.get_html_theme_path()")
set(SPHINX_THEME_OPTIONS "'source_link_position': \"none\",")
else()
set(SPHINX_INCLUDE "")
set(SPHINX_THEME "haiku")
set(SPHINX_THEME_DIR "['']")
set(SPHINX_THEME_OPTIONS "")
endif()
find_package(Sphinx "${SPHINX_MINIMUM_VERSION}")
if (NOT SPHINX_FOUND)
message(WARNING "Sphinx not found. Cannot generate documentation!")
else()
if (SPHINX_VERSION VERSION_LESS 1.0)
message(WARNING "Your Sphinx version is too old!
This project requires Sphinx v1.0 or above to produce
proper documentation (you have v${SPHINX_VERSION}).
You will get output but it will have errors.")
This project requires Sphinx v1.0 or above to produce
proper documentation (you have v${SPHINX_VERSION}).
You will get output but it will have errors.")
endif()
if(NOT DEFINED SPHINX_THEME)
......@@ -44,18 +60,42 @@ if(WITH_DOC)
endif()
# configured documentation tools and intermediate build results
set(BINARY_BUILD_DIR "${PGROUTING_BINARY_DIR}/doc/_build")
set(PGR_DOCUMENTATION_BUILD_DIR "${PGROUTING_BINARY_DIR}/doc/_build")
set(PGR_DOCUMENTATION_SOURCE_DIR "${PGROUTING_BINARY_DIR}/doc")
message(STATUS "PGR_DOCUMENTATION_BUILD_DIR = ${PGR_DOCUMENTATION_BUILD_DIR}")
message(STATUS "BINARY_BUILD_DIR = ${BINARY_BUILD_DIR}")
message(STATUS "PGROUTING_BINARY_DIR = ${PGROUTING_BINARY_DIR}")
# ---------- TO FLATTEN THE DOCUMENTATION ---------
file(GLOB PGR_DOCUMENTATION_SOURCES "src/*")
foreach (file ${PGR_DOCUMENTATION_SOURCES})
#message("${file}")
file(COPY "${file}" DESTINATION "${PGR_DOCUMENTATION_SOURCE_DIR}")
endforeach()
file(GLOB PGR_DOCUMENTATION_SOURCES "../src/*/doc/*")
foreach (file ${PGR_DOCUMENTATION_SOURCES})
#message("${file}")
file(COPY "${file}" DESTINATION "${PGR_DOCUMENTATION_SOURCE_DIR}")
endforeach()
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/index.rst" DESTINATION "${PGR_DOCUMENTATION_SOURCE_DIR}")
file(COPY "../tools/testers/sampledata.sql" DESTINATION "${PGR_DOCUMENTATION_SOURCE_DIR}/sampledata/")
#message(STATUS "PGROUTING_BINARY_DIR = ${PGROUTING_BINARY_DIR}")
# Sphinx cache with pickled ReST documents
set(SPHINX_CACHE_DIR "${PGROUTING_BINARY_DIR}/doc/_doctrees")
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/static" DESTINATION "${BINARY_BUILD_DIR}")
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/themes" DESTINATION "${BINARY_BUILD_DIR}")
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/static" DESTINATION "${PGR_DOCUMENTATION_BUILD_DIR}")
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/themes" DESTINATION "${PGR_DOCUMENTATION_BUILD_DIR}")
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/CNAME" DESTINATION "${PGROUTING_BINARY_DIR}")
#configure_file(
# "${CMAKE_CURRENT_SOURCE_DIR}/index.html.in"
# "${PGROUTING_BINARY_DIR}/doc/html/index.html")
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/forward.html"
"${PGROUTING_BINARY_DIR}/doc/html/en/index.html")
......@@ -63,7 +103,7 @@ if(WITH_DOC)
# Add documentation to targets
set(DOC_TARGETS html)
option(BUILD_MAN "Create a target for building man pages." ON)
#option(BUILD_MAN "Create a target for building man pages." ON)
if (BUILD_MAN)
if (SPHINX_VERSION VERSION_LESS 1.0)
......@@ -73,7 +113,7 @@ if(WITH_DOC)
endif()
endif()
option(BUILD_LATEX "Create a target for building latex docs (to create PDF)." ON)
#option(BUILD_LATEX "Create a target for building latex docs (to create PDF)." ON)
if (BUILD_LATEX)
find_package(LATEX)
......@@ -96,22 +136,23 @@ if(WITH_DOC)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in"
"${BINARY_BUILD_DIR}/conf.py"
"${PGR_DOCUMENTATION_BUILD_DIR}/conf.py"