Waffle / waffle

Enable drop-in Windows Single Sign On for popular Java web servers.
https://waffle.github.io/waffle
MIT License
473 stars 186 forks source link

Completely mavenize build #79

Closed hazendaz closed 10 years ago

hazendaz commented 10 years ago

I see that this project has made great strides towards maven but still uses quite a bit of ant. Is the vision to completely move to maven? I'm willing to help out in that area. If so, I'll start looking at doing so.

dblock commented 10 years ago

I am not against Maven-izing the Java side of this project, however I want to make sure it really makes things simpler rather than more complicated. Happy to review any solid PR.

Also, cc-ing @skamille who loves Maven these days :)

hazendaz commented 10 years ago

Maven - My first thoughts.

1) We are just a hop and skip away from full maven already!

2) ThirdParty package can completed be deleted with exception of tomcat 5.5.36

a. I did put a request out to the apache tomcat dev group. I’m not holding my breath on this one.

b. With maven, there is no point to ivy or keeping dependencies this way. Everything will be pulled down properly on maven builds to .m2/repository under user account.

3) .project & .classpath files can be deleted once this is on maven. Maven will regenerate regardless of IDE in use as long as IDE has maven integration.

4) Of course all ant related items would be removed.

5) Resource directories need switched to standard maven layout.

a. src/main/java

b. src/main/resources

c. src/test/java

d. src/test/resources

6) Directions for running maven outside of IDE will be supplied. Only really need these two.

a. mvn clean install

b. mvn site

7) I have a separate ‘get started’ style project for maven that has all that could possibly be needed here. I’ve already pulled it over to the parent pom which is only place it is needed. The mvn site generates the stuff you likely want to see that complements what is produced today and goes a long way further.

a. Project Information

                                                           i.      About

                                                         ii.      Plugin management

                                                        iii.      Distribution management

                                                       iv.      Dependency information

                                                         v.      Source repository

                                                       vi.      Project plugins

                                                      vii.      Project license

                                                    viii.      Project team

                                                       ix.      Project summary

                                                         x.      Dependencies

b. Reports (We want reports / we got em’)

                                                           i.      Checkstyle

                                                         ii.      JavaDocs

                                                        iii.      Test JavaDocs

                                                       iv.      Test Source Xref

                                                         v.      Source Xref

                                                       vi.      PMD

                                                      vii.      CPD

                                                    viii.      Surefire Report (junit)

                                                       ix.      Property Updates Report

                                                         x.      Plugin Updates Report

                                                       xi.      Dependency Updates Report

                                                      xii.      Tag List

                                                    xiii.      JDepend

                                                    xiv.      Jacoco (code coverage)

Sneak peak with the twitter bootstrap :)

From: Daniel Doubrovkine (dB.) @dblockdotorg [mailto:notifications@github.com] Sent: Monday, March 31, 2014 7:16 AM To: dblock/waffle Cc: Jeremy Landis Subject: Re: [waffle] Completely mavenize build (#79)

I am not against Maven-izing the Java side of this project, however I want to make sure it really makes things simpler rather than more complicated. Happy to review any solid PR.

Also, cc-ing @skamille https://github.com/skamille who loves Maven these days :)

— Reply to this email directly or view it on GitHub https://github.com/dblock/waffle/issues/79#issuecomment-39077227 . https://github.com/notifications/beacon/975267__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcxMTg4Mzc4OSwiZGF0YSI6eyJpZCI6Mjg4NzA3NjZ9fQ==--cc95a75a34694485c8b1d6e7c71c2f056f6553bf.gif

dblock commented 10 years ago

Tomcat 5 support can be removed.

Looking forward to a PR.

hazendaz commented 10 years ago

I thought my image would have shown up of the site page. Guess not! I was thinking to just mavenize this fully before dropping tomcat 5. Doesn't matter either way. Essentially, fully mavenizing this isn't that big of a deal as it was mostly done. I've just added bells and whistles. I expect to have a PR on this later this week.

hazendaz commented 10 years ago

I'll keep existing folder structure on the first move over to maven to keep the changes down to a minimum.

hazendaz commented 10 years ago

OK - after merging the first cut with ant/ivy removed and cleanup for more support within parent pom. I am at two additional points.

1) Renamed 'demo' and 'build' to reflect names within poms. Pull request on this. 2) Reworked into maven structure. Some files are showing deleted/added others show history. Not sure how that will translate once I do a pull request as it sometimes seems to be different than it shows in github for windows. I also have in this cut a small number of code fixes based on eclipse error settings. None of the changes make a difference in reality. I also removed tags linking projects in classpath. 3) After the two above items are dealt with, I'll start removing settings/classpath/project items. These are unnecessary as maven will rebuild which makes it easy for developers using different IDE's. 4) After that, maybe spring 4 support and addressing deprecation of tomcat 5.

dblock commented 10 years ago

For anything Maven related you can just go ahead. I am a noob when it comes to Maven, trust you to do the right thing :)

dblock commented 10 years ago

Don't forget to update https://github.com/dblock/waffle/blob/master/Docs/SettingUpDevelopmentEnvironment.md. I'll play with the results on my side.

hazendaz commented 10 years ago

Sure. If you run into any issues just let me know. Im pretty good with maven. Year plus solid use of it. Ill be out of town this next weekend but other than that I will be on this until everything is good including all documentation.

--- Original Message ---

From: "Daniel Doubrovkine (dB.) @dblockdotorg" notifications@github.com Sent: April 8, 2014 7:33 AM To: "dblock/waffle" waffle@noreply.github.com Cc: "Jeremy Landis" jeremylandis@hotmail.com Subject: Re: [waffle] Completely mavenize build (#79)

Don't forget to update https://github.com/dblock/waffle/blob/master/Docs/SettingUpDevelopmentEnvironment.md. I'll play with the results on my side.


Reply to this email directly or view it on GitHub: https://github.com/dblock/waffle/issues/79#issuecomment-39837486

hazendaz commented 10 years ago

Layout is now using standard maven layout. Some tests were updated / fixed in this build. I still owe updating of documents before this can be called complete.

hazendaz commented 10 years ago

This task should be complete at this point. I'll review again the documentation in the coming days. Let me know if everything looks in order and if you are able to perform builds successfully. I believe there were some older comments in some of the documents regarding building zip deployments. If that rings any bells as something that might be missing, let me know and I can take a look at getting what is missing. If that is from prior to the first early goes a long while back for maven, then I can likewise clean up the documentation to remove that information.

dblock commented 10 years ago

Nice work @hazendaz! I am super happy to see people take real ownership of this project, I haven't been living in the Windows world for a while :)