Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into greedy
Browse files Browse the repository at this point in the history
  • Loading branch information
abellgithub committed Jun 15, 2017
2 parents 7f18283 + 3487af8 commit 1c4a112
Show file tree
Hide file tree
Showing 147 changed files with 2,123 additions and 4,315 deletions.
7 changes: 5 additions & 2 deletions CMakeLists.txt
Expand Up @@ -64,7 +64,11 @@ set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)

set(PDAL_OUTPUT_LIB_DIR "${PDAL_BINARY_DIR}/${PDAL_LIB_INSTALL_DIR}")
set(PDAL_OUTPUT_BIN_DIR "${PDAL_BINARY_DIR}/${PDAL_BIN_INSTALL_DIR}")
set(PDAL_PLUGIN_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${PDAL_LIB_INSTALL_DIR}")

# allow override of PDAL_PLUGIN_INSTALL_PATH path
if (NOT PDAL_PLUGIN_INSTALL_PATH)
set(PDAL_PLUGIN_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${PDAL_LIB_INSTALL_DIR}")
endif()
file(MAKE_DIRECTORY "${PDAL_OUTPUT_LIB_DIR}")
file(MAKE_DIRECTORY "${PDAL_OUTPUT_BIN_DIR}")

Expand Down Expand Up @@ -119,7 +123,6 @@ include(${PDAL_CMAKE_DIR}/curl.cmake)
if (CURL_FOUND)
set(PDAL_ARBITER_LIB_NAME pdal_arbiter)
endif()
include(${PDAL_CMAKE_DIR}/rply.cmake)
include(${PDAL_CMAKE_DIR}/json.cmake)
include(${PDAL_CMAKE_DIR}/libxml2.cmake)
include(${PDAL_CMAKE_DIR}/dimension.cmake)
Expand Down
51 changes: 48 additions & 3 deletions HOWTORELEASE.txt
Expand Up @@ -4,7 +4,7 @@ Steps for Making a PDAL Release

:Author: Howard Butler
:Contact: howard@hobu.co
:Date: 03/14/2017
:Date: 05/31/2017

This document describes the process for releasing a new version of PDAL.

Expand All @@ -31,9 +31,17 @@ Release Process

- doc/quickstart.rst has a number of current-release references

- Make and push new release branch

::

git branch 1.6-maintenance
git push origin 1.6-maintenance


- Increment the doc build branch of .travis.yml:

"$TRAVIS_BRANCH" = "1.2-maintenance"
"$TRAVIS_BRANCH" = "1.6-maintenance"

- Make DockerHub build entry for new release branch.

Expand All @@ -51,6 +59,7 @@ Release Process

ctest -V


5) Clone a new tree and issue cmake. The package_source CMake target is
aggressive about scooping up every file in the tree to include in the package.
It does ok with CMake-specific stuff, but any other cruft in the tree is
Expand Down Expand Up @@ -94,7 +103,43 @@ Release Process

11) Upload Python extension to PyPI

12) Publish JNI Bindings
::

cd python; python setup.py sdist upload

12) Upload new OSGeo4W package to download.osgeo.org:/osgeo/download/osgeo4w/x86_64/release/pdal

- Go to https://ci.appveyor.com/project/hobu/pdal
- Choose ``OSGEO4W_BUILD=ON`` build
- Scroll to very bottom
- Fetch tarball "OSGeo4W64 build will be uploaded to https://s3.amazonaws.com/pdal/osgeo4w/pdal-a4af2420b09725a4a0fff1ef277b1e6370c497d2.tar.bz2"

- rename to match current release and set OSGeo4W build number to 1

::

mv pdal-a4af2420b09725a4a0fff1ef277b1e6370c497d2.tar.bz2 pdal-1.6.0-1.tar.bz2

- copy to OSGeo4W server

::

scp pdal-1.6.0-1.tar.bz2 hobu@download.osgeo.org:/osgeo/download/osgeo4w/x86_64/release/pdal

- refresh OSGeo4W

::
http://upload.osgeo.org/cgi-bin/osgeo4w-regen.sh


- promote release

::

http://upload.osgeo.org/cgi-bin/osgeo4w-promote.sh


13) Publish JNI Bindings
What you need:
- an account on sonatype (https://issues.sonatype.org/secure/Signup!default.jspa)
- ~/.sbt/0.13/sonatype.sbt file with the following content:
Expand Down
50 changes: 28 additions & 22 deletions appveyor.yml
Expand Up @@ -10,27 +10,23 @@ matrix:
fast_finish: true

environment:
OSGEO4W_ROOT: C:\OSGeo4W64
OSGEO4W_ROOT: C:\\OSGeo4W64

matrix:
- PDAL_OPTIONAL_COMPONENTS: OFF
- PDAL_OPTIONAL_COMPONENTS: ON
- OSGEO4W_BUILD: ON

# Should speed up repository cloning
shallow_clone: true
clone_depth: 5

# Uncomment if you need to debug AppVeyor session (https://www.appveyor.com/docs/how-to/rdp-to-build-worker)
# on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

init:
- set PYTHONHOME=C:\Python27-x64
- set PYTHONPATH=%PYTHONHOME%\Lib;%OSGEO4W_ROOT%\apps\Python27\lib\site-packages
- set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH%
- set PATH=%PYTHONHOME%;%PATH%
- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
#init:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

# on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

install:
# make a temp directory for downloading osgeo4w-setup.exe
# this may not matter as much if part of the install step, as pdal has
Expand All @@ -43,8 +39,12 @@ install:
# get the OSGeo installer
- ps: (new-object net.webclient).DownloadFile("http://download.osgeo.org/osgeo4w/osgeo4w-setup-x86_64.exe", "C:\temp\osgeo4w-setup.exe")
# and install our dependencies
- C:\temp\osgeo4w-setup.exe -q -k -r -A -s http://download.osgeo.org/osgeo4w/ -a x86_64 -P boost-devel,eigen,gdal,geos,hexer,iconv,laszip,libgeotiff,libpq,libtiff,libxml2,nitro,pcl,points2grid,proj,python-numpy,zlib -R %OSGEO4W_ROOT% > NUL
- C:\temp\osgeo4w-setup.exe -q -k -r -A -s http://download.osgeo.org/osgeo4w/ -a x86_64 -P eigen,gdal,geos,hexer,iconv,laszip,libgeotiff,libpq,libtiff,libxml2,msys,nitro,laz-perf,proj,zlib,python3-core,python3-devel,python3-numpy,oci,oci-devel -R %OSGEO4W_ROOT% > NUL
# call our PDAL install script
- call %OSGEO4W_ROOT%\bin\o4w_env.bat
- call %OSGEO4W_ROOT%\bin\py3_env.bat
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
- set PATH=%PATH%;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Tools\GitVersion;C:\Program Files (x86)\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\AppVeyor\BuildAgent\
- call .\\scripts\\appveyor\\config.cmd

build:
Expand All @@ -53,22 +53,26 @@ build:
verbosity: minimal

after_build:
- 7z a pdal.zip %APPVEYOR_BUILD_FOLDER%\bin\*.*
- call %OSGEO4W_ROOT%\bin\o4w_env.bat
- set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH%
- set PATH=%PATH%;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Tools\GitVersion;C:\Program Files (x86)\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\AppVeyor\BuildAgent\
- call .\\scripts\\appveyor\\install.cmd


test_script:
# FIXME: Clear PATH to avoid OSGeo4W loading incompatible DLLs
- set PATH=
- set PATH=%OSGEO4W_ROOT%\bin;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Python27;C:\Tools\GitVersion;C:\Program Files (x86)\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\AppVeyor\BuildAgent\
- set PYTHONHOME=C:\Python27-x64
- set PYTHONPATH=%PYTHONHOME%\Lib;%OSGEO4W_ROOT%\apps\Python27\lib\site-packages
- echo %PATH%
- set GDAL_DATA=%OSGEO4W_ROOT%\share\epsg_csv
- set PROJ_LIB=%OSGEO4W_ROOT%\share\proj
- set PATH=%OSGEO4W_ROOT%\bin;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Tools\GitVersion;C:\Program Files (x86)\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\AppVeyor\BuildAgent\
- call %OSGEO4W_ROOT%\bin\o4w_env.bat
- call %OSGEO4W_ROOT%\bin\py3_env.bat
- set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH%
- set PATH=%PATH%;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Tools\GitVersion;C:\Program Files (x86)\CMake\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\AppVeyor\BuildAgent\
- ctest -V --output-on-failure -C Release

artifacts:
- path: pdal.zip
name: pdalmaster
- path: pdal-$(APPVEYOR_REPO_COMMIT).tar.bz2
name: pdalosgeo4w
type: file

deploy:
# Amazon S3 deployment provider settings
Expand All @@ -79,7 +83,7 @@ deploy:
secure: cSqZlsaCxFwXgxJw0BLd7npMFvQk3Vbr74ZPLaBQWLKnOz1cKss9qab1SzSygwkh
bucket: "pdal"
folder: "osgeo4w/"
artifact: pdalmaster
artifact: pdalosgeo4w
set_public: true

notifications:
Expand All @@ -91,3 +95,5 @@ notifications:
- provider: Slack
incoming_webhook:
secure: KxbDvaPmsvNmYpsp0TH3m3hJr7PqQL1sxR8xILBzaF2Lbku03M3mJ/h787TvDGQGX3IlyZtfTP0wvSRqMl4nMmdvDQZoAe8+Gyfc7BOkYIg=


35 changes: 21 additions & 14 deletions cmake/examples/hobu-windows.bat
Expand Up @@ -7,8 +7,8 @@

:: Pick your CMake GENERATOR. (NMake will pick up architecture (x32, x64) from your environment)
set GENERATOR="NMake Makefiles"
rem set GENERATOR="Visual Studio 10 Win64"
rem set GENERATOR="Visual Studio 10"
REM set GENERATOR="Ninja"
REM set GENERATOR="Visual Studio 14 Win64"

:: Pick your build type
set BUILD_TYPE=Release
Expand Down Expand Up @@ -47,23 +47,26 @@ set ORACLE_INCLUDE_DIR=%ORACLE_HOME%\include
set ORACLE_OCI_LIBRARY=%ORACLE_HOME%\lib\oci.lib

:: LibXML2
set LIBXML2_ENABLED=ON
set LIBXML2_INCLUDE_DIR=%OSGEO4W_DIR%\include
set LIBXML2_LIBRARIES=%OSGEO4W_DIR%\lib\libxml2.lib

:: Python
set PYTHON_ENABLED=ON
set PYTHON_EXECUTABLE=%OSGEO4W_DIR\bin\python27.exe
set PYTHON_INCLUDE_DIR=%OSGEO4W_DIR\apps\python27\include
set PYTHON_LIBRARY=%OSGEO4W_DIR\apps\python27\libs\python27.lib
set PYTHON_EXECUTABLE=%OSGEO4W_DIR\bin\python36.exe
set PYTHON_INCLUDE_DIR=%OSGEO4W_DIR\apps\python36\include
set PYTHON_LIBRARY=%OSGEO4W_DIR\apps\python36\libs\python36.lib


:: CURL
set CURL_INCLUDE_DIR=%OSGEO4W_DIR%\include
set CURL_LIBRARY=%OSGEO4W_DIR%\lib\libcurl.lib


if EXIST CMakeCache.txt del CMakeCache.txt

cmake -G "Visual Studio 14 2015 Win64" ^
cmake -G %GENERATOR% ^
-DBUILD_PLUGIN_CPD=OFF ^
-DBUILD_PLUGIN_GREYHOUND=OFF ^
-DBUILD_PLUGIN_GREYHOUND=ON ^
-DBUILD_PLUGIN_HEXBIN=ON ^
-DBUILD_PLUGIN_ICEBRIDGE=OFF ^
-DBUILD_PLUGIN_MRSID=OFF ^
Expand All @@ -76,16 +79,20 @@ cmake -G "Visual Studio 14 2015 Win64" ^
-DBUILD_PLUGIN_PYTHON=ON ^
-DENABLE_CTEST=OFF ^
-DWITH_APPS=ON ^
-DWITH_LAZPERF=c:\pdalbin\ ^
-DWITH_LAZPERF=ON ^
-DLazperf_DIR=c:\pdalbin\cmake ^
-DWITH_LASZIP=ON ^
-DWITH_TESTS=ON ^
-DPYTHON_EXECUTABLE=%OSGEO4W_DIR%\bin\python.exe ^
-DPYTHON_INCLUDE_DIR=%OSGEO4W_DIR%\apps\python27\include ^
-DPYTHON_LIBRARY=%OSGEO4W_DIR%\apps\python27\libs\python27.lib ^
-DNUMPY_INCLUDE_DIR=%OSGEO4W_DIR%\apps\python27\lib\site-packages\numpy\core\include ^
-DPYTHON_EXECUTABLE=%OSGEO4W_DIR%\apps\python36\python.exe ^
-DPYTHON_INCLUDE_DIR=%OSGEO4W_DIR%\apps\python36\include ^
-DPYTHON_LIBRARY=%OSGEO4W_DIR%\apps\python36\libs\python36.lib ^
-DPYTHON_DEBUG_LIBRARY=%OSGEO4W_DIR%\apps\python36\libs\python36.lib ^
-DCURL_INCLUDE_DIR=%CURL_INCLUDE_DIR% ^
-DCURL_LIBRARY=%CURL_LIBRARY% ^
-DNUMPY_INCLUDE_DIR=%OSGEO4W_DIR%\apps\python36\lib\site-packages\numpy\core\include ^
-DNUMPY_VERSION=1.11.1 ^
-Dgtest_force_shared_crt=ON ^
-DCMAKE_INSTALL_PREFIX=C:\pdalbin ^
-DCMAKE_INSTALL_PREFIX=C:\projects\pdal\install ^
-DCMAKE_BUILD_TYPE=%BUILD_TYPE% ^
-DCMAKE_VERBOSE_MAKEFILE=OFF ^
.
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/FindNumPy.cmake
Expand Up @@ -20,7 +20,7 @@ FIND_PACKAGE(PythonLibs QUIET REQUIRED)
EXECUTE_PROCESS(COMMAND "${PYTHON_EXECUTABLE}" -c "import numpy; print (numpy.get_include()); print (numpy.version.version)"
OUTPUT_VARIABLE NUMPY_OUTPUT
ERROR_VARIABLE NUMPY_ERROR)
message(STATUS "Numpy output: ${NUMPY_OUTPUT}")
IF(NOT NUMPY_ERROR)
STRING(REPLACE "\n" ";" NUMPY_OUTPUT ${NUMPY_OUTPUT})
LIST(GET NUMPY_OUTPUT 0 NUMPY_INCLUDE_DIR)
Expand Down
1 change: 0 additions & 1 deletion cmake/rply.cmake

This file was deleted.

6 changes: 3 additions & 3 deletions doc/development/testing.rst
Expand Up @@ -315,14 +315,14 @@ and to run only select tests (``--gtest_filter``).
.. note::

If the PostgreSQL PointCloud plugin was enabled on the CMake command line
(with ``-DBUILD_PLUGIN_PGPOINTCLOUD=ON``) then `ctest` will attempt to run
the ``pgpointcloud`` tests. And you will get PostgreSQL connection errors
(with ``-DBUILD_PLUGIN_PGPOINTCLOUD=ON``) then ``ctest`` will attempt to run
the ``pgpointcloud`` tests. And you will get PostgreSQL connection errors
if the `libpq environment variables`_ are not correctly set in your shell.
This is for example how you can run the ``pgpointcloud`` tests::

$ PGUSER=pdal PGPASSWORD=pdal PGHOST=localhost ctest -R pgpointcloudtest

.. _`libpg environment variables`: https://www.postgresql.org/docs/current/static/libpq-envars.html
.. _`libpq environment variables`: https://www.postgresql.org/docs/current/static/libpq-envars.html

Test Data
=========
Expand Down
6 changes: 3 additions & 3 deletions doc/download.rst
Expand Up @@ -64,9 +64,9 @@ The fastest way to get going with PDAL is to use the Docker build. See the
Windows
................................................................................

Windows users are asked to use the :ref:`docker` builds for :ref:`apps` access,
otherwise, a call for help with building current Windows PDAL builds is at
https://lists.osgeo.org/pipermail/pdal/2016-November/001089.html
Windows builds are available via `OSGeo4W`_ (64-bit only). Run the
``osgeo4w-setup.exe`` and choose the "Advanced Install" option. PDAL is
available in the Commandline_Utilities or Libs section.

RPMs
................................................................................
Expand Down
2 changes: 1 addition & 1 deletion doc/stages/filters.programmable.rst
Expand Up @@ -135,7 +135,7 @@ basic Python function while substituting values as necessary.
"type":"filters.programmable",
"module":"anything",
"function":"filter",
"source":"arguments.py"
"source":"arguments.py",
"pdalargs":"{\"factor\":0.3048,\"an_argument\":42, \"another\": \"a string\"}"
},
"output.las"
Expand Down
12 changes: 6 additions & 6 deletions doc/stages/filters.smrf.rst
Expand Up @@ -25,7 +25,7 @@ returns, writing only the ground returns to the output file.
{
"type":"filters.range",
"limits":"Classification[2:2]"
}
},
"output.laz"
]
}
Expand All @@ -38,18 +38,18 @@ cell

cut
Cut net size (``cut=0`` skips the net cutting step). [Default: **0.0**]

outdir
Optional output directory for debugging intermediate rasters.

scalar
Elevation scalar. [Default: **1.25**]

slope
Slope (rise over run). [Default: **0.15**]

threshold
Elevation threshold. [Default: **0.5**]

window
Max window size. [Default: **18.0**]

0 comments on commit 1c4a112

Please sign in to comment.