GeoTools / GeoServer PMC meeting - 2020-12-22### Attending
Torben Barsballe
Kevin Smith
Ian Turton
Jody Garnett
Andrea Aime
Jukka Rahkonnen
Alessandro Parma
Jim Hughes
Nuno Oliveira
Actions from last meeting:- [DONE] Thank Brad and Mark for the migration work
Agenda1. JTS 1.18 Upgrade
-
CITE Test contract
-
Remaining 2020 budget
-
HTTP client in GeoTools
-
GeoServer Docker image alternatives
-
More codebase cleanups
Actions- Jody: Start email PSC vote this year to pay out of our 2020 budget for CITE test contract, and then send authorization to treasurer when work is complete
JTS 1.18 Upgrade
JTS 1.18 upgrade, featuring Overlay NG (robust etc…)
-
New in 1.18
-
Setting to turn off / on (usual geotools system property setting)
-
Performance improvements
-
Address topology exceptions (stability)
-
Such improvement it is used always for precision sensitive operations like GeometryPrecisionReducer
James:
-
Testing against GeoTools / GeoServer build chain before release
-
Some ZM handling for a unit test involving shapefiles
-
Testing on https://gitter.im/locationtech/jts later today
-
Git branch is https://github.com/jnh5y/geotools/tree/jts1.18.0
Discussion:
-
Approach: enable “ng” on master, disable on “stable”, …
-
Flag is jts.overlay=ng is jts.overlay=old
-
Backporting dependency changes can be troublesome, had some recent experience with GeoTools being affected by linear rings api change
CITE Test contract
Are we coming up to the end 2020 budget for this activity?
-
What do we want to do? With respect to payment out of 2020 budget …
-
Action: Start email PSC vote this year … to pay out of our 2020 budget, and then send authorization to treasurer when work is complete
-
Work is still in progress, some delays (see 2020 )
-
Anything we can do to help? Not really …
Remaining 2020 Budget:
Other discussion:
-
Essential software ranking? Migrate from jira to github to improve score….
-
GeoTools at position 70
-
https://commondatastorage.googleapis.com/ossf-criticality-score/index.html
-
Windows installer?
-
GeoCat may be interested in a contract?
-
MacOS installer?
-
Amazon now rents a mac mini if you needed it
If you wish to take action, please send a motion to the appropriate developer list?
HTTP client in GeoTools
Q: What is the story with this? Roar Brænden
GeoTools HTTPClient interface:
-
Java implementation
-
Multithreaded using http commons
Got a few threads that clients are difficult to find, generally useful, duplication gt-wms and gt-wfs both implement…
Someone implemented a PR: https://github.com/geotools/geotools/pull/3256
-
Move to gt-main? Not a good idea as we would get dependency on apache commons …
-
Isolate into a single interface
-
Build a new implementation using apache http commons (replace http commons)
-
Implement Java 11 (but we cannot do java 11 only code)
-
Additional ideas, example async
Action:
- Jody: Will write it up as a proposal library/gt-http and plugin/gt-http-components and send it to email for vote?
GeoServer Docker image alternatives
Existing activity: https://github.com/geoserver/docker
-
What happened here? There is one PR waiting on feedback …
-
This sets up at runtime …
Alsandro would like to propose an alternative approach:
-
Rather than setup at runtime (the above approach), repare a webapp at build time, and then pull into docker, …
-
GeoCat does this with maven builds and war overlay (maven) and then packages result into Docker
-
GeoSolutions does this with DockerHub downloading source forge war, monitor and control-flow
-
Dockerhub build: https://hub.docker.com/r/geosolutionsit/geoserver/tags?page=1&ordering=last_updated&name=test-
Discussion notes:
-
The two approaches could be used together, you could always add more extensions by hand after if needed.
-
How to include this stuff in the geoserver release chain?
-
Edit a text file in the repository used by DockerHub, trigger rebuild and publish of docker?
-
Would I need to add this to the release process?
-
Advantage is that you do not have a delay each time you run the container …
If you want to change the extensions, you need to build locally, with different list extensions
- See custombuild.sh used to make a war (requires linux)
Discussion
-
How to include gdal (g-dal / or goo-dle for italians) native binaries, built custom gdal to get java bindings …
-
See link from torben here: https://github.com/planetlabs/stratus/blob/master/build/docker/amazonlinux-gdal-py-java11/Dockerfile
-
Uses Gdal 2.3.2 on amazon-linux, likely needs some tuning for other builds
-
Also libjpegturbo
-
Already included
-
How to include community modules? Would have to download from nexus repository, or modify custombuild.sh
-
Can we have the docker image:
-
- Download everything (static docker image) from source forge or nexus
-
- Then use runtime to copy that is requested into position on container startup
Action:
- Make a PR to start this repository going
More codebase cleanups
GeoTools samples:
-
Unnecessary casts, merged: https://github.com/geotools/geotools/pull/3257
-
Diamond, pending: https://github.com/geotools/geotools/pull/3264
-
For / loops with iterators: IntelliJ inspection to clean up
-
Cleaning JUnit 3 → JUnit 4