Skip to content

Commit 8752273

Browse files
authored
PDAL 2.6.x (#73)
* Add ubuntu-2.6.0 dockerfile * Add build-essential * Bump dylib minor version up * Use Conda for Mac PDAL releases * Use Conda for both linux and macos builds
1 parent c57a4b5 commit 8752273

File tree

14 files changed

+107
-77
lines changed

14 files changed

+107
-77
lines changed

.github/workflows/ci.yml

Lines changed: 37 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,17 @@ on:
1010
# types: [published]
1111

1212
jobs:
13-
linux:
13+
build:
1414
strategy:
1515
matrix:
16-
os: [ubuntu-latest]
17-
image: ['daunnc/pdal-ubuntu:2.5.1']
18-
runs-on: ${{ matrix.os }}
19-
container:
20-
image: ${{ matrix.image }}
21-
22-
steps:
23-
- uses: actions/checkout@v3
24-
with:
25-
fetch-depth: 0
26-
# https://github.com/actions/runner/issues/2033
27-
- name: Set ownership
28-
run: |
29-
# this is to fix GIT not liking owner of the checkout dir
30-
chown -R $(id -u):$(id -g) $PWD
31-
32-
- uses: coursier/cache-action@v6
33-
34-
- name: Check formatting
35-
run: ./sbt scalafmtCheckAll
36-
37-
- name: Build project
38-
run: ./sbt +test
39-
40-
macos:
41-
strategy:
42-
matrix:
43-
os: [macos-latest]
16+
os: [ubuntu-latest, macos-latest]
4417
java: [8]
4518
distribution: [temurin]
46-
pdal: [2.5.6]
19+
pdal: [2.6.2]
4720
runs-on: ${{ matrix.os }}
21+
defaults:
22+
run:
23+
shell: bash -el {0}
4824

4925
steps:
5026
- uses: actions/checkout@v3
@@ -56,20 +32,16 @@ jobs:
5632
distribution: ${{ matrix.distribution }}
5733
java-version: ${{ matrix.java }}
5834

59-
- name: Cache Homebrew
60-
uses: actions/cache@v2
35+
- uses: conda-incubator/setup-miniconda@v3
6136
with:
62-
path: ~/Library/Caches/Homebrew
63-
key: ${{ runner.os }}-homebrew
64-
65-
- name: Homebrew update & tap PDAL ${{ matrix.pdal }}
66-
run: |
67-
brew update && \
68-
brew tap-new $USER/local-pdal && \
69-
brew extract --version=${{ matrix.pdal }} pdal $USER/local-pdal
37+
activate-environment: pdal-java
38+
channels: conda-forge
7039

7140
- name: Install PDAL
72-
run: brew install pdal@${{ matrix.pdal }} || true
41+
run: conda install pdal=${{ matrix.pdal }}
42+
43+
- name: Set LD_LIBRARY_PATH
44+
run: echo "LD_LIBRARY_PATH=$CONDA/envs/pdal-java/lib:/usr/local/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV"
7345

7446
- name: Check formatting
7547
run: sbt scalafmtCheckAll
@@ -78,6 +50,7 @@ jobs:
7850
run: sbt +test
7951

8052
- uses: actions/upload-artifact@v3
53+
if: ${{ startsWith(matrix.os, 'macos') }}
8154
with:
8255
name: macos
8356
path: native/target/native/x86_64-darwin/bin
@@ -86,12 +59,15 @@ jobs:
8659
strategy:
8760
matrix:
8861
os: [ubuntu-latest]
89-
image: ['daunnc/pdal-ubuntu:2.5.1']
62+
java: [8]
63+
distribution: [temurin]
64+
pdal: [2.6.2]
9065
runs-on: ${{ matrix.os }}
91-
needs: [linux, macos]
92-
container:
93-
image: ${{ matrix.image }}
9466
if: github.event_name != 'pull_request'
67+
needs: [build]
68+
defaults:
69+
run:
70+
shell: bash -el {0}
9571
env:
9672
PDAL_DEPEND_ON_NATIVE: "false"
9773
CI_CLEAN: ""
@@ -100,21 +76,30 @@ jobs:
10076
- uses: actions/checkout@v3
10177
with:
10278
fetch-depth: 0
103-
# https://github.com/actions/runner/issues/2033
104-
- name: Set ownership
105-
run: |
106-
# this is to fix GIT not liking owner of the checkout dir
107-
chown -R $(id -u):$(id -g) $PWD
108-
10979
- uses: coursier/cache-action@v6
80+
- uses: actions/setup-java@v3
81+
with:
82+
distribution: ${{ matrix.distribution }}
83+
java-version: ${{ matrix.java }}
84+
85+
- uses: conda-incubator/setup-miniconda@v3
86+
with:
87+
activate-environment: pdal-java
88+
channels: conda-forge
89+
90+
- name: Install PDAL
91+
run: conda install pdal=${{ matrix.pdal }}
92+
93+
- name: Set LD_LIBRARY_PATH
94+
run: echo "LD_LIBRARY_PATH=$CONDA/envs/pdal-java/lib:/usr/local/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV"
11095

11196
- uses: actions/download-artifact@v3
11297
with:
11398
name: macos
11499
path: native/target/native/x86_64-darwin/bin
115100

116101
- name: Release
117-
run: ./sbt ci-release
102+
run: sbt ci-release
118103
env:
119104
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
120105
PGP_SECRET: ${{ secrets.PGP_SECRET }}

.scalafmt.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version=3.7.2
1+
version=3.7.17
22
runner.dialect = scala3
33
align.openParenCallSite = true
44
align.openParenDefnSite = true

build.sbt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,12 @@ lazy val core = project
7171
.settings(name := "pdal")
7272
.settings(javah / target := (native / nativeCompile / sourceDirectory).value / "include")
7373
.settings(sbtJniCoreScope := Compile)
74-
.settings(libraryDependencies ++= Seq(
75-
Dependencies.scalaTest % Test,
76-
Dependencies.circe("parser") % Test
77-
))
74+
.settings(
75+
libraryDependencies ++= Seq(
76+
Dependencies.scalaTest % Test,
77+
Dependencies.circe("parser") % Test
78+
)
79+
)
7880
.dependsOn(Environment.dependOnNative(native % Runtime): _*)
7981

8082
lazy val native = project
@@ -84,9 +86,9 @@ lazy val native = project
8486
.settings(nativeCompile / sourceDirectory := sourceDirectory.value)
8587
.settings(
8688
Compile / unmanagedPlatformDependentNativeDirectories := Seq(
87-
"x86_64-linux" -> target.value / "native/x86_64-linux/bin/",
89+
"x86_64-linux" -> target.value / "native/x86_64-linux/bin/",
8890
"x86_64-darwin" -> target.value / "native/x86_64-darwin/bin/",
89-
"arm64-darwin" -> target.value / "native/arm64-darwin/bin/"
91+
"arm64-darwin" -> target.value / "native/arm64-darwin/bin/"
9092
)
9193
)
9294
.settings(artifactName := { (sv: ScalaVersion, module: ModuleID, artifact: Artifact) =>

core/src/main/scala/io/pdal/Pipeline.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class Pipeline(val json: String, val logLevel: Int) extends Native {
4444
@native def getLog(): String
4545
}
4646

47-
object Pipeline extends NativeLoader("pdaljni.2.5") {
47+
object Pipeline extends NativeLoader("pdaljni.2.6") {
4848
def apply(json: String, logLevel: Int = LogLevel.Error): Pipeline = {
4949
val p = new Pipeline(json, logLevel); p.initialize(); p
5050
}

core/src/test/resources/quick-info-with-metadata-mac.json

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
{
2-
"readers.las":
3-
{
4-
"bounds":
5-
{
2+
"readers.las": {
3+
"bounds": {
64
"maxx": 638982.55,
75
"maxy": 853535.43,
86
"maxz": 586.38,
97
"minx": 635619.85,
108
"miny": 848899.7,
119
"minz": 406.59
1210
},
13-
"dimensions": "X, Y, Z, Intensity, ReturnNumber, NumberOfReturns, ScanDirectionFlag, EdgeOfFlightLine, Classification, ScanAngleRank, UserData, PointSourceId, GpsTime, Red, Green, Blue",
11+
"dimensions": "X, Y, Z, Intensity, ReturnNumber, NumberOfReturns, ScanDirectionFlag, EdgeOfFlightLine, Classification, Synthetic, KeyPoint, Withheld, Overlap, ScanAngleRank, UserData, PointSourceId, GpsTime, Red, Green, Blue",
1412
"num_points": 1065,
15-
"srs":
16-
{
13+
"srs": {
1714
"compoundwkt": "PROJCS[\"NAD83(HARN) / Oregon LCC (m)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"latitude_of_origin\",41.75],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"standard_parallel_1\",43],PARAMETER[\"standard_parallel_2\",45.5],PARAMETER[\"false_easting\",400000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2993\"]]",
1815
"horizontal": "PROJCS[\"NAD83(HARN) / Oregon LCC (m)\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"latitude_of_origin\",41.75],PARAMETER[\"central_meridian\",-120.5],PARAMETER[\"standard_parallel_1\",43],PARAMETER[\"standard_parallel_2\",45.5],PARAMETER[\"false_easting\",400000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2993\"]]",
1916
"isgeocentric": false,
@@ -145,8 +142,7 @@
145142
"prettycompoundwkt": "PROJCS[\"NAD83(HARN) / Oregon LCC (m)\",\n GEOGCS[\"NAD83(HARN)\",\n DATUM[\"NAD83_High_Accuracy_Reference_Network\",\n SPHEROID[\"GRS 1980\",6378137,298.257222101,\n AUTHORITY[\"EPSG\",\"7019\"]],\n AUTHORITY[\"EPSG\",\"6152\"]],\n PRIMEM[\"Greenwich\",0,\n AUTHORITY[\"EPSG\",\"8901\"]],\n UNIT[\"degree\",0.0174532925199433,\n AUTHORITY[\"EPSG\",\"9122\"]],\n AUTHORITY[\"EPSG\",\"4152\"]],\n PROJECTION[\"Lambert_Conformal_Conic_2SP\"],\n PARAMETER[\"latitude_of_origin\",41.75],\n PARAMETER[\"central_meridian\",-120.5],\n PARAMETER[\"standard_parallel_1\",43],\n PARAMETER[\"standard_parallel_2\",45.5],\n PARAMETER[\"false_easting\",400000],\n PARAMETER[\"false_northing\",0],\n UNIT[\"metre\",1,\n AUTHORITY[\"EPSG\",\"9001\"]],\n AXIS[\"Easting\",EAST],\n AXIS[\"Northing\",NORTH],\n AUTHORITY[\"EPSG\",\"2993\"]]",
146143
"prettywkt": "PROJCS[\"NAD83(HARN) / Oregon LCC (m)\",\n GEOGCS[\"NAD83(HARN)\",\n DATUM[\"NAD83_High_Accuracy_Reference_Network\",\n SPHEROID[\"GRS 1980\",6378137,298.257222101,\n AUTHORITY[\"EPSG\",\"7019\"]],\n AUTHORITY[\"EPSG\",\"6152\"]],\n PRIMEM[\"Greenwich\",0,\n AUTHORITY[\"EPSG\",\"8901\"]],\n UNIT[\"degree\",0.0174532925199433,\n AUTHORITY[\"EPSG\",\"9122\"]],\n AUTHORITY[\"EPSG\",\"4152\"]],\n PROJECTION[\"Lambert_Conformal_Conic_2SP\"],\n PARAMETER[\"latitude_of_origin\",41.75],\n PARAMETER[\"central_meridian\",-120.5],\n PARAMETER[\"standard_parallel_1\",43],\n PARAMETER[\"standard_parallel_2\",45.5],\n PARAMETER[\"false_easting\",400000],\n PARAMETER[\"false_northing\",0],\n UNIT[\"metre\",1,\n AUTHORITY[\"EPSG\",\"9001\"]],\n AXIS[\"Easting\",EAST],\n AXIS[\"Northing\",NORTH],\n AUTHORITY[\"EPSG\",\"2993\"]]",
147144
"proj4": "+proj=lcc +lat_0=41.75 +lon_0=-120.5 +lat_1=43 +lat_2=45.5 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs",
148-
"units":
149-
{
145+
"units": {
150146
"horizontal": "metre",
151147
"vertical": ""
152148
},

core/src/test/resources/quick-info-with-metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"miny": 848899.7,
1111
"minz": 406.59
1212
},
13-
"dimensions": "X, Y, Z, Intensity, ReturnNumber, NumberOfReturns, ScanDirectionFlag, EdgeOfFlightLine, Classification, ScanAngleRank, UserData, PointSourceId, GpsTime, Red, Green, Blue",
13+
"dimensions": "X, Y, Z, Intensity, ReturnNumber, NumberOfReturns, ScanDirectionFlag, EdgeOfFlightLine, Classification, Synthetic, KeyPoint, Withheld, Overlap, ScanAngleRank, UserData, PointSourceId, GpsTime, Red, Green, Blue",
1414
"num_points": 1065,
1515
"srs":
1616
{

core/src/test/resources/quick-info.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"miny": 848899.7,
1111
"minz": 406.59
1212
},
13-
"dimensions": "X, Y, Z, Intensity, ReturnNumber, NumberOfReturns, ScanDirectionFlag, EdgeOfFlightLine, Classification, ScanAngleRank, UserData, PointSourceId, GpsTime, Red, Green, Blue",
13+
"dimensions": "X, Y, Z, Intensity, ReturnNumber, NumberOfReturns, ScanDirectionFlag, EdgeOfFlightLine, Classification, Synthetic, KeyPoint, Withheld, Overlap, ScanAngleRank, UserData, PointSourceId, GpsTime, Red, Green, Blue",
1414
"num_points": 1065
1515
}
1616
}

core/src/test/resources/schema.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,26 @@
4848
"size": 1,
4949
"type": "unsigned"
5050
},
51+
{
52+
"name": "Synthetic",
53+
"size": 1,
54+
"type": "unsigned"
55+
},
56+
{
57+
"name": "KeyPoint",
58+
"size": 1,
59+
"type": "unsigned"
60+
},
61+
{
62+
"name": "Withheld",
63+
"size": 1,
64+
"type": "unsigned"
65+
},
66+
{
67+
"name": "Overlap",
68+
"size": 1,
69+
"type": "unsigned"
70+
},
5171
{
5272
"name": "ScanAngleRank",
5373
"size": 4,

core/src/test/scala/io/pdal/PipelineSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ class PipelineSpec extends TestEnvironmentSpec {
125125
it("layout should have a valid number of dims") {
126126
val pvi = pipeline.getPointViews()
127127
val pv = pvi.next()
128-
pv.layout().dimTypes().length should be(16)
128+
pv.layout().dimTypes().length should be(20)
129129
pv.close()
130130
pvi.close()
131131
}

native/src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ set(MAKE_COLOR_MAKEFILE ON)
99

1010
project (pdaljni)
1111
set(PROJECT_VERSION_MAJOR 2)
12-
set(PROJECT_VERSION_MINOR 5)
12+
set(PROJECT_VERSION_MINOR 6)
1313
set(PROJECT_VERSION_PATCH 0)
1414

1515
set(PDAL_LIB_NAME pdalcpp)

0 commit comments

Comments
 (0)