build: Extract common config to top-level build.gradle
We can inject plugin, repositories and dependencies directly from
the top-level build.gradle.
This extracts a common version of junit for all projects (and
updates anagram to use assertj, the junit matchers did not work
with 4.12).
Fixes https://github.com/winterchord/xjava/commit/d09fb713d19abbcbdaaa979adb59aa7fc94532fd#commitcomment-14962172
The original PR (https://github.com/exercism/xjava/pull/69) that this issue
could have been fixed in was merged before I could fix this issue.
This implementation does not generate a test suite based on the json
meta the hello-world exercise.
See https://github.com/exercism/todo/issues/13
Fixes https://github.com/exercism/todo/issues/35
- where files are required from the "starter" (./src/main/java), these
are now soft-linked into the example source.
- a couple examples were missing import statements.
- the example code for Hamming was failing the test suite.
At this time, these are all of the problems that have example code.
- without this output, another contributor might make the reasonable
(but incorrect) assumption that the source being compiled to exercise
the tests are from 'src/main/java'.
- move example.java so we can refer to it in Gradle as a soureSet.
- Java requires public classes be contained in identically-named files.
- using latest Travis infrastructure (better, stronger, faster).
- each piece of travis config has been confirmed as minimum necessary at
this time.
- without JDK specified, would run with default (Java 7)
- without TERM=dumb, travis output is unreadable.
anagram: Clarify expectations about identical words
An anagram is defined as
1. the same letters
2. rearranged
3. to make a new word
The existing assertion only checked the presence of the expected word,
but did not explicitly exclude the existence of results that match the
input exactly.