Skip to content

Commit 66744ff

Browse files
committed
Merge branch 'release/0.8.0'
2 parents 9ced1ec + ddf668a commit 66744ff

File tree

462 files changed

+20408
-10753
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

462 files changed

+20408
-10753
lines changed

.circleci/config.yml

Lines changed: 108 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ _defaults: &defaults
55
environment:
66
TERM: dumb
77
docker:
8-
- image: circleci/openjdk:8-jdk
8+
- image: s22s/rasterframes-circleci:latest
99

1010
_setenv: &setenv
1111
name: set CloudRepo credentials
@@ -19,81 +19,111 @@ _delenv: &unsetenv
1919

2020
_restore_cache: &restore_cache
2121
keys:
22-
- v2-dependencies-{{ checksum "build.sbt" }}
23-
- v2-dependencies-
22+
- v3-dependencies-{{ checksum "build.sbt" }}
23+
- v3-dependencies-
2424

2525
_save_cache: &save_cache
26-
key: v2-dependencies--{{ checksum "build.sbt" }}
26+
key: v3-dependencies--{{ checksum "build.sbt" }}
2727
paths:
28+
- ~/.cache/coursier
2829
- ~/.ivy2/cache
2930
- ~/.sbt
30-
- ~/.rf_cache
31+
- ~/.local
3132

3233
jobs:
33-
staticAnalysis:
34+
test:
3435
<<: *defaults
35-
36+
resource_class: large
3637
steps:
3738
- checkout
3839
- run: *setenv
3940
- restore_cache:
4041
<<: *restore_cache
4142

42-
- run: cat /dev/null | sbt dependencyCheck
43-
- run: cat /dev/null | sbt --debug dumpLicenseReport
43+
- run: ulimit -c unlimited -S
44+
- run: cat /dev/null | sbt -batch core/test datasource/test experimental/test pyrasterframes/test
45+
- run:
46+
command: |
47+
mkdir -p /tmp/core_dumps
48+
cp core.* *.hs /tmp/core_dumps 2> /dev/null || true
49+
when: on_fail
4450

45-
- run: *unsetenv
51+
- store_artifacts:
52+
path: /tmp/core_dumps
4653

54+
- run: *unsetenv
4755
- save_cache:
4856
<<: *save_cache
49-
- store_artifacts:
50-
path: datasource/target/scala-2.11/dependency-check-report.html
51-
destination: dependency-check-report-datasource.html
52-
- store_artifacts:
53-
path: experimental/target/scala-2.11/dependency-check-report.html
54-
destination: dependency-check-report-experimental.html
55-
- store_artifacts:
56-
path: core/target/scala-2.11/dependency-check-report.html
57-
destination: dependency-check-report-core.html
58-
- store_artifacts:
59-
path: pyrasterframes/target/scala-2.11/dependency-check-report.html
60-
destination: dependency-check-report-pyrasterframes.html
6157

62-
test:
58+
docs:
6359
<<: *defaults
64-
resource_class: large
60+
resource_class: xlarge
6561
steps:
6662
- checkout
6763
- run: *setenv
64+
6865
- restore_cache:
6966
<<: *restore_cache
7067

71-
- run: sudo apt-get install python-pip pandoc && pip install setuptools # required for pyrasterframes testing
72-
- run: cat /dev/null | sbt test
68+
- run: ulimit -c unlimited -S
69+
- run: pip3 install --quiet --user -r pyrasterframes/src/main/python/requirements.txt
70+
- run:
71+
command: cat /dev/null | sbt makeSite
72+
no_output_timeout: 30m
73+
74+
- run:
75+
command: |
76+
mkdir -p /tmp/core_dumps
77+
cp core.* *.hs /tmp/core_dumps 2> /dev/null || true
78+
when: on_fail
79+
80+
- store_artifacts:
81+
path: /tmp/core_dumps
82+
83+
- store_artifacts:
84+
path: docs/target/site
85+
destination: rf-site
7386

7487
- run: *unsetenv
88+
7589
- save_cache:
7690
<<: *save_cache
7791

78-
publish:
92+
it:
7993
<<: *defaults
80-
resource_class: large
94+
resource_class: xlarge
8195
steps:
8296
- checkout
8397
- run: *setenv
98+
8499
- restore_cache:
85100
<<: *restore_cache
86101

87-
- run: sudo apt-get install python-pip pandoc && pip install setuptools # required for pyrasterframes testing
88-
- run: cat /dev/null | sbt test
89-
- run: cat /dev/null | sbt publish
102+
- run: ulimit -c unlimited -S
103+
- run:
104+
command: cat /dev/null | sbt it:test
105+
no_output_timeout: 30m
106+
107+
- run:
108+
command: |
109+
mkdir -p /tmp/core_dumps
110+
cp core.* *.hs /tmp/core_dumps 2> /dev/null || true
111+
when: on_fail
112+
113+
- store_artifacts:
114+
path: /tmp/core_dumps
90115

91116
- run: *unsetenv
117+
92118
- save_cache:
93119
<<: *save_cache
94120

95-
it:
96-
<<: *defaults
121+
itWithoutGdal:
122+
working_directory: ~/repo
123+
environment:
124+
TERM: dumb
125+
docker:
126+
- image: circleci/openjdk:8-jdk
97127
resource_class: xlarge
98128
steps:
99129
- checkout
@@ -110,6 +140,36 @@ jobs:
110140
- save_cache:
111141
<<: *save_cache
112142

143+
staticAnalysis:
144+
<<: *defaults
145+
146+
steps:
147+
- checkout
148+
- run: *setenv
149+
- restore_cache:
150+
<<: *restore_cache
151+
152+
- run: cat /dev/null | sbt dependencyCheck
153+
- run: cat /dev/null | sbt --debug dumpLicenseReport
154+
155+
- run: *unsetenv
156+
157+
- save_cache:
158+
<<: *save_cache
159+
- store_artifacts:
160+
path: datasource/target/scala-2.11/dependency-check-report.html
161+
destination: dependency-check-report-datasource.html
162+
- store_artifacts:
163+
path: experimental/target/scala-2.11/dependency-check-report.html
164+
destination: dependency-check-report-experimental.html
165+
- store_artifacts:
166+
path: core/target/scala-2.11/dependency-check-report.html
167+
destination: dependency-check-report-core.html
168+
- store_artifacts:
169+
path: pyrasterframes/target/scala-2.11/dependency-check-report.html
170+
destination: dependency-check-report-pyrasterframes.html
171+
172+
113173
workflows:
114174
version: 2
115175
all:
@@ -119,20 +179,29 @@ workflows:
119179
filters:
120180
branches:
121181
only:
122-
- /astraea\/feature\/.*-its/
123-
- publish:
182+
- /feature\/.*-its/
183+
- itWithoutGdal:
124184
filters:
125185
branches:
126186
only:
127-
- astraea/develop
128-
nightlyReleaseAstraea:
187+
- /feature\/.*-its/
188+
- docs:
189+
filters:
190+
branches:
191+
only:
192+
- /feature\/.*docs.*/
193+
- /docs\/.*/
194+
195+
nightly:
129196
triggers:
130197
- schedule:
131198
cron: "0 8 * * *"
132199
filters:
133200
branches:
134201
only:
135-
- astraea/develop
202+
- develop
136203
jobs:
137204
- it
138-
- staticAnalysis
205+
- itWithoutGdal
206+
- docs
207+
# - staticAnalysis

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,5 @@ metastore_db
2525
tour/jars
2626
tour/*.tiff
2727
scoverage-report*
28+
29+
zz-*

.scalafmt.conf

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
maxColumn = 138
22
continuationIndent.defnSite = 2
3-
continuationIndent.callSite = 2
4-
continuationIndent.extendSite = 2
53
binPack.parentConstructors = true
64
binPack.literalArgumentLists = false
7-
binPack.unsafeCallSite = true
85
newlines.penalizeSingleSelectMultiArgList = false
96
newlines.sometimesBeforeColonInMethodReturnType = false
107
align.openParenCallSite = false
@@ -16,5 +13,4 @@ rewriteTokens {
1613
}
1714
optIn.selfAnnotationNewline = false
1815
optIn.breakChainOnFirstMethodDot = true
19-
optIn.configStyleArguments = false
20-
importSelectors = BinPack
16+
importSelectors = BinPack

.travis.yml

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,38 @@
11
sudo: false
2+
dist: xenial
3+
language: python
24

3-
language: scala
5+
python:
6+
- "3.7"
47

58
cache:
69
directories:
710
- $HOME/.ivy2/cache
811
- $HOME/.sbt/boot
912
- $HOME/.rf_cache
13+
- $HOME/.cache/coursier
1014

1115
scala:
1216
- 2.11.11
1317

14-
jdk:
15-
- oraclejdk8
18+
env:
19+
- COURSIER_VERBOSITY=-1 JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
1620

1721
addons:
1822
apt:
1923
packages:
24+
- openjdk-8-jdk
2025
- pandoc
21-
- python-pip
2226

2327
install:
24-
- pip install setuptools
25-
26-
sbt_args: -no-colors
28+
- pip install rasterio shapely pandas numpy pweave
29+
- wget -O - https://piccolo.link/sbt-1.2.8.tgz | tar xzf -
2730

2831
script:
29-
- sbt test
30-
- sbt it:test
32+
- sbt/bin/sbt -java-home $JAVA_HOME -batch test
33+
- sbt/bin/sbt -java-home $JAVA_HOME -batch it:test
3134
# - sbt -Dfile.encoding=UTF8 clean coverage test coverageReport
3235
# Tricks to avoid unnecessary cache updates
3336
- find $HOME/.sbt -name "*.lock" | xargs rm
3437
- find $HOME/.ivy2 -name "ivydata-*.properties" | xargs rm
3538

36-
#after_success:
37-
# - bash <(curl -s https://codecov.io/bash)

CONTRIBUTING.md

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,10 @@
11
# Contributing to RasterFrames
22

3-
Thanks for your interest in this project.
3+
Community contributions are always welcome. To get started, please review this document,
4+
the [code of conduct](https://github.com/locationtech/rasterframes/blob/develop/CODE_OF_CONDUCT.md), and reach out to
5+
us on [gitter](https://gitter.im/locationtech/rasterframes) so the community can help you get started!
46

5-
## Project Description
6-
7-
LocationTech RasterFrames brings the power of Spark DataFrames to geospatial
8-
raster data, empowered by the map algebra and tile layer operations of
9-
GeoTrellis. The underlying purpose of RasterFrames is to allow data scientists
10-
and software developers to process and analyze geospatial-temporal raster data
11-
with the same flexibility and ease as any other Spark Catalyst data type. At its
12-
core is a user-defined type (UDT) called TileUDT, which encodes a GeoTrellis
13-
Tile in a form the Spark Catalyst engine can process. Furthermore, we extend the
14-
definition of a DataFrame to encompass some additional invariants, allowing for
15-
geospatial operations within and between RasterFrames to occur, while still
16-
maintaining necessary geo-referencing constructs.
7+
The official home of RasterFrames under the Eclipse Foundation may be found here:
178

189
* https://projects.eclipse.org/projects/locationtech.rasterframes
1910

@@ -58,19 +49,10 @@ commands are as follows:
5849
* Build documentation: `sbt makeSite`
5950
* Spark shell with RasterFrames initialized: `sbt console`
6051

61-
62-
## Contribution Process
63-
64-
RasterFrames uses GitHub pull requests (PRs) for accepting contributions.
65-
Please fork the repository, create a branch, and submit a PR based off the `master` branch.
66-
During the PR review process comments may be attached. Please look out for comments
67-
and respond as necessary.
68-
69-
7052
## Contact
7153

7254
Help, questions and community dialog are supported via Gitter:
7355

74-
* https://gitter.im/s22s/raster-frames
56+
* https://gitter.im/locationtech/rasterframes
7557

7658
Commercial support is available by writing to [email protected]

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
This software is licensed under the Apache 2 license, quoted below.
22

3-
Copyright 2017-2018 Astraea, Inc.
3+
Copyright 2017-2019 Astraea, Inc.
44

55
Licensed under the Apache License, Version 2.0 (the "License"); you may not
66
use this file except in compliance with the License. You may obtain a copy of

0 commit comments

Comments
 (0)