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
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
Related articles