Skip to content

Commit

Permalink
Merge branch 'release/0.8.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
metasim committed Aug 16, 2019
2 parents 9ced1ec + ddf668a commit 66744ff
Show file tree
Hide file tree
Showing 462 changed files with 20,408 additions and 10,753 deletions.
147 changes: 108 additions & 39 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ _defaults: &defaults
environment:
TERM: dumb
docker:
- image: circleci/openjdk:8-jdk
- image: s22s/rasterframes-circleci:latest

_setenv: &setenv
name: set CloudRepo credentials
Expand All @@ -19,81 +19,111 @@ _delenv: &unsetenv

_restore_cache: &restore_cache
keys:
- v2-dependencies-{{ checksum "build.sbt" }}
- v2-dependencies-
- v3-dependencies-{{ checksum "build.sbt" }}
- v3-dependencies-

_save_cache: &save_cache
key: v2-dependencies--{{ checksum "build.sbt" }}
key: v3-dependencies--{{ checksum "build.sbt" }}
paths:
- ~/.cache/coursier
- ~/.ivy2/cache
- ~/.sbt
- ~/.rf_cache
- ~/.local

jobs:
staticAnalysis:
test:
<<: *defaults

resource_class: large
steps:
- checkout
- run: *setenv
- restore_cache:
<<: *restore_cache

- run: cat /dev/null | sbt dependencyCheck
- run: cat /dev/null | sbt --debug dumpLicenseReport
- run: ulimit -c unlimited -S
- run: cat /dev/null | sbt -batch core/test datasource/test experimental/test pyrasterframes/test
- run:
command: |
mkdir -p /tmp/core_dumps
cp core.* *.hs /tmp/core_dumps 2> /dev/null || true
when: on_fail

- run: *unsetenv
- store_artifacts:
path: /tmp/core_dumps

- run: *unsetenv
- save_cache:
<<: *save_cache
- store_artifacts:
path: datasource/target/scala-2.11/dependency-check-report.html
destination: dependency-check-report-datasource.html
- store_artifacts:
path: experimental/target/scala-2.11/dependency-check-report.html
destination: dependency-check-report-experimental.html
- store_artifacts:
path: core/target/scala-2.11/dependency-check-report.html
destination: dependency-check-report-core.html
- store_artifacts:
path: pyrasterframes/target/scala-2.11/dependency-check-report.html
destination: dependency-check-report-pyrasterframes.html

test:
docs:
<<: *defaults
resource_class: large
resource_class: xlarge
steps:
- checkout
- run: *setenv

- restore_cache:
<<: *restore_cache

- run: sudo apt-get install python-pip pandoc && pip install setuptools # required for pyrasterframes testing
- run: cat /dev/null | sbt test
- run: ulimit -c unlimited -S
- run: pip3 install --quiet --user -r pyrasterframes/src/main/python/requirements.txt
- run:
command: cat /dev/null | sbt makeSite
no_output_timeout: 30m

- run:
command: |
mkdir -p /tmp/core_dumps
cp core.* *.hs /tmp/core_dumps 2> /dev/null || true
when: on_fail

- store_artifacts:
path: /tmp/core_dumps

- store_artifacts:
path: docs/target/site
destination: rf-site

- run: *unsetenv

- save_cache:
<<: *save_cache

publish:
it:
<<: *defaults
resource_class: large
resource_class: xlarge
steps:
- checkout
- run: *setenv

- restore_cache:
<<: *restore_cache

- run: sudo apt-get install python-pip pandoc && pip install setuptools # required for pyrasterframes testing
- run: cat /dev/null | sbt test
- run: cat /dev/null | sbt publish
- run: ulimit -c unlimited -S
- run:
command: cat /dev/null | sbt it:test
no_output_timeout: 30m

- run:
command: |
mkdir -p /tmp/core_dumps
cp core.* *.hs /tmp/core_dumps 2> /dev/null || true
when: on_fail

- store_artifacts:
path: /tmp/core_dumps

- run: *unsetenv

- save_cache:
<<: *save_cache

it:
<<: *defaults
itWithoutGdal:
working_directory: ~/repo
environment:
TERM: dumb
docker:
- image: circleci/openjdk:8-jdk
resource_class: xlarge
steps:
- checkout
Expand All @@ -110,6 +140,36 @@ jobs:
- save_cache:
<<: *save_cache

staticAnalysis:
<<: *defaults

steps:
- checkout
- run: *setenv
- restore_cache:
<<: *restore_cache

- run: cat /dev/null | sbt dependencyCheck
- run: cat /dev/null | sbt --debug dumpLicenseReport

- run: *unsetenv

- save_cache:
<<: *save_cache
- store_artifacts:
path: datasource/target/scala-2.11/dependency-check-report.html
destination: dependency-check-report-datasource.html
- store_artifacts:
path: experimental/target/scala-2.11/dependency-check-report.html
destination: dependency-check-report-experimental.html
- store_artifacts:
path: core/target/scala-2.11/dependency-check-report.html
destination: dependency-check-report-core.html
- store_artifacts:
path: pyrasterframes/target/scala-2.11/dependency-check-report.html
destination: dependency-check-report-pyrasterframes.html


workflows:
version: 2
all:
Expand All @@ -119,20 +179,29 @@ workflows:
filters:
branches:
only:
- /astraea\/feature\/.*-its/
- publish:
- /feature\/.*-its/
- itWithoutGdal:
filters:
branches:
only:
- astraea/develop
nightlyReleaseAstraea:
- /feature\/.*-its/
- docs:
filters:
branches:
only:
- /feature\/.*docs.*/
- /docs\/.*/

nightly:
triggers:
- schedule:
cron: "0 8 * * *"
filters:
branches:
only:
- astraea/develop
- develop
jobs:
- it
- staticAnalysis
- itWithoutGdal
- docs
# - staticAnalysis
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,5 @@ metastore_db
tour/jars
tour/*.tiff
scoverage-report*

zz-*
6 changes: 1 addition & 5 deletions .scalafmt.conf
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
maxColumn = 138
continuationIndent.defnSite = 2
continuationIndent.callSite = 2
continuationIndent.extendSite = 2
binPack.parentConstructors = true
binPack.literalArgumentLists = false
binPack.unsafeCallSite = true
newlines.penalizeSingleSelectMultiArgList = false
newlines.sometimesBeforeColonInMethodReturnType = false
align.openParenCallSite = false
Expand All @@ -16,5 +13,4 @@ rewriteTokens {
}
optIn.selfAnnotationNewline = false
optIn.breakChainOnFirstMethodDot = true
optIn.configStyleArguments = false
importSelectors = BinPack
importSelectors = BinPack
23 changes: 12 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,38 @@
sudo: false
dist: xenial
language: python

language: scala
python:
- "3.7"

cache:
directories:
- $HOME/.ivy2/cache
- $HOME/.sbt/boot
- $HOME/.rf_cache
- $HOME/.cache/coursier

scala:
- 2.11.11

jdk:
- oraclejdk8
env:
- COURSIER_VERBOSITY=-1 JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

addons:
apt:
packages:
- openjdk-8-jdk
- pandoc
- python-pip

install:
- pip install setuptools

sbt_args: -no-colors
- pip install rasterio shapely pandas numpy pweave
- wget -O - https://piccolo.link/sbt-1.2.8.tgz | tar xzf -

script:
- sbt test
- sbt it:test
- sbt/bin/sbt -java-home $JAVA_HOME -batch test
- sbt/bin/sbt -java-home $JAVA_HOME -batch it:test
# - sbt -Dfile.encoding=UTF8 clean coverage test coverageReport
# Tricks to avoid unnecessary cache updates
- find $HOME/.sbt -name "*.lock" | xargs rm
- find $HOME/.ivy2 -name "ivydata-*.properties" | xargs rm

#after_success:
# - bash <(curl -s https://codecov.io/bash)
28 changes: 5 additions & 23 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
# Contributing to RasterFrames

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

## Project Description

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

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

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


## Contribution Process

RasterFrames uses GitHub pull requests (PRs) for accepting contributions.
Please fork the repository, create a branch, and submit a PR based off the `master` branch.
During the PR review process comments may be attached. Please look out for comments
and respond as necessary.


## Contact

Help, questions and community dialog are supported via Gitter:

* https://gitter.im/s22s/raster-frames
* https://gitter.im/locationtech/rasterframes

Commercial support is available by writing to info@astraea.earth
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
This software is licensed under the Apache 2 license, quoted below.

Copyright 2017-2018 Astraea, Inc.
Copyright 2017-2019 Astraea, Inc.

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

0 comments on commit 66744ff

Please sign in to comment.