I'd like to see some process put into place to mitigate "bit-rot". If
the examples don't live in the "main" repository, how do we make sure
they don't get ignored and become dead or "bad" code?
For questions at the foreground now:
* Can we set up new CI jobs that build the new examples repo against
SNAPSHOT repos?
* How do we vet the examples for a release?
* Does a release of Accumulo "proper" imply a release of the examples?
Or are they two separate things?
* What versions of Accumulo would we expect these examples to build
against? Anything that isn't EOL'ed?
I'm sure there are lots of details that I'm skipping over, but I'd like
to see a plan on how to address these general concerns before pulling
out any code.
Michael Wall wrote:
Talking with Keith and Christopher today, they mentioned it might be useful
to pull the examples out of Accumulo into a separate project with it's own
repo. Here are some talking points
- Provide an easy means to run examples against the MiniAccumuloCluster.
- Give users the ability to run examples without having to worry with the
rest of the codebase.
- Allow testing of the same examples against different releases.
- Could force the examples to use the external APIs only if we reorg'd the
packages.
- Potentially fold the wikisearch into this examples projects and bring it
back up to date.
To this end, I started with master
(e2055020219e6d56afb8d19b5a8eea519599f8b1) and deleted everything that
didn't seem to be related to examples. Very early stages, but it is pushed
to https://github.com/mjwall/accumulo-examples. The command 'mvn clean
test' works, but the default Accumulo version is 1.8.0-SNAPSHOT. I was
surprised that 'mvn clean test -Daccumulo.version=1.6.4' and 'mvn clean
test -Daccumulo.version=1.7.0' both failed to compile, but in different
ways.
Interested in everyone's thoughts.
Mike