Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cli add version argument #376

Merged
merged 8 commits into from
Nov 26, 2022
Merged

Conversation

ttomasz
Copy link
Contributor

@ttomasz ttomasz commented Oct 29, 2022

I saw #326 and even though I have no experience with Java I thought it would be easy enough to add.

Let me know if this approach is ok or not.

Running $ java -jar planetiler-dist/target/planetiler-dist-*-with-deps.jar --version results in logger printing arguments and versions of modules at the end:

(...)
0:00:00 DEB - argument: version=true (show version then exit)
0:00:00 INF - module: planetiler-benchmarks - version: 0.6-SNAPSHOT
0:00:00 INF - module: planetiler-core - version: 0.6-SNAPSHOT
0:00:00 INF - module: planetiler-custommap - version: 0.6-SNAPSHOT
0:00:00 INF - module: planetiler-dist - version: 0.6-SNAPSHOT
0:00:00 INF - module: planetiler-examples - version: 0.6-SNAPSHOT

@github-actions
Copy link

github-actions bot commented Oct 29, 2022

Base 3a434a4 This Branch 293ab4a
0:02:03 DEB [mbtiles] - Tile stats:
0:02:03 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:02:03 DEB [mbtiles] - z1 avg:4k max:4k
0:02:03 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:02:03 DEB [mbtiles] - z3 avg:4k max:6.4k
0:02:03 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:02:03 DEB [mbtiles] - z5 avg:1.4k max:8.2k
0:02:03 DEB [mbtiles] - z6 avg:980 max:22k
0:02:03 DEB [mbtiles] - z7 avg:754 max:55k
0:02:03 DEB [mbtiles] - z8 avg:396 max:112k
0:02:03 DEB [mbtiles] - z9 avg:270 max:278k
0:02:03 DEB [mbtiles] - z10 avg:154 max:233k
0:02:03 DEB [mbtiles] - z11 avg:103 max:132k
0:02:03 DEB [mbtiles] - z12 avg:83 max:119k
0:02:03 DEB [mbtiles] - z13 avg:71 max:109k
0:02:03 DEB [mbtiles] - z14 avg:67 max:282k
0:02:03 DEB [mbtiles] - all avg:70 max:0
0:02:03 DEB [mbtiles] -  # features: 5,304,964
0:02:03 DEB [mbtiles] -     # tiles: 4,115,454
0:02:03 INF [mbtiles] - Finished in 29s cpu:57s avg:2
0:02:03 INF [mbtiles] -   read    1x(2% 0.7s wait:28s)
0:02:03 INF [mbtiles] -   encode  2x(59% 17s)
0:02:03 INF [mbtiles] -   write   1x(15% 4s wait:23s)
0:02:03 INF - Finished in 2m3s cpu:3m36s gc:5s avg:1.8
0:02:03 INF - FINISHED!
0:02:03 INF - 
0:02:03 INF - ----------------------------------------
0:02:03 INF - 	overall          2m3s cpu:3m36s gc:5s avg:1.8
0:02:03 INF - 	lake_centerlines 2s cpu:4s avg:1.8
0:02:03 INF - 	  read     1x(79% 2s)
0:02:03 INF - 	  process  2x(12% 0.3s wait:2s)
0:02:03 INF - 	  write    1x(0% 0s wait:2s)
0:02:03 INF - 	water_polygons   29s cpu:52s gc:3s avg:1.8
0:02:03 INF - 	  read     1x(57% 16s sys:1s wait:3s)
0:02:03 INF - 	  process  2x(27% 8s wait:13s)
0:02:03 INF - 	  write    1x(2% 0.6s wait:28s)
0:02:03 INF - 	natural_earth    10s cpu:15s avg:1.5
0:02:03 INF - 	  read     1x(84% 9s done:1s)
0:02:03 INF - 	  process  2x(14% 1s wait:9s)
0:02:03 INF - 	  write    1x(0% 0s wait:9s)
0:02:03 INF - 	osm_pass1        5s cpu:7s avg:1.5
0:02:03 INF - 	  read     1x(2% 0.1s wait:4s)
0:02:03 INF - 	  parse    1x(58% 3s wait:1s)
0:02:03 INF - 	  process  1x(35% 2s wait:2s)
0:02:03 INF - 	osm_pass2        33s cpu:1m5s avg:2
0:02:03 INF - 	  read     1x(0% 0s wait:16s done:17s)
0:02:03 INF - 	  process  2x(75% 25s)
0:02:03 INF - 	  write    1x(1% 0.4s wait:32s)
0:02:03 INF - 	boundaries       0s cpu:0.1s avg:1.6
0:02:03 INF - 	sort             2s cpu:3s avg:1.3
0:02:03 INF - 	  worker  1x(76% 2s)
0:02:03 INF - 	mbtiles          29s cpu:57s avg:2
0:02:03 INF - 	  read    1x(2% 0.7s wait:28s)
0:02:03 INF - 	  encode  2x(59% 17s)
0:02:03 INF - 	  write   1x(15% 4s wait:23s)
0:02:03 INF - ----------------------------------------
0:02:03 INF - 	features	271MB
0:02:03 INF - 	mbtiles	108MB
-rw-r--r-- 1 runner docker 62M Nov 26 12:04 run.jar
0:02:00 DEB [mbtiles] - Tile stats:
0:02:00 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:02:00 DEB [mbtiles] - z1 avg:4k max:4k
0:02:00 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:02:00 DEB [mbtiles] - z3 avg:4k max:6.4k
0:02:00 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:02:00 DEB [mbtiles] - z5 avg:1.4k max:8.2k
0:02:00 DEB [mbtiles] - z6 avg:980 max:22k
0:02:00 DEB [mbtiles] - z7 avg:754 max:55k
0:02:00 DEB [mbtiles] - z8 avg:396 max:112k
0:02:00 DEB [mbtiles] - z9 avg:270 max:278k
0:02:00 DEB [mbtiles] - z10 avg:154 max:233k
0:02:00 DEB [mbtiles] - z11 avg:103 max:132k
0:02:00 DEB [mbtiles] - z12 avg:83 max:119k
0:02:00 DEB [mbtiles] - z13 avg:71 max:109k
0:02:00 DEB [mbtiles] - z14 avg:67 max:282k
0:02:00 DEB [mbtiles] - all avg:70 max:0
0:02:00 DEB [mbtiles] -  # features: 5,304,964
0:02:00 DEB [mbtiles] -     # tiles: 4,115,454
0:02:00 INF [mbtiles] - Finished in 29s cpu:56s gc:1s avg:2
0:02:00 INF [mbtiles] -   read    1x(2% 0.7s wait:27s)
0:02:00 INF [mbtiles] -   encode  2x(59% 17s)
0:02:01 INF [mbtiles] -   write   1x(15% 4s wait:22s)
0:02:01 INF - Finished in 2m1s cpu:3m33s gc:4s avg:1.8
0:02:01 INF - FINISHED!
0:02:01 INF - 
0:02:01 INF - ----------------------------------------
0:02:01 INF - 	overall          2m1s cpu:3m33s gc:4s avg:1.8
0:02:01 INF - 	lake_centerlines 2s cpu:4s avg:1.7
0:02:01 INF - 	  read     1x(75% 2s)
0:02:01 INF - 	  process  2x(11% 0.3s wait:2s)
0:02:01 INF - 	  write    1x(0% 0s wait:2s)
0:02:01 INF - 	water_polygons   28s cpu:51s gc:3s avg:1.8
0:02:01 INF - 	  read     1x(58% 16s wait:3s)
0:02:01 INF - 	  process  2x(28% 8s wait:13s)
0:02:01 INF - 	  write    1x(2% 0.7s wait:27s)
0:02:01 INF - 	natural_earth    11s cpu:15s avg:1.4
0:02:01 INF - 	  read     1x(79% 9s sys:1s done:2s)
0:02:01 INF - 	  process  2x(13% 1s wait:9s done:2s)
0:02:01 INF - 	  write    1x(0% 0s wait:9s done:2s)
0:02:01 INF - 	osm_pass1        4s cpu:7s avg:1.7
0:02:01 INF - 	  read     1x(2% 0.1s wait:3s)
0:02:01 INF - 	  parse    1x(66% 3s)
0:02:01 INF - 	  process  1x(41% 2s wait:2s)
0:02:01 INF - 	osm_pass2        33s cpu:1m5s avg:2
0:02:01 INF - 	  read     1x(0% 0s wait:17s done:16s)
0:02:01 INF - 	  process  2x(74% 25s)
0:02:01 INF - 	  write    1x(1% 0.4s wait:33s)
0:02:01 INF - 	boundaries       0s cpu:0.1s avg:1.6
0:02:01 INF - 	sort             2s cpu:3s avg:1.3
0:02:01 INF - 	  worker  1x(77% 2s)
0:02:01 INF - 	mbtiles          29s cpu:56s gc:1s avg:2
0:02:01 INF - 	  read    1x(2% 0.7s wait:27s)
0:02:01 INF - 	  encode  2x(59% 17s)
0:02:01 INF - 	  write   1x(15% 4s wait:22s)
0:02:01 INF - ----------------------------------------
0:02:01 INF - 	features	271MB
0:02:01 INF - 	mbtiles	108MB
-rw-r--r-- 1 runner docker 62M Nov 26 12:02 run.jar

https://github.com/onthegomap/planetiler/actions/runs/3553600311

ℹ️ Base Logs 3a434a4
0:00:00 DEB - argument: config=null (path to config file)
0:00:00 DEB - argument: area=rhode island (name of the extract to download if osm_url/osm_path not specified (i.e. 'monaco' 'rhode island' 'australia' or 'planet'))
0:00:00 INF - argument: stats=use in-memory stats
0:00:00 DEB - argument: madvise=true (default value for whether to use linux madvise(random) to improve memory-mapped read performance for temporary storage)
0:00:00 DEB - argument: storage=mmap (default storage type for temporary data, one of [ram, mmap, direct])
0:00:00 DEB - argument: threads=2 (num threads)
0:00:00 DEB - argument: write_threads=1 (number of threads to use when writing temp features)
0:00:00 DEB - argument: process_threads=2 (number of threads to use when processing input features)
0:00:00 DEB - argument: bounds=Env[-74.07 : -17.84, 21.34 : 43.55] (bounds)
0:00:00 DEB - argument: polygon=null (a .poly file that limits output to tiles intersecting the shape)
0:00:00 DEB - argument: minzoom=0 (minimum zoom level)
0:00:00 DEB - argument: maxzoom=14 (maximum zoom level up to 15)
0:00:00 DEB - argument: render_maxzoom=14 (maximum rendering zoom level up to 15)
0:00:00 DEB - argument: feature_read_threads=1 (number of threads to use when reading features at tile write time)
0:00:00 DEB - argument: loginterval=10 seconds (time between logs)
0:00:00 DEB - argument: skip_mbtiles_index_creation=false (skip adding index to mbtiles file)
0:00:00 DEB - argument: optimize_db=false (Vacuum analyze mbtiles after writing)
0:00:00 DEB - argument: emit_tiles_in_order=true (emit tiles in index order)
0:00:00 DEB - argument: force=false (overwriting output file and ignore disk/RAM warnings)
0:00:00 DEB - argument: gzip_temp=false (gzip temporary feature storage (uses more CPU, but less disk space))
0:00:00 DEB - argument: mmap_temp=true (use memory-mapped IO for temp feature files)
0:00:00 DEB - argument: sort_max_readers=6 (maximum number of concurrent read threads to use when sorting chunks)
0:00:00 DEB - argument: sort_max_writers=6 (maximum number of concurrent write threads to use when sorting chunks)
0:00:00 DEB - argument: nodemap_type=sparsearray (type of node location map, one of [noop, sortedtable, sparsearray, array])
0:00:00 DEB - argument: nodemap_storage=mmap (storage for node location map, one of [ram, mmap, direct])
0:00:00 DEB - argument: nodemap_madvise=true (use linux madvise(random) for node locations)
0:00:00 DEB - argument: multipolygon_geometry_storage=mmap (storage for multipolygon geometries, one of [ram, mmap, direct])
0:00:00 DEB - argument: multipolygon_geometry_madvise=true (use linux madvise(random) for temporary multipolygon geometry storage)
0:00:00 DEB - argument: http_user_agent=Planetiler downloader (https://github.com/onthegomap/planetiler) (User-Agent header to set when downloading files over HTTP)
0:00:00 DEB - argument: http_timeout=30 seconds (Timeout to use when downloading files over HTTP)
0:00:00 DEB - argument: http_retries=1 (Retries to use when downloading files over HTTP)
0:00:00 DEB - argument: download_chunk_size_mb=100 (Size of file chunks to download in parallel in megabytes)
0:00:00 DEB - argument: download_threads=1 (Number of parallel threads to use when downloading each file)
0:00:00 DEB - argument: min_feature_size_at_max_zoom=0.0625 (Default value for the minimum size in tile pixels of features to emit at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: min_feature_size=1.0 (Default value for the minimum size in tile pixels of features to emit below the maximum zoom level)
0:00:00 DEB - argument: simplify_tolerance_at_max_zoom=0.0625 (Default value for the tile pixel tolerance to use when simplifying features at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: simplify_tolerance=0.1 (Default value for the tile pixel tolerance to use when simplifying features below the maximum zoom level)
0:00:00 DEB - argument: osm_lazy_reads=true (Read OSM blocks from disk in worker threads)
0:00:00 DEB - argument: compact_db=true (Reduce the DB size by separating and deduping the tile data)
0:00:00 DEB - argument: skip_filled_tiles=false (Skip writing tiles containing only polygon fills to the output)
0:00:00 DEB - argument: tile_warning_size_mb=1.0 (Maximum size in megabytes of a tile to emit a warning about)
0:00:00 DEB - argument: tmpdir=data/tmp (temp directory)
0:00:00 DEB - argument: only_download=false (download source data then exit)
0:00:00 DEB - argument: download=false (download sources)
0:00:00 DEB - argument: temp_nodes=data/tmp/node.db (temp node db location)
0:00:00 DEB - argument: temp_multipolygons=data/tmp/multipolygon.db (temp multipolygon db location)
0:00:00 DEB - argument: temp_features=data/tmp/feature.db (temp feature db location)
0:00:00 DEB - argument: osm_parse_node_bounds=false (parse bounds from OSM nodes instead of header)
0:00:00 DEB - argument: only_fetch_wikidata=false (fetch wikidata translations then quit)
0:00:00 DEB - argument: fetch_wikidata=false (fetch wikidata translations then continue)
0:00:00 DEB - argument: use_wikidata=true (use wikidata translations)
0:00:00 DEB - argument: wikidata_cache=data/sources/wikidata_names.json (wikidata cache file)
0:00:00 DEB - argument: lake_centerlines_path=data/sources/lake_centerline.shp.zip (lake_centerlines shapefile path)
0:00:00 DEB - argument: free_lake_centerlines_after_read=false (delete lake_centerlines input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: water_polygons_path=data/sources/water-polygons-split-3857.zip (water_polygons shapefile path)
0:00:00 DEB - argument: free_water_polygons_after_read=false (delete water_polygons input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: natural_earth_path=data/sources/natural_earth_vector.sqlite.zip (natural_earth sqlite db path)
0:00:00 DEB - argument: free_natural_earth_after_read=false (delete natural_earth input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: osm_path=data/sources/rhode_island.osm.pbf (osm OSM input file path)
0:00:00 DEB - argument: free_osm_after_read=false (delete osm input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: mbtiles=data/out.mbtiles (mbtiles output file)
0:00:00 DEB - argument: transliterate=true (attempt to transliterate latin names)
0:00:00 DEB - argument: languages=am,ar,az,be,bg,br,bs,ca,co,cs,cy,da,de,el,en,eo,es,et,eu,fi,fr,fy,ga,gd,he,hi,hr,hu,hy,id,is,it,ja,ja_kana,ja_rm,ja-Latn,ja-Hira,ka,kk,kn,ko,ko-Latn,ku,la,lb,lt,lv,mk,mt,ml,nl,no,oc,pl,pt,rm,ro,ru,sk,sl,sq,sr,sr-Latn,sv,ta,te,th,tr,uk,zh (languages to use)
0:00:00 DEB - argument: only_layers= (Include only certain layers)
0:00:00 DEB - argument: exclude_layers= (Exclude certain layers)
0:00:00 DEB - argument: boundary_country_names=true (boundary layer: add left/right codes of neighboring countries)
0:00:00 DEB - argument: transportation_z13_paths=false (transportation(_name) layer: show all paths on z13)
0:00:00 DEB - argument: building_merge_z13=true (building layer: merge nearby buildings at z13)
0:00:00 DEB - argument: transportation_name_brunnel=false (transportation_name layer: set to false to omit brunnel and help merge long highways)
0:00:00 DEB - argument: transportation_name_size_for_shield=false (transportation_name layer: allow road names on shorter segments (ie. they will have a shield))
0:00:00 DEB - argument: transportation_name_limit_merge=false (transportation_name layer: limit merge so we don't combine different relations to help merge long highways)
0:00:00 DEB - argument: transportation_name_minor_refs=false (transportation_name layer: include name and refs from minor road networks if not present on a way)
0:00:00 DEB - argument: mbtiles_name=OpenMapTiles ('name' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org ('description' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a> ('attribution' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_version=3.13.1 ('version' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_type=baselayer ('type' attribute for mbtiles metadata)
0:00:00 DEB - argument: help=false (show arguments then exit)
0:00:00 INF - Building OpenMapTilesProfile profile into data/out.mbtiles in these phases:
0:00:00 INF -   lake_centerlines: Process features in data/sources/lake_centerline.shp.zip
0:00:00 INF -   water_polygons: Process features in data/sources/water-polygons-split-3857.zip
0:00:00 INF -   natural_earth: Process features in data/sources/natural_earth_vector.sqlite.zip
0:00:00 INF -   osm_pass1: Pre-process OpenStreetMap input (store node locations then relation members)
0:00:00 INF -   osm_pass2: Process OpenStreetMap nodes, ways, then relations
0:00:00 INF -   sort: Sort rendered features by tile ID
0:00:00 INF -   mbtiles: Encode each tile and write to data/out.mbtiles
0:00:00 INF - no wikidata translations found, run with --fetch-wikidata to download
0:00:00 DEB - ✓ 196M storage on / (/dev/root) requested for read phase disk, 30G available
0:00:00 DEB -  - 44M used for temporary node location cache
0:00:00 DEB -  - 6.6M used for temporary multipolygon geometry cache
0:00:00 DEB -  - 145M used for temporary feature storage
0:00:00 DEB - ✓ 218M storage on / (/dev/root) requested for write phase disk, 30G available
0:00:00 DEB -  - 145M used for temporary feature storage
0:00:00 DEB -  - 72M used for mbtiles output
0:00:00 DEB - ✓ 313M JVM heap requested for read phase, 4.2G available
0:00:00 DEB -  - 300M used for sparsearray node location in-memory index
0:00:00 DEB -  - 13M used for temporary profile storage
0:00:00 DEB - ✓ 50M storage on / (/dev/root) requested for read phase, 30G available
0:00:00 DEB -  - 44M used for sparsearray node location cache
0:00:00 DEB -  - 6.6M used for multipolygon way geometries
0:00:00 DEB - ✓ 50M temporary files and 2.9G of free memory for OS to cache them
0:00:00 INF - Using merge sort feature map, chunk size=1431mb max workers=2
0:00:01 INF - dataFileCache open start
0:00:02 INF [lake_centerlines] - 
0:00:02 INF [lake_centerlines] - Starting...
0:00:04 INF [lake_centerlines] -  read: [  59k 100%  26k/s ] write: [    0    0/s ] 0    
    cpus: 1.8 gc:  3% heap: 161M/4.2G direct: 237k postGC: 76M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:04 INF [lake_centerlines] - Finished in 2s cpu:4s avg:1.8
0:00:04 INF [lake_centerlines] -   read     1x(79% 2s)
0:00:04 INF [lake_centerlines] -   process  2x(12% 0.3s wait:2s)
0:00:04 INF [lake_centerlines] -   write    1x(0% 0s wait:2s)
0:00:04 INF [water_polygons] - 
0:00:04 INF [water_polygons] - Starting...
0:00:14 INF [water_polygons] -  read: [ 1.8k  13%  188/s ] write: [  40k 3.9k/s ] 1.4G 
    cpus: 1.9 gc:  8% heap: 2.7G/4.2G direct: 51M postGC: 717M
    read(56%) ->    (0/1k) -> process(14% 38%) -> (1.4k/53k) -> write( 0%)
0:00:24 INF [water_polygons] -  read: [ 3.9k  27%  208/s ] write: [ 229k  18k/s ] 1.4G 
    cpus: 1.9 gc: 13% heap: 1.7G/4.2G direct: 51M postGC: 1.5G
    read(53%) ->    (0/1k) -> process(25% 38%) -> (1.3k/53k) -> write( 0%)
0:00:33 INF [water_polygons] -  read: [  14k 100% 1.1k/s ] write: [ 4.3M 465k/s ] 186M 
    cpus: 1.5 gc:  5% heap: 1.7G/4.2G direct: 51M postGC: 1.7G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:33 INF [water_polygons] - Finished in 29s cpu:52s gc:3s avg:1.8
0:00:33 INF [water_polygons] -   read     1x(57% 16s sys:1s wait:3s)
0:00:33 INF [water_polygons] -   process  2x(27% 8s wait:13s)
0:00:33 INF [water_polygons] -   write    1x(2% 0.6s wait:28s)
0:00:33 INF [natural_earth] - unzipping /home/runner/work/planetiler/planetiler/data/sources/natural_earth_vector.sqlite.zip to data/tmp/natearth.sqlite
0:00:42 INF [natural_earth] - 
0:00:42 INF [natural_earth] - Starting...
0:00:53 INF [natural_earth] -  read: [ 349k 100%  37k/s ] write: [  181   19/s ] 186M 
    cpus: 1.5 gc:  1% heap: 2G/4.2G direct: 51M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:53 INF [natural_earth] - Finished in 10s cpu:15s avg:1.5
0:00:53 INF [natural_earth] -   read     1x(84% 9s done:1s)
0:00:53 INF [natural_earth] -   process  2x(14% 1s wait:9s)
0:00:53 INF [natural_earth] -   write    1x(0% 0s wait:9s)
0:00:53 INF [osm_pass1] - 
0:00:53 INF [osm_pass1] - Starting...
0:00:56 INF [osm_pass1:process] - Finished nodes: 4,624,500 (1.3M/s) in 3s cpu:5s avg:1.4
0:00:57 INF [osm_pass1:process] - Finished ways: 336,810 (384k/s) in 0.9s cpu:2s avg:1.9
0:00:57 INF [osm_pass1:process] - Finished relations: 7,926 (71k/s) in 0.1s cpu:0.2s avg:2
0:00:57 INF [osm_pass1] -  nodes: [ 4.6M   1M/s ] 428M  ways: [ 336k  75k/s ] rels: [ 7.9k 1.7k/s ] blocks: [  623  138/s ]
    cpus: 1.5 gc:  2% heap: 1G/4.2G direct: 51M postGC: 884M hppc: 465k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:57 DEB [osm_pass1] - Processed 623 blocks:
0:00:57 DEB [osm_pass1] -   nodes: 4,624,500 (1.3M/s) in 3s cpu:5s avg:1.4
0:00:57 DEB [osm_pass1] -   ways: 336,810 (384k/s) in 0.9s cpu:2s avg:1.9
0:00:57 DEB [osm_pass1] -   relations: 7,926 (71k/s) in 0.1s cpu:0.2s avg:2
0:00:57 INF [osm_pass1] - Finished in 5s cpu:7s avg:1.5
0:00:57 INF [osm_pass1] -   read     1x(2% 0.1s wait:4s)
0:00:57 INF [osm_pass1] -   parse    1x(58% 3s wait:1s)
0:00:57 INF [osm_pass1] -   process  1x(35% 2s wait:2s)
0:00:57 INF [osm_pass2] - 
0:00:57 INF [osm_pass2] - Starting...
0:01:00 DEB [osm_pass2:process] - Sorting long long multimap...
0:01:00 INF [osm_pass2:process] - Finished nodes: 4,624,500 (1.8M/s) in 2s cpu:5s avg:2
0:01:00 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0.1s avg:2.2
0:01:00 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:01:07 INF [osm_pass2] -  nodes: [ 4.6M 100% 462k/s ] 428M  ways: [ 153k  46%  15k/s ] rels: [    0   0%    0/s ] features: [ 4.8M  57k/s ] 1.6G  blocks: [  598  96%   59/s ]
    cpus: 2 gc:  0% heap: 1.7G/4.2G direct: 51M postGC: 887M relInfo: 424k mpGeoms: 649k 
    read( 0%) ->   (11/13) -> process(62% 61%) -> (771/53k) -> write( 2%)
0:01:17 INF [osm_pass2:process] - Finished ways: 336,810 (19k/s) in 17s cpu:34s avg:2
0:01:17 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 428M  ways: [ 336k 100%  18k/s ] rels: [  956  12%   95/s ] features: [ 5.2M  37k/s ] 1.6G  blocks: [  622 100%    2/s ]
    cpus: 2 gc:  1% heap: 2.1G/4.2G direct: 51M postGC: 889M relInfo: 424k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process(84% 80%) -> (1.2k/53k) -> write( 1%)
0:01:27 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 428M  ways: [ 336k 100%    0/s ] rels: [ 6.9k  87%  596/s ] features: [ 5.2M 2.7k/s ] 1.6G  blocks: [  622 100%    0/s ]
    cpus: 2 gc:  1% heap: 2.5G/4.2G direct: 51M postGC: 892M relInfo: 424k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process(77% 78%) -> (160/53k) -> write( 0%)
0:01:27 INF [osm_pass2:process] - Finished relations: 7,926 (759/s) in 10s cpu:21s avg:2
0:01:30 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 428M  ways: [ 336k 100%    0/s ] rels: [ 7.9k 100%  354/s ] features: [ 5.3M   2k/s ] 271M  blocks: [  623 100%   <1/s ]
    cpus: 1.9 gc:  1% heap: 3.3G/4.2G direct: 51M postGC: 885M relInfo: 424k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:30 DEB [osm_pass2] - Processed 623 blocks:
0:01:30 DEB [osm_pass2] -   nodes: 4,624,500 (1.8M/s) in 2s cpu:5s avg:2
0:01:30 DEB [osm_pass2] -   ways: 336,810 (19k/s) in 17s cpu:34s avg:2
0:01:30 DEB [osm_pass2] -   relations: 7,926 (759/s) in 10s cpu:21s avg:2
0:01:30 INF [osm_pass2] - Finished in 33s cpu:1m5s avg:2
0:01:30 INF [osm_pass2] -   read     1x(0% 0s wait:16s done:17s)
0:01:30 INF [osm_pass2] -   process  2x(75% 25s)
0:01:30 INF [osm_pass2] -   write    1x(1% 0.4s wait:32s)
0:01:30 INF [boundaries] - 
0:01:30 INF [boundaries] - Starting...
0:01:30 INF [boundaries] - Creating polygons for 1 boundaries
0:01:30 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:01:30 INF [boundaries] - Finished creating 0 country polygons
0:01:30 INF [boundaries] - Finished in 0s cpu:0.1s avg:1.6
0:01:30 INF - Deleting node.db to make room for output file
0:01:30 INF [sort] - 
0:01:30 INF [sort] - Starting...
0:01:30 INF [sort] - Grouped 8 chunks into 1
0:01:33 INF [sort] -  chunks: [   1 /   1 100% ] 271M 
    cpus: 1.3 gc:  1% heap: 1.1G/4.2G direct: 51M postGC: 753M
    ->     (0/3) -> worker( -%)
0:01:33 INF [sort] - Finished in 2s cpu:3s avg:1.3
0:01:33 INF [sort] -   worker  1x(76% 2s)
0:01:33 INF - read:0s write:0s sort:1s
0:01:34 INF [mbtiles] - 
0:01:34 INF [mbtiles] - Starting...
0:01:34 DEB [mbtiles:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:34 DEB [mbtiles:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:34 DEB [mbtiles:write] - Execute mbtiles: create table tiles_shallow (
  zoom_level integer,
  tile_column integer,
  tile_row integer,
  tile_data_id integer

  , primary key(zoom_level,tile_column,tile_row)

) without rowid

0:01:34 DEB [mbtiles:write] - Execute mbtiles: create table tiles_data (
  tile_data_id integer primary key,
  tile_data blob
)

0:01:34 DEB [mbtiles:write] - Execute mbtiles: create view tiles AS
select
  tiles_shallow.zoom_level as zoom_level,
  tiles_shallow.tile_column as tile_column,
  tiles_shallow.tile_row as tile_row,
  tiles_data.tile_data as tile_data
from tiles_shallow
join tiles_data on tiles_shallow.tile_data_id = tiles_data.tile_data_id

0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: format=pbf
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: version=3.13.1
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: type=baselayer
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: minzoom=0
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: maxzoom=14
0:01:34 DEB [mbtiles:write] - Set mbtiles metadata: json={"vector_layers":[{"id":"aerodrome_label","fields":{"name_int":"String","iata":"String","ele_ft":"Number","name_de":"String","name":"String","icao":"String","name:en":"String","class":"String","name_en":"String","name:latin":"String","ele":"Number"},"minzoom":10,"maxzoom":14},{"id":"aeroway","fields":{"ref":"String","class":"String"},"minzoom":10,"maxzoom":14},{"id":"boundary","fields":{"disputed":"Number","admin_level":"Number","maritime":"Number"},"minzoom":0,"maxzoom":14},{"id":"building","fields":{"colour":"String","render_height":"Number","render_min_height":"Number","hide_3d":"Boolean"},"minzoom":13,"maxzoom":14},{"id":"housenumber","fields":{"housenumber":"String"},"minzoom":14,"maxzoom":14},{"id":"landcover","fields":{"subclass":"String","class":"String","_numpoints":"Number"},"minzoom":7,"maxzoom":14},{"id":"landuse","fields":{"class":"String"},"minzoom":4,"maxzoom":14},{"id":"mountain_peak","fields":{"name_int":"String","customary_ft":"Number","ele_ft":"Number","name_de":"Str... 2302 more characters
0:01:36 INF [mbtiles:write] - Starting z0
0:01:36 INF [mbtiles:write] - Finished z0 in 0s cpu:0s avg:0, now starting z1
0:01:36 INF [mbtiles:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:01:36 INF [mbtiles:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:01:36 INF [mbtiles:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:01:36 INF [mbtiles:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:01:36 INF [mbtiles:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:01:36 INF [mbtiles:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:01:36 INF [mbtiles:write] - Finished z7 in 0.6s cpu:1s avg:2, now starting z8
0:01:38 INF [mbtiles:write] - Finished z8 in 2s cpu:3s avg:2, now starting z9
0:01:39 INF [mbtiles:write] - Finished z9 in 1s cpu:2s avg:2, now starting z10
0:01:40 INF [mbtiles:write] - Finished z10 in 0.7s cpu:1s avg:2, now starting z11
0:01:41 INF [mbtiles:write] - Finished z11 in 2s cpu:3s avg:2, now starting z12
0:01:44 INF [mbtiles] -  features: [ 434k   8%  43k/s ] 271M  tiles: [ 208k  20k/s ] 11M  
    cpus: 2 gc:  2% heap: 1.9G/4.2G direct: 51M postGC: 1.3G
    read( 1%) -> (213/217) -> encode(60% 60%) -> (215/216) -> write( 4%)
    last tile: 12/1680/1757 (z12 74%) https://www.openstreetmap.org/#map=12/24.76678/-32.34375
0:01:44 INF [mbtiles:write] - Finished z12 in 3s cpu:6s avg:2, now starting z13
0:01:54 INF [mbtiles] -  features: [ 809k  15%  37k/s ] 271M  tiles: [ 291k 8.3k/s ] 13M  
    cpus: 2 gc:  3% heap: 1.4G/4.2G direct: 51M postGC: 1.3G
    read( 0%) -> (212/217) -> encode(63% 61%) -> (215/216) -> write( 1%)
    last tile: 13/2471/3046 (z13 5%) https://www.openstreetmap.org/#map=13/41.83683/-71.41113
0:01:57 INF [mbtiles:write] - Finished z13 in 13s cpu:25s avg:2, now starting z14
0:02:03 DEB [mbtiles:write] - Shallow tiles written: 4,115,454
0:02:03 DEB [mbtiles:write] - Tile data written: 21,284 (99% omitted)
0:02:03 DEB [mbtiles:write] - Unique tile hashes: 11,265
0:02:03 INF [mbtiles:write] - Finished z14 in 6s cpu:12s avg:1.9
0:02:03 INF [mbtiles] -  features: [ 5.3M 100% 501k/s ] 271M  tiles: [ 4.1M 426k/s ] 108M 
    cpus: 2 gc:  2% heap: 2.2G/4.2G direct: 51M postGC: 1.3G
    read( -%) ->   (0/217) -> encode( -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 100%) https://www.openstreetmap.org/#map=14/43.56447/-17.84180
0:02:03 DEB [mbtiles] - Tile stats:
0:02:03 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:02:03 DEB [mbtiles] - z1 avg:4k max:4k
0:02:03 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:02:03 DEB [mbtiles] - z3 avg:4k max:6.4k
0:02:03 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:02:03 DEB [mbtiles] - z5 avg:1.4k max:8.2k
0:02:03 DEB [mbtiles] - z6 avg:980 max:22k
0:02:03 DEB [mbtiles] - z7 avg:754 max:55k
0:02:03 DEB [mbtiles] - z8 avg:396 max:112k
0:02:03 DEB [mbtiles] - z9 avg:270 max:278k
0:02:03 DEB [mbtiles] - z10 avg:154 max:233k
0:02:03 DEB [mbtiles] - z11 avg:103 max:132k
0:02:03 DEB [mbtiles] - z12 avg:83 max:119k
0:02:03 DEB [mbtiles] - z13 avg:71 max:109k
0:02:03 DEB [mbtiles] - z14 avg:67 max:282k
0:02:03 DEB [mbtiles] - all avg:70 max:0
0:02:03 DEB [mbtiles] -  # features: 5,304,964
0:02:03 DEB [mbtiles] -     # tiles: 4,115,454
0:02:03 INF [mbtiles] - Finished in 29s cpu:57s avg:2
0:02:03 INF [mbtiles] -   read    1x(2% 0.7s wait:28s)
0:02:03 INF [mbtiles] -   encode  2x(59% 17s)
0:02:03 INF [mbtiles] -   write   1x(15% 4s wait:23s)
0:02:03 INF - Finished in 2m3s cpu:3m36s gc:5s avg:1.8
0:02:03 INF - FINISHED!
0:02:03 INF - 
0:02:03 INF - ----------------------------------------
0:02:03 INF - 	overall          2m3s cpu:3m36s gc:5s avg:1.8
0:02:03 INF - 	lake_centerlines 2s cpu:4s avg:1.8
0:02:03 INF - 	  read     1x(79% 2s)
0:02:03 INF - 	  process  2x(12% 0.3s wait:2s)
0:02:03 INF - 	  write    1x(0% 0s wait:2s)
0:02:03 INF - 	water_polygons   29s cpu:52s gc:3s avg:1.8
0:02:03 INF - 	  read     1x(57% 16s sys:1s wait:3s)
0:02:03 INF - 	  process  2x(27% 8s wait:13s)
0:02:03 INF - 	  write    1x(2% 0.6s wait:28s)
0:02:03 INF - 	natural_earth    10s cpu:15s avg:1.5
0:02:03 INF - 	  read     1x(84% 9s done:1s)
0:02:03 INF - 	  process  2x(14% 1s wait:9s)
0:02:03 INF - 	  write    1x(0% 0s wait:9s)
0:02:03 INF - 	osm_pass1        5s cpu:7s avg:1.5
0:02:03 INF - 	  read     1x(2% 0.1s wait:4s)
0:02:03 INF - 	  parse    1x(58% 3s wait:1s)
0:02:03 INF - 	  process  1x(35% 2s wait:2s)
0:02:03 INF - 	osm_pass2        33s cpu:1m5s avg:2
0:02:03 INF - 	  read     1x(0% 0s wait:16s done:17s)
0:02:03 INF - 	  process  2x(75% 25s)
0:02:03 INF - 	  write    1x(1% 0.4s wait:32s)
0:02:03 INF - 	boundaries       0s cpu:0.1s avg:1.6
0:02:03 INF - 	sort             2s cpu:3s avg:1.3
0:02:03 INF - 	  worker  1x(76% 2s)
0:02:03 INF - 	mbtiles          29s cpu:57s avg:2
0:02:03 INF - 	  read    1x(2% 0.7s wait:28s)
0:02:03 INF - 	  encode  2x(59% 17s)
0:02:03 INF - 	  write   1x(15% 4s wait:23s)
0:02:03 INF - ----------------------------------------
0:02:03 INF - 	features	271MB
0:02:03 INF - 	mbtiles	108MB
-rw-r--r-- 1 runner docker 62M Nov 26 12:04 run.jar
ℹ️ This Branch Logs 293ab4a
0:00:00 DEB - argument: config=null (path to config file)
0:00:00 DEB - argument: area=rhode island (name of the extract to download if osm_url/osm_path not specified (i.e. 'monaco' 'rhode island' 'australia' or 'planet'))
0:00:00 INF - argument: stats=use in-memory stats
0:00:00 DEB - argument: madvise=true (default value for whether to use linux madvise(random) to improve memory-mapped read performance for temporary storage)
0:00:00 DEB - argument: storage=mmap (default storage type for temporary data, one of [ram, mmap, direct])
0:00:00 DEB - argument: threads=2 (num threads)
0:00:00 DEB - argument: write_threads=1 (number of threads to use when writing temp features)
0:00:00 DEB - argument: process_threads=2 (number of threads to use when processing input features)
0:00:00 DEB - argument: bounds=Env[-74.07 : -17.84, 21.34 : 43.55] (bounds)
0:00:00 DEB - argument: polygon=null (a .poly file that limits output to tiles intersecting the shape)
0:00:00 DEB - argument: minzoom=0 (minimum zoom level)
0:00:00 DEB - argument: maxzoom=14 (maximum zoom level up to 15)
0:00:00 DEB - argument: render_maxzoom=14 (maximum rendering zoom level up to 15)
0:00:00 DEB - argument: feature_read_threads=1 (number of threads to use when reading features at tile write time)
0:00:00 DEB - argument: loginterval=10 seconds (time between logs)
0:00:00 DEB - argument: skip_mbtiles_index_creation=false (skip adding index to mbtiles file)
0:00:00 DEB - argument: optimize_db=false (Vacuum analyze mbtiles after writing)
0:00:00 DEB - argument: emit_tiles_in_order=true (emit tiles in index order)
0:00:00 DEB - argument: force=false (overwriting output file and ignore disk/RAM warnings)
0:00:00 DEB - argument: gzip_temp=false (gzip temporary feature storage (uses more CPU, but less disk space))
0:00:00 DEB - argument: mmap_temp=true (use memory-mapped IO for temp feature files)
0:00:00 DEB - argument: sort_max_readers=6 (maximum number of concurrent read threads to use when sorting chunks)
0:00:00 DEB - argument: sort_max_writers=6 (maximum number of concurrent write threads to use when sorting chunks)
0:00:00 DEB - argument: nodemap_type=sparsearray (type of node location map, one of [noop, sortedtable, sparsearray, array])
0:00:00 DEB - argument: nodemap_storage=mmap (storage for node location map, one of [ram, mmap, direct])
0:00:00 DEB - argument: nodemap_madvise=true (use linux madvise(random) for node locations)
0:00:00 DEB - argument: multipolygon_geometry_storage=mmap (storage for multipolygon geometries, one of [ram, mmap, direct])
0:00:00 DEB - argument: multipolygon_geometry_madvise=true (use linux madvise(random) for temporary multipolygon geometry storage)
0:00:00 DEB - argument: http_user_agent=Planetiler downloader (https://github.com/onthegomap/planetiler) (User-Agent header to set when downloading files over HTTP)
0:00:00 DEB - argument: http_timeout=30 seconds (Timeout to use when downloading files over HTTP)
0:00:00 DEB - argument: http_retries=1 (Retries to use when downloading files over HTTP)
0:00:00 DEB - argument: download_chunk_size_mb=100 (Size of file chunks to download in parallel in megabytes)
0:00:00 DEB - argument: download_threads=1 (Number of parallel threads to use when downloading each file)
0:00:00 DEB - argument: min_feature_size_at_max_zoom=0.0625 (Default value for the minimum size in tile pixels of features to emit at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: min_feature_size=1.0 (Default value for the minimum size in tile pixels of features to emit below the maximum zoom level)
0:00:00 DEB - argument: simplify_tolerance_at_max_zoom=0.0625 (Default value for the tile pixel tolerance to use when simplifying features at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: simplify_tolerance=0.1 (Default value for the tile pixel tolerance to use when simplifying features below the maximum zoom level)
0:00:00 DEB - argument: osm_lazy_reads=true (Read OSM blocks from disk in worker threads)
0:00:00 DEB - argument: compact_db=true (Reduce the DB size by separating and deduping the tile data)
0:00:00 DEB - argument: skip_filled_tiles=false (Skip writing tiles containing only polygon fills to the output)
0:00:00 DEB - argument: tile_warning_size_mb=1.0 (Maximum size in megabytes of a tile to emit a warning about)
0:00:00 DEB - argument: tmpdir=data/tmp (temp directory)
0:00:00 DEB - argument: only_download=false (download source data then exit)
0:00:00 DEB - argument: download=false (download sources)
0:00:00 DEB - argument: temp_nodes=data/tmp/node.db (temp node db location)
0:00:00 DEB - argument: temp_multipolygons=data/tmp/multipolygon.db (temp multipolygon db location)
0:00:00 DEB - argument: temp_features=data/tmp/feature.db (temp feature db location)
0:00:00 DEB - argument: osm_parse_node_bounds=false (parse bounds from OSM nodes instead of header)
0:00:00 DEB - argument: only_fetch_wikidata=false (fetch wikidata translations then quit)
0:00:00 DEB - argument: fetch_wikidata=false (fetch wikidata translations then continue)
0:00:00 DEB - argument: use_wikidata=true (use wikidata translations)
0:00:00 DEB - argument: wikidata_cache=data/sources/wikidata_names.json (wikidata cache file)
0:00:00 DEB - argument: lake_centerlines_path=data/sources/lake_centerline.shp.zip (lake_centerlines shapefile path)
0:00:00 DEB - argument: free_lake_centerlines_after_read=false (delete lake_centerlines input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: water_polygons_path=data/sources/water-polygons-split-3857.zip (water_polygons shapefile path)
0:00:00 DEB - argument: free_water_polygons_after_read=false (delete water_polygons input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: natural_earth_path=data/sources/natural_earth_vector.sqlite.zip (natural_earth sqlite db path)
0:00:00 DEB - argument: free_natural_earth_after_read=false (delete natural_earth input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: osm_path=data/sources/rhode_island.osm.pbf (osm OSM input file path)
0:00:00 DEB - argument: free_osm_after_read=false (delete osm input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: mbtiles=data/out.mbtiles (mbtiles output file)
0:00:00 DEB - argument: version=false (show version then exit)
0:00:00 INF - Planetiler build git hash: 293ab4a837c253b822fccb2e27ccc1db1248ca4f
0:00:00 INF - Planetiler build version: 0.6-SNAPSHOT
0:00:00 INF - Planetiler build timestamp: 2022-11-26T12:00:04.742Z
0:00:00 DEB - argument: transliterate=true (attempt to transliterate latin names)
0:00:00 DEB - argument: languages=am,ar,az,be,bg,br,bs,ca,co,cs,cy,da,de,el,en,eo,es,et,eu,fi,fr,fy,ga,gd,he,hi,hr,hu,hy,id,is,it,ja,ja_kana,ja_rm,ja-Latn,ja-Hira,ka,kk,kn,ko,ko-Latn,ku,la,lb,lt,lv,mk,mt,ml,nl,no,oc,pl,pt,rm,ro,ru,sk,sl,sq,sr,sr-Latn,sv,ta,te,th,tr,uk,zh (languages to use)
0:00:00 DEB - argument: only_layers= (Include only certain layers)
0:00:00 DEB - argument: exclude_layers= (Exclude certain layers)
0:00:00 DEB - argument: boundary_country_names=true (boundary layer: add left/right codes of neighboring countries)
0:00:00 DEB - argument: transportation_z13_paths=false (transportation(_name) layer: show all paths on z13)
0:00:00 DEB - argument: building_merge_z13=true (building layer: merge nearby buildings at z13)
0:00:00 DEB - argument: transportation_name_brunnel=false (transportation_name layer: set to false to omit brunnel and help merge long highways)
0:00:00 DEB - argument: transportation_name_size_for_shield=false (transportation_name layer: allow road names on shorter segments (ie. they will have a shield))
0:00:00 DEB - argument: transportation_name_limit_merge=false (transportation_name layer: limit merge so we don't combine different relations to help merge long highways)
0:00:00 DEB - argument: transportation_name_minor_refs=false (transportation_name layer: include name and refs from minor road networks if not present on a way)
0:00:00 DEB - argument: mbtiles_name=OpenMapTiles ('name' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org ('description' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a> ('attribution' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_version=3.13.1 ('version' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_type=baselayer ('type' attribute for mbtiles metadata)
0:00:00 DEB - argument: help=false (show arguments then exit)
0:00:00 INF - Building OpenMapTilesProfile profile into data/out.mbtiles in these phases:
0:00:00 INF -   lake_centerlines: Process features in data/sources/lake_centerline.shp.zip
0:00:00 INF -   water_polygons: Process features in data/sources/water-polygons-split-3857.zip
0:00:00 INF -   natural_earth: Process features in data/sources/natural_earth_vector.sqlite.zip
0:00:00 INF -   osm_pass1: Pre-process OpenStreetMap input (store node locations then relation members)
0:00:00 INF -   osm_pass2: Process OpenStreetMap nodes, ways, then relations
0:00:00 INF -   sort: Sort rendered features by tile ID
0:00:00 INF -   mbtiles: Encode each tile and write to data/out.mbtiles
0:00:00 INF - no wikidata translations found, run with --fetch-wikidata to download
0:00:00 DEB - ✓ 196M storage on / (/dev/root) requested for read phase disk, 30G available
0:00:00 DEB -  - 44M used for temporary node location cache
0:00:00 DEB -  - 6.6M used for temporary multipolygon geometry cache
0:00:00 DEB -  - 145M used for temporary feature storage
0:00:00 DEB - ✓ 218M storage on / (/dev/root) requested for write phase disk, 30G available
0:00:00 DEB -  - 145M used for temporary feature storage
0:00:00 DEB -  - 72M used for mbtiles output
0:00:00 DEB - ✓ 313M JVM heap requested for read phase, 4.2G available
0:00:00 DEB -  - 300M used for sparsearray node location in-memory index
0:00:00 DEB -  - 13M used for temporary profile storage
0:00:00 DEB - ✓ 50M storage on / (/dev/root) requested for read phase, 30G available
0:00:00 DEB -  - 44M used for sparsearray node location cache
0:00:00 DEB -  - 6.6M used for multipolygon way geometries
0:00:00 DEB - ✓ 50M temporary files and 2.9G of free memory for OS to cache them
0:00:00 INF - Using merge sort feature map, chunk size=1431mb max workers=2
0:00:02 INF - dataFileCache open start
0:00:02 INF [lake_centerlines] - 
0:00:02 INF [lake_centerlines] - Starting...
0:00:04 INF [lake_centerlines] -  read: [  59k 100%  26k/s ] write: [    0    0/s ] 0    
    cpus: 1.7 gc:  3% heap: 163M/4.2G direct: 237k postGC: 76M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:04 INF [lake_centerlines] - Finished in 2s cpu:4s avg:1.7
0:00:04 INF [lake_centerlines] -   read     1x(75% 2s)
0:00:04 INF [lake_centerlines] -   process  2x(11% 0.3s wait:2s)
0:00:04 INF [lake_centerlines] -   write    1x(0% 0s wait:2s)
0:00:04 INF [water_polygons] - 
0:00:04 INF [water_polygons] - Starting...
0:00:15 INF [water_polygons] -  read: [ 1.8k  13%  183/s ] write: [  40k 3.9k/s ] 1.4G 
    cpus: 1.9 gc: 13% heap: 874M/4.2G direct: 51M postGC: 913M
    read(56%) ->    (0/1k) -> process(38% 15%) -> (1.4k/53k) -> write( 0%)
0:00:25 INF [water_polygons] -  read: [ 4.2k  29%  235/s ] write: [ 229k  18k/s ] 1.4G 
    cpus: 1.9 gc:  9% heap: 1.7G/4.2G direct: 51M postGC: 1.5G
    read(56%) ->    (0/1k) -> process(29% 33%) -> (1.3k/53k) -> write( 0%)
0:00:33 INF [water_polygons] -  read: [  14k 100% 1.2k/s ] write: [ 4.3M 514k/s ] 186M 
    cpus: 1.5 gc:  6% heap: 2.4G/4.2G direct: 51M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:33 INF [water_polygons] - Finished in 28s cpu:51s gc:3s avg:1.8
0:00:33 INF [water_polygons] -   read     1x(58% 16s wait:3s)
0:00:33 INF [water_polygons] -   process  2x(28% 8s wait:13s)
0:00:33 INF [water_polygons] -   write    1x(2% 0.7s wait:27s)
0:00:33 INF [natural_earth] - unzipping /home/runner/work/planetiler/planetiler/data/sources/natural_earth_vector.sqlite.zip to data/tmp/natearth.sqlite
0:00:41 INF [natural_earth] - 
0:00:41 INF [natural_earth] - Starting...
0:00:52 INF [natural_earth] -  read: [ 349k 100%  37k/s ] write: [  181   19/s ] 186M 
    cpus: 1.5 gc:  0% heap: 1.9G/4.2G direct: 51M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:52 INF [natural_earth] - Finished in 11s cpu:15s avg:1.4
0:00:52 INF [natural_earth] -   read     1x(79% 9s sys:1s done:2s)
0:00:52 INF [natural_earth] -   process  2x(13% 1s wait:9s done:2s)
0:00:52 INF [natural_earth] -   write    1x(0% 0s wait:9s done:2s)
0:00:53 INF [osm_pass1] - 
0:00:53 INF [osm_pass1] - Starting...
0:00:55 INF [osm_pass1:process] - Finished nodes: 4,624,500 (1.6M/s) in 3s cpu:5s avg:1.7
0:00:56 INF [osm_pass1:process] - Finished ways: 336,810 (405k/s) in 0.8s cpu:2s avg:1.9
0:00:56 INF [osm_pass1:process] - Finished relations: 7,926 (86k/s) in 0.1s cpu:0.2s avg:2
0:00:56 INF [osm_pass1] -  nodes: [ 4.6M 1.2M/s ] 428M  ways: [ 336k  87k/s ] rels: [ 7.9k   2k/s ] blocks: [  623  162/s ]
    cpus: 1.7 gc:  1% heap: 985M/4.2G direct: 51M postGC: 865M hppc: 465k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:56 DEB [osm_pass1] - Processed 623 blocks:
0:00:56 DEB [osm_pass1] -   nodes: 4,624,500 (1.6M/s) in 3s cpu:5s avg:1.7
0:00:56 DEB [osm_pass1] -   ways: 336,810 (405k/s) in 0.8s cpu:2s avg:1.9
0:00:56 DEB [osm_pass1] -   relations: 7,926 (86k/s) in 0.1s cpu:0.2s avg:2
0:00:56 INF [osm_pass1] - Finished in 4s cpu:7s avg:1.7
0:00:56 INF [osm_pass1] -   read     1x(2% 0.1s wait:3s)
0:00:56 INF [osm_pass1] -   parse    1x(66% 3s)
0:00:56 INF [osm_pass1] -   process  1x(41% 2s wait:2s)
0:00:56 INF [osm_pass2] - 
0:00:56 INF [osm_pass2] - Starting...
0:00:59 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:59 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0s avg:1.9
0:00:59 INF [osm_pass2:process] - Finished nodes: 4,624,500 (1.5M/s) in 3s cpu:6s avg:1.9
0:00:59 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:01:06 INF [osm_pass2] -  nodes: [ 4.6M 100% 462k/s ] 428M  ways: [ 135k  40%  13k/s ] rels: [    0   0%    0/s ] features: [ 4.8M  53k/s ] 1.6G  blocks: [  595  96%   59/s ]
    cpus: 2 gc:  1% heap: 1.7G/4.2G direct: 51M postGC: 881M relInfo: 424k mpGeoms: 649k 
    read( 0%) ->   (11/13) -> process(61% 63%) -> (539/53k) -> write( 2%)
0:01:16 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 428M  ways: [ 317k  94%  18k/s ] rels: [    0   0%    0/s ] features: [ 5.2M  36k/s ] 1.6G  blocks: [  617  99%    2/s ]
    cpus: 2 gc:  1% heap: 1.5G/4.2G direct: 51M postGC: 883M relInfo: 424k mpGeoms: 19M  
    read( -%) ->    (4/13) -> process(79% 78%) -> (1.1k/53k) -> write( 1%)
0:01:17 INF [osm_pass2:process] - Finished ways: 336,810 (19k/s) in 18s cpu:35s avg:2
0:01:26 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 428M  ways: [ 336k 100% 1.9k/s ] rels: [ 6.6k  84%  663/s ] features: [ 5.2M 7.9k/s ] 1.6G  blocks: [  622 100%   <1/s ]
    cpus: 2 gc:  1% heap: 2.5G/4.2G direct: 51M postGC: 885M relInfo: 424k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process(80% 78%) -> (655/53k) -> write( 0%)
0:01:27 INF [osm_pass2:process] - Finished relations: 7,926 (800/s) in 10s cpu:19s avg:2
0:01:29 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 428M  ways: [ 336k 100%    0/s ] rels: [ 7.9k 100%  417/s ] features: [ 5.3M 2.5k/s ] 271M  blocks: [  623 100%   <1/s ]
    cpus: 2 gc:  1% heap: 1G/4.2G direct: 51M postGC: 877M relInfo: 424k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:29 DEB [osm_pass2] - Processed 623 blocks:
0:01:29 DEB [osm_pass2] -   nodes: 4,624,500 (1.5M/s) in 3s cpu:6s avg:1.9
0:01:29 DEB [osm_pass2] -   ways: 336,810 (19k/s) in 18s cpu:35s avg:2
0:01:29 DEB [osm_pass2] -   relations: 7,926 (800/s) in 10s cpu:19s avg:2
0:01:29 INF [osm_pass2] - Finished in 33s cpu:1m5s avg:2
0:01:29 INF [osm_pass2] -   read     1x(0% 0s wait:17s done:16s)
0:01:29 INF [osm_pass2] -   process  2x(74% 25s)
0:01:29 INF [osm_pass2] -   write    1x(1% 0.4s wait:33s)
0:01:29 INF [boundaries] - 
0:01:29 INF [boundaries] - Starting...
0:01:29 INF [boundaries] - Creating polygons for 1 boundaries
0:01:29 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:01:29 INF [boundaries] - Finished creating 0 country polygons
0:01:30 INF [boundaries] - Finished in 0s cpu:0.1s avg:1.6
0:01:30 INF - Deleting node.db to make room for output file
0:01:30 INF [sort] - 
0:01:30 INF [sort] - Starting...
0:01:30 INF [sort] - Grouped 8 chunks into 1
0:01:32 INF [sort] -  chunks: [   1 /   1 100% ] 271M 
    cpus: 1.3 gc:  0% heap: 1.5G/4.2G direct: 51M postGC: 877M
    ->     (0/3) -> worker( -%)
0:01:32 INF [sort] - Finished in 2s cpu:3s avg:1.3
0:01:32 INF [sort] -   worker  1x(77% 2s)
0:01:32 INF - read:0s write:0s sort:1s
0:01:32 INF [mbtiles] - 
0:01:32 INF [mbtiles] - Starting...
0:01:32 DEB [mbtiles:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:32 DEB [mbtiles:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:32 DEB [mbtiles:write] - Execute mbtiles: create table tiles_shallow (
  zoom_level integer,
  tile_column integer,
  tile_row integer,
  tile_data_id integer

  , primary key(zoom_level,tile_column,tile_row)

) without rowid

0:01:32 DEB [mbtiles:write] - Execute mbtiles: create table tiles_data (
  tile_data_id integer primary key,
  tile_data blob
)

0:01:32 DEB [mbtiles:write] - Execute mbtiles: create view tiles AS
select
  tiles_shallow.zoom_level as zoom_level,
  tiles_shallow.tile_column as tile_column,
  tiles_shallow.tile_row as tile_row,
  tiles_data.tile_data as tile_data
from tiles_shallow
join tiles_data on tiles_shallow.tile_data_id = tiles_data.tile_data_id

0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: format=pbf
0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>
0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: version=3.13.1
0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: type=baselayer
0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: minzoom=0
0:01:32 DEB [mbtiles:write] - Set mbtiles metadata: maxzoom=14
0:01:33 DEB [mbtiles:write] - Set mbtiles metadata: json={"vector_layers":[{"id":"aerodrome_label","fields":{"name_int":"String","iata":"String","ele_ft":"Number","name_de":"String","name":"String","icao":"String","name:en":"String","class":"String","ele":"Number","name_en":"String","name:latin":"String"},"minzoom":10,"maxzoom":14},{"id":"aeroway","fields":{"ref":"String","class":"String"},"minzoom":10,"maxzoom":14},{"id":"boundary","fields":{"disputed":"Number","admin_level":"Number","maritime":"Number"},"minzoom":0,"maxzoom":14},{"id":"building","fields":{"colour":"String","render_height":"Number","render_min_height":"Number","hide_3d":"Boolean"},"minzoom":13,"maxzoom":14},{"id":"housenumber","fields":{"housenumber":"String"},"minzoom":14,"maxzoom":14},{"id":"landcover","fields":{"subclass":"String","class":"String","_numpoints":"Number"},"minzoom":7,"maxzoom":14},{"id":"landuse","fields":{"class":"String"},"minzoom":4,"maxzoom":14},{"id":"mountain_peak","fields":{"name_int":"String","customary_ft":"Number","ele_ft":"Number","name_de":"Str... 2302 more characters
0:01:34 INF [mbtiles:write] - Starting z0
0:01:34 INF [mbtiles:write] - Finished z0 in 0s cpu:0s avg:0, now starting z1
0:01:34 INF [mbtiles:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:01:34 INF [mbtiles:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:01:34 INF [mbtiles:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:01:34 INF [mbtiles:write] - Finished z4 in 0s cpu:0s avg:3.4, now starting z5
0:01:34 INF [mbtiles:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:01:34 INF [mbtiles:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:01:35 INF [mbtiles:write] - Finished z7 in 0.4s cpu:0.8s avg:2, now starting z8
0:01:36 INF [mbtiles:write] - Finished z8 in 1s cpu:3s avg:2, now starting z9
0:01:37 INF [mbtiles:write] - Finished z9 in 1s cpu:2s avg:2, now starting z10
0:01:38 INF [mbtiles:write] - Finished z10 in 0.8s cpu:2s avg:2, now starting z11
0:01:40 INF [mbtiles:write] - Finished z11 in 2s cpu:3s avg:2, now starting z12
0:01:42 INF [mbtiles] -  features: [ 468k   9%  44k/s ] 271M  tiles: [ 239k  22k/s ] 12M  
    cpus: 2 gc:  3% heap: 2.2G/4.2G direct: 51M postGC: 1.4G
    read( 2%) -> (214/217) -> encode(59% 61%) -> (215/216) -> write( 4%)
    last tile: 12/1782/1760 (z12 90%) https://www.openstreetmap.org/#map=12/24.52713/-23.37891
0:01:43 INF [mbtiles:write] - Finished z12 in 3s cpu:6s avg:2, now starting z13
0:01:52 INF [mbtiles] -  features: [ 837k  16%  36k/s ] 271M  tiles: [ 294k 5.4k/s ] 13M  
    cpus: 2 gc:  3% heap: 2G/4.2G direct: 51M postGC: 1.4G
    read( 0%) -> (214/217) -> encode(63% 61%) -> (215/216) -> write( 1%)
    last tile: 13/2475/3052 (z13 5%) https://www.openstreetmap.org/#map=13/41.64008/-71.23535
0:01:55 INF [mbtiles:write] - Finished z13 in 12s cpu:24s avg:2, now starting z14
0:02:00 DEB [mbtiles:write] - Shallow tiles written: 4,115,454
0:02:00 DEB [mbtiles:write] - Tile data written: 21,293 (99% omitted)
0:02:00 DEB [mbtiles:write] - Unique tile hashes: 11,274
0:02:00 INF [mbtiles:write] - Finished z14 in 6s cpu:11s avg:1.9
0:02:00 INF [mbtiles] -  features: [ 5.3M 100% 553k/s ] 271M  tiles: [ 4.1M 473k/s ] 108M 
    cpus: 1.9 gc:  2% heap: 2.8G/4.2G direct: 51M postGC: 1.4G
    read( -%) ->   (0/217) -> encode( -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 100%) https://www.openstreetmap.org/#map=14/43.56447/-17.84180
0:02:00 DEB [mbtiles] - Tile stats:
0:02:00 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:02:00 DEB [mbtiles] - z1 avg:4k max:4k
0:02:00 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:02:00 DEB [mbtiles] - z3 avg:4k max:6.4k
0:02:00 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:02:00 DEB [mbtiles] - z5 avg:1.4k max:8.2k
0:02:00 DEB [mbtiles] - z6 avg:980 max:22k
0:02:00 DEB [mbtiles] - z7 avg:754 max:55k
0:02:00 DEB [mbtiles] - z8 avg:396 max:112k
0:02:00 DEB [mbtiles] - z9 avg:270 max:278k
0:02:00 DEB [mbtiles] - z10 avg:154 max:233k
0:02:00 DEB [mbtiles] - z11 avg:103 max:132k
0:02:00 DEB [mbtiles] - z12 avg:83 max:119k
0:02:00 DEB [mbtiles] - z13 avg:71 max:109k
0:02:00 DEB [mbtiles] - z14 avg:67 max:282k
0:02:00 DEB [mbtiles] - all avg:70 max:0
0:02:00 DEB [mbtiles] -  # features: 5,304,964
0:02:00 DEB [mbtiles] -     # tiles: 4,115,454
0:02:00 INF [mbtiles] - Finished in 29s cpu:56s gc:1s avg:2
0:02:00 INF [mbtiles] -   read    1x(2% 0.7s wait:27s)
0:02:00 INF [mbtiles] -   encode  2x(59% 17s)
0:02:01 INF [mbtiles] -   write   1x(15% 4s wait:22s)
0:02:01 INF - Finished in 2m1s cpu:3m33s gc:4s avg:1.8
0:02:01 INF - FINISHED!
0:02:01 INF - 
0:02:01 INF - ----------------------------------------
0:02:01 INF - 	overall          2m1s cpu:3m33s gc:4s avg:1.8
0:02:01 INF - 	lake_centerlines 2s cpu:4s avg:1.7
0:02:01 INF - 	  read     1x(75% 2s)
0:02:01 INF - 	  process  2x(11% 0.3s wait:2s)
0:02:01 INF - 	  write    1x(0% 0s wait:2s)
0:02:01 INF - 	water_polygons   28s cpu:51s gc:3s avg:1.8
0:02:01 INF - 	  read     1x(58% 16s wait:3s)
0:02:01 INF - 	  process  2x(28% 8s wait:13s)
0:02:01 INF - 	  write    1x(2% 0.7s wait:27s)
0:02:01 INF - 	natural_earth    11s cpu:15s avg:1.4
0:02:01 INF - 	  read     1x(79% 9s sys:1s done:2s)
0:02:01 INF - 	  process  2x(13% 1s wait:9s done:2s)
0:02:01 INF - 	  write    1x(0% 0s wait:9s done:2s)
0:02:01 INF - 	osm_pass1        4s cpu:7s avg:1.7
0:02:01 INF - 	  read     1x(2% 0.1s wait:3s)
0:02:01 INF - 	  parse    1x(66% 3s)
0:02:01 INF - 	  process  1x(41% 2s wait:2s)
0:02:01 INF - 	osm_pass2        33s cpu:1m5s avg:2
0:02:01 INF - 	  read     1x(0% 0s wait:17s done:16s)
0:02:01 INF - 	  process  2x(74% 25s)
0:02:01 INF - 	  write    1x(1% 0.4s wait:33s)
0:02:01 INF - 	boundaries       0s cpu:0.1s avg:1.6
0:02:01 INF - 	sort             2s cpu:3s avg:1.3
0:02:01 INF - 	  worker  1x(77% 2s)
0:02:01 INF - 	mbtiles          29s cpu:56s gc:1s avg:2
0:02:01 INF - 	  read    1x(2% 0.7s wait:27s)
0:02:01 INF - 	  encode  2x(59% 17s)
0:02:01 INF - 	  write   1x(15% 4s wait:22s)
0:02:01 INF - ----------------------------------------
0:02:01 INF - 	features	271MB
0:02:01 INF - 	mbtiles	108MB
-rw-r--r-- 1 runner docker 62M Nov 26 12:02 run.jar

Copy link
Contributor

@msbarry msbarry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for getting this started! Sorry for the delay... a couple of comments and tweaks, let me know what you think.

</goals>
</execution>
</executions>
</plugin>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be useful to print the git hash and build time as well as version. It looks like this approach would give us that: https://jdonkervliet.com/2021/10/22/git-version-in-jar.html - you'd just have to add the buildnumber-maven-plugin, and configure maven-jar-plugin to add the Implementation-Build and Implementation-Timestamp properties. I tried it locally and got:

./mvnw -DskipTests clean package && unzip -p planetiler-dist/target/planetiler-dist-0.6-SNAPSHOT.jar META-INF/MANIFEST.MF
...
Implementation-Title: planetiler-dist
Implementation-Version: 0.6-SNAPSHOT
Implementation-Vendor-Id: com.onthegomap.planetiler
Implementation-Build: bd9f3ab22258da4eb9e6a5b0cbefd00fb0ff6df9
Implementation-Timestamp: 2022-11-11T11:11:20Z

Then we'd just have to figure out how to get those properties out of MANIFEST.MF.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which POMs did you add the plugin to to get it to add stuff to manifest?

This should allow getting info from manifest https://stackoverflow.com/a/3777116

Copy link
Contributor

@msbarry msbarry Nov 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! That snippet looks like it should do it. I was able to get those in the manifest by adding to the root pom.xml build/plugins section:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>buildnumber-maven-plugin</artifactId>
  <version>3.0.0</version>
  <executions>
    <execution>
      <phase>validate</phase>
      <goals>
        <goal>create</goal>
      </goals>
    </execution>
  </executions>
</plugin>

and also:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <configuration>
    <archive>
      <manifest>
        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
      </manifest>
      <manifestEntries>
        <Implementation-Build>${buildNumber}</Implementation-Build>
        <Implementation-Timestamp>${maven.build.timestamp}</Implementation-Timestamp>
      </manifestEntries>
    </archive>
  </configuration>
</plugin>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. I checked and adding those two plugins makes build add version info to JAR but only to the smaller JAR without dependencies. Fat JAR with dependencies doesn't have that info.

Is that expected?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also how do you run the no-deps file?
I'm running:
$ java -cp planetiler-dist/target/planetiler-dist-0.6-SNAPSHOT.jar com.onthegomap.planetiler.Main --version
and get:
Exception in thread "main" java.lang.NoClassDefFoundError: org/openmaptiles/OpenMapTilesMain

Running the jar with dependencies work but since version is not in manifest it just prints null values.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, this approach looks problematic because the jars get built so many different ways (jib, assembly plugin, regular maven). Here's another approach that appears to work: c10f08d - basically it just builds a resource file in planetiler-core that captures the build info from maven and that goes everywhere the class files go so we don't need to worry about adding it to all the manifests. What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also how do you run the no-deps file

you need to add all of the transitive dependencies to the classpath as well. It gets a little tricky to find them all, something like `java -cp "planetiler-dist/target/planetiler-dist-0.6-SNAPSHOT.jar:planetiler-core/target/planetiler-core-0.6-SNAPSHOT.jar:..." com.onthegomap.planetiler.Main --version

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think?
Looks better than the previous solution :)

@msbarry
Copy link
Contributor

msbarry commented Nov 26, 2022

Fixes #326

@msbarry
Copy link
Contributor

msbarry commented Nov 26, 2022

Looks great, thanks @ttomasz !

@msbarry msbarry closed this Nov 26, 2022
@msbarry msbarry reopened this Nov 26, 2022
@msbarry msbarry merged commit 6a893a4 into onthegomap:main Nov 26, 2022
@sonarcloud
Copy link

sonarcloud bot commented Nov 26, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

72.0% 72.0% Coverage
0.0% 0.0% Duplication

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants