GitHub user justinleet reopened a pull request:
https://github.com/apache/incubator-metron/pull/459
METRON-726: Clean up mvn site generation
### Summary
An initial attempt to add checkstyle expanded a bit once it turned out that
`mvn site` appears to not work right now (and probably hasn't for a long
while). More background on some of the issues encountered (and error traces) is
in the ticket itself.
A small set of cleanups is included here, and is pretty easy to split out
if we want it to be separate PRs (it mostly just got cleaned up while I was
trying to fix things one by one, but for example, checkstyle could be included
in a separate PR). It's small enough though, that I just left it together since
it makes the generated site fairly nice and complete.
### Changes
- The major change is to drop EMMA for JaCoCo. As noted in the ticket, it's
unlikely to be worth the erffort to get EMMA working, given that it's not
actively developed and it seems likely that EMMA just isn't compatible with
Java 8 code (not terribly surprising given how old it is). I put in JaCoCo
mostly to keep (make?) code coverage available, but I can easily remove it if
we'd rather have a discussion on a different tool, or just a separate PR.
- Added maven-site-plugin to top level pom
- Refactored most reporting (maven-project-info-reports-plugin,
maven-pmd-plugin, and code coverage) to go through top level pom, given that
most of our reporting is exactly the same throughout the child poms.
- Explicitly setup up maven-project-info-report-plugin reports (neither CLI
param nor POM param skipped dependency reports correctly. Unsure why that is.
If someone knows, I'd love to just change that)
- Added maven-jxr-plugin to fix warnings in the site build
- Added names to poms to make sure they show up nicely in site
- Deploy set to /tmp/metron/site for now. Should eventually be adjusted to
be somewhere useful (I believe other components like Hadoop do something nicer
with it within Apache, but I'd need to look into it). I'll create a ticket for
it, assuming we're good with this PR (mostly) as-is. Otherwise, I'll wait and
see what spins out of discussion here.
- Updated PMD to 3.7
#### Testing
To run everything, including code coverage up:
`mvn clean install site:site site:deploy site:stage-deploy`
Open up /tmp/metron/site/index.html in a browser. Everything (other than
Javadoc) should be available, and clicking through modules should work because
of the `site:stage-deploy`
Skipping tests allows code coverage to be skipped.
I also ran up quick-dev and made sure data passed through topologies. I
didn't run up other components, because mostly the reporting section of the
poms is touched, so if they built and the reporting built it seemed like
enough. I can definitely spin up other components if anybody wants to be more
thorough, though.
#### Notes
- Javadocs are currently broken outside of this ticket. Separate Jira/PR is
open for that issue.
- Reason for `site:stage-deploy` to is get the parent-child pom links
working while testing. Otherwise, you can't navigate through the module
structure.
- Currently almost 25k(!) checkstyle issues.
- It's possible to import a check style file in IntelliJ. I could export
this for general use (modified it to use two spaces + possibly things like line
length). I tested reformatting all Java files like this, and it clears out
several thousand checkstyle issues. And makes the code more consistent.
Obviously, that's a bit aggressive and touched things like autogenerated files,
but it makes it clear we have more issues than trivially solved by code
formatting.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/justinleet/incubator-metron site_fix
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-metron/pull/459.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 #459
----
commit 9d219ca54ff3eaeee51759866e993dff4c6d8745
Author: justinjleet <[email protected]>
Date: 2017-02-20T02:00:13Z
Moving away from emma to jacoco and fixing some other issues
commit deb6e9587dfa3ad8814202c224dc2b68ef67a288
Author: justinjleet <[email protected]>
Date: 2017-02-20T02:44:51Z
Fixing up and moving PMD upward in POM
commit cf585526bb6952cd8848dd475951bc5f093944bf
Author: justinjleet <[email protected]>
Date: 2017-03-08T14:13:15Z
Updated metron-interface to not use Emma, and adding Javadoc reporting.
Fixing fatal javadoc error
commit a999f79d18e4f1a3185a91945df2cd278c39b041
Author: justinjleet <[email protected]>
Date: 2017-03-08T18:07:22Z
Running JaCoCo's prepare-agent in Travis commands to avoid surefire issues.
Setting surefire version consistently.
commit 448eb70cd0cc7d572a12276d365b63685042f8c5
Author: justinjleet <[email protected]>
Date: 2017-03-08T20:34:42Z
Pulling surefire up to top level pom
commit c8954b6f58c1418c46977b1ba710a96221b59ede
Author: justinjleet <[email protected]>
Date: 2017-03-18T19:43:07Z
Dropping surefire version because of issues with 2.19.1
commit 1f6d55cb4f0caeeaaf55612e17ae40bd04684677
Author: justinjleet <[email protected]>
Date: 2017-04-15T15:29:45Z
clean up from rebase
commit 2f0271a4a197328910b696c98378956a061c8633
Author: justinjleet <[email protected]>
Date: 2017-04-15T15:38:34Z
Updating new modules
commit 06c1cbe24698aec602bceaa66547c571f8378a26
Author: justinjleet <[email protected]>
Date: 2017-04-15T15:43:45Z
removing ignored maxpermsize
commit 720288768983c58a7b07936882adb3403012269d
Author: justinjleet <[email protected]>
Date: 2017-04-18T14:04:56Z
Ensuring ComponentRunners get caught in finallys
commit 770f6b62276f54ab96ef367342c44e8b49171297
Author: justinjleet <[email protected]>
Date: 2017-04-27T19:40:00Z
Removing unused Scala import that caused site issues
commit 6ef484b31bff2b909373ad647e3ac82808d9eada
Author: justinjleet <[email protected]>
Date: 2017-04-29T01:20:25Z
Correcting URL on child poms
commit 394ec27305aa7651334febe6814854359ac7c928
Author: justinjleet <[email protected]>
Date: 2017-04-30T11:22:33Z
Adding generate-md.sh to the pre-site portion of the lifecycle and updating
the PR template
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---