Your first JIRA ticket

Let's get started contributing to GeoMesa. This set of instructions assumes you are starting from scratch. I am writing this as I go through the process and learn how to do this myself.

Step-by-step guide

Understand the workflow

https://ccristudio.jira.com/wiki/display/SPINOZA/Development+workflow+using+github+and+JIRA

Get the toolchain

https://github.com/ccri/devenv

Follow the readme.md. 

Quick start guides

Quick start guide is an overloaded term. Here are all the quick start guides. Note they all also refer the reader to the Deployment tutorial. It does not seem you will need to worry about deployment. Instead use for example dcloud. The deployment tutorial also is oriented toward a tarball. You will instead want to pull from github.

The homepage quickstart seems too quick really for starting from scratch.  There is also an Accumulo quick start. And a a Kafka quickstart.  The structure of it and the Accumulo quick start are quite similar.

Of note is that there are differing maven calls for geomesa itself:

  • homepage calls `build/mvn`  
  • deployment tutorial starts from binaries
  • accumulo calls plain `mvn`
  • kafka skips this

 

Attempts to install (scratch notes)

geomesa$ build/mvn clean install -DskipTests -Daccumulo-1.5

geomesa$ geomesa

could not find geomesa-tools/lib and then also Error: could not find or load main class org.locationtech.geomesa.tools.Runner

same result for `test-geomesa`

subsequent: 

geomesa$ geomesa configure

then reset yes and yes. does not resolve issue.

 

2 – resetting changes to pom.xml  oop

geomesa$ build/mvn clean install -DskipTests -Daccumulo-1.5
geomesa$ geomesa

could not find geomesa-tools/lib and then also Error: could not find or load main class org.locationtech.geomesa.tools.Runner

same result for `test-geomesa`

subsequent: 

geomesa$ geomesa configure

then reset yes and yes. does not resolve issue.

geomesa$ mkdir geomesa-tools/lib
geomesa$ geomesa configure
geomesa$ geomesa

now it doesn't complain about the lib but it does complain about the org.locationtools...Runner 

 

java -cp classpath org.locationtech.geomesa.tools.Runner

 

... 

try

mvn clean install geomesa-tools/pom.xml

java -cp ./geomesa-tools/target/geomesa-tools-1.1.0-rc7-SNAPSHOT.jar org.locationtech.geomesa.tools.Runner

no joy.... 

 

untried: see the readme at /geomesa/geomesa-tools/readme.md

maybe ALSO try to export content of a smallish table, rather than worry go through the whole accumulo tutorial etc.

 

 

Need to undo ~/.bashrc changes? or did mvn handle that? did mvn handle jai jline vecmath? 

Source control

If you need a crash course in git and/or github https://guides.github.com/ has some good resources. Of particular interest are https://guides.github.com/introduction/flow/ which mirrors the workflow. Also nice: http://rogerdudler.github.io/git-guide/ or for more hands on approach  - https://www.codecademy.com/learn/learn-git.

 

 

Build

https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

mvn ... -DskipTests 

Need to pay attention to build phases.

One of the interesting things going on is that the quick start

Debugging

(Use large memory to avoid outOfRam error)
export MAVEN_OPTS="-Xmx8192m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit -Duser.timezone=UTC"
(Debug with IntelliJ)
export MAVEN_OPTS="-Xmx8192m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9898 -Duser.timezone=UTC"

 

Other thoughts

... of possible use and intersecting these topics.

Using ssh to explore cloud