GitHub user nickwallen opened a pull request: https://github.com/apache/metron/pull/854
Experimental Improvements - Feedback Only - Do Not Merge This is a PR to get feedback on some minor improvements that I was experimenting with. If the community finds any of this useful, I will open a proper PR and JIRA for this work. All feedback welcome; positive or negative. Note: This PR should not be merged. ### Faster CI Builds The first piece here is that I leveraged [Travis' Matrix functionality](https://docs.travis-ci.com/user/customizing-the-build/#Build-Matrix) so that the unit tests, integration tests, web unit tests, and license check runs in parallel rather than sequentially. Benefit 1: Prior to this change the CI builds take anywhere between 30 - 34 minutes. After this change the last 4 test builds have taken 24m 49s, 26m 20s, 23m 40s, and 24m 31s. This is not huge, but seems to be an incremental improvement nonetheless. Benefit 2: This also helps when in the future we need need to add additional validation/functionality to the CI build. Any additional functionality will easily run in parallel and not unnecessarily extend the overall build time. ### Automate Maven Installation There is a tool called [Maven Wrapper](https://github.com/takari/maven-wrapper) that will automatically install Maven for a user. And also importantly, it will install the exact correct version that we specify. I found this [mentioned in the Travis documentation](https://docs.travis-ci.com/user/languages/java/), so I assume it has a large enough following. My thought is that anything we can do to reduce friction for a new user to work with Metron is a good thing. At the very least this simplifies prerequisite installation and can prevent one source of errors. Instead of installing Maven manually and then running `mvn clean install`, a user can just run `./mvn clean install`. This will automatically install the correct version of Maven in Windows, Mac, or Linux before building Metron. This also works correctly in Travis. I should also mention this is backwards compatible. If you want to use your own mvn, then feel free to continue on with `mvn clean install`. The ./mvn and ./mvn.cmd files were generated by me simply running `mvn -N io.takari:maven:wrapper`. We would run the same sort of command again to update these scripts should we need to. You can merge this pull request into a Git repository by running: $ git pull https://github.com/nickwallen/metron experimental-test-improvements Alternatively you can review and apply these changes as the patch at: https://github.com/apache/metron/pull/854.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #854 ---- ---- ---