Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
abellgithub committed Jun 6, 2017
2 parents 6e855d8 + 108d470 commit 258e417
Show file tree
Hide file tree
Showing 19 changed files with 286 additions and 85 deletions.
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
7 changes: 7 additions & 0 deletions pdal/Mesh.hpp
Expand Up @@ -35,6 +35,7 @@
#pragma once

#include <deque>
#include <pdal/pdal_defines.h>

namespace pdal
{
Expand All @@ -58,6 +59,8 @@ class PDAL_DLL Mesh
{};




/**
A mesh where the faces are triangles.
*/
Expand All @@ -74,7 +77,11 @@ class PDAL_DLL TriangularMesh : public Mesh
const Triangle& operator[](PointId id) const
{ return m_index[id]; }
protected:
#ifdef PDAL_COMPILER_MSVC
#pragma warning(disable:4251)// [templated class] needs to have dll-interface...
#endif
std::deque<Triangle> m_index;

};

} // namespace pdal
2 changes: 2 additions & 0 deletions pdal/plang/Redirector.hpp
Expand Up @@ -15,8 +15,10 @@

#ifdef PDAL_COMPILER_MSVC
# pragma warning(disable: 4127) // conditional expression is constant
#ifndef HAVE_ROUND
#define HAVE_ROUND // inconsistent dll linkage otherwise
#endif
#endif

#include <Python.h>

Expand Down
7 changes: 4 additions & 3 deletions plugins/geowave/io/GeoWaveReader.cpp
Expand Up @@ -129,6 +129,9 @@ using jace::proxy::mil::nga::giat::geowave::datastore::accumulo::AccumuloDataSto
#include "jace/proxy/mil/nga/giat/geowave/datastore/accumulo/metadata/AccumuloAdapterStore.h"
using jace::proxy::mil::nga::giat::geowave::datastore::accumulo::metadata::AccumuloAdapterStore;

namespace pdal
{

static PluginInfo const s_info = PluginInfo(
"readers.geowave",
"\"GeoWave\" reader support. ",
Expand All @@ -138,12 +141,10 @@ CREATE_SHARED_PLUGIN(1, 0, GeoWaveReader, Reader, s_info)

std::string pdal::GeoWaveReader::getName() const { return s_info.name; }


#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)

namespace pdal
{

void GeoWaveReader::addArgs(ProgramArgs& args)
{
args.add("zookeeper_url", "The comma-delimited URLs for all "
Expand Down
11 changes: 6 additions & 5 deletions plugins/geowave/io/GeoWaveWriter.cpp
Expand Up @@ -34,6 +34,7 @@

#include "GeoWaveWriter.hpp"

#include <pdal/pdal_macros.hpp>
#include <pdal/util/Algorithm.hpp>
#include <pdal/util/ProgramArgs.hpp>

Expand Down Expand Up @@ -135,6 +136,9 @@ using jace::proxy::mil::nga::giat::geowave::datastore::accumulo::AccumuloDataSto
#include "jace/proxy/mil/nga/giat/geowave/datastore/accumulo/AccumuloIndexWriter.h"
using jace::proxy::mil::nga::giat::geowave::datastore::accumulo::AccumuloIndexWriter;

namespace pdal
{

static PluginInfo const s_info = PluginInfo(
"writers.geowave",
"Write data using GeoWave.",
Expand All @@ -144,12 +148,9 @@ CREATE_SHARED_PLUGIN(1, 0, GeoWaveWriter, Writer, s_info)

std::string pdal::GeoWaveWriter::getName() const { return s_info.name; }


#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)

namespace pdal
{
void GeoWaveWriter::addArgs(ProgramArgs& args)
{
args.add("zookeeper_url", "The comma-delimited URLs for all "
Expand All @@ -162,7 +163,7 @@ namespace pdal
"an Accumulo connector.", m_username).setPositional();
args.add("password", "The password for the account to establish "
"an Accumulo connector.", m_password).setPositional();
args.add("table_namespace", " "The table name to be used when "
args.add("table_namespace", "The table name to be used when "
"interacting with GeoWave.", m_tableNamespace).setPositional();
args.add("feature_type_name", "The feature type name to be used "
"when interacting with GeoWave.", m_featureTypeName, "PDAL_Point");
Expand Down Expand Up @@ -193,7 +194,7 @@ namespace pdal
// get a list of all the dimensions & their types
Dimension::IdList all = table.layout()->dims();
for (auto di = all.begin(); di != all.end(); ++di)
if (!contains(m_dims, *di))
if (!Utils::contains(m_dims, *di))
m_dims.push_back(*di);
}

Expand Down
4 changes: 4 additions & 0 deletions plugins/greyhound/CMakeLists.txt
Expand Up @@ -3,6 +3,9 @@
#

add_definitions(-DHAVE_JSONCPP=1)
if (WIN32)
add_definitions("-DARBITER_DLL_IMPORT")
endif()

PDAL_ADD_PLUGIN(libname reader greyhound
FILES
Expand All @@ -15,6 +18,7 @@ target_include_directories(${libname} PRIVATE
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR})


if (WITH_TESTS)
PDAL_ADD_TEST(greyhoundreadertest
FILES
Expand Down

0 comments on commit 258e417

Please sign in to comment.