[resteasy-dev] RESTEasy and possible "community" contribution
Rostislav Svoboda
rsvoboda at redhat.com
Thu May 5 09:21:09 EDT 2016
>
>
> On 05/04/2016 11:36 AM, Weinan Li wrote:
> > --
> > Weinan Li / JBoss
> >
> >> On May 4, 2016, at 8:02 PM, Rostislav Svoboda <rsvoboda at redhat.com> wrote:
> >>
> >> Moving the discussion to the mailing list ++ adding few notes about the
> >> project structure and TS.
> >>
> >> Structure:
> >> - why is there one module jaxrs in the root of repo -
> >> https://github.com/resteasy/Resteasy ?
> > It's added by Bill but I forget the reason. I don't like it either :-) We
> > can remove it now as JAX-RS is moved outside RESTEasy repo.
> >
> >> - there are too many modules (in root jaxrs module) from my perspective
> >> -- multi module project structure can affect build time
> >> -- find . | grep pom.xml | wc -l reports 226 pom.xml files
> > The 'example' module contains all the Bill's book examples. We need to ask
> > him for permission to move these away.
>
> They go into the distribution zip file.
>
ok, proper isolation in project as suggested by Alession is probably the best option.
And there will be no regression in stuff delivered in zip.
> >
> >> -- find . | grep pom.xml | grep -v arquillian | grep -v exam | grep -v
> >> test | wc -l reports 58 pom.xml files
> >> - not clear where is the real code and what is just add-odd like examples,
> >> book stuff
> >> - naming of modules in not in sync, some are starting resteasy-*, some do
> >> not have such prefix
> >>
> >> Commits:
> >> - commit messages do not follow same/similar format - see
> >> https://github.com/resteasy/Resteasy/commits/master
> >> -- I would expect jira id at the beginning of the commit message, it's
> >> there sometime but in different format - e.g. RESTEASY-1328 vs.
> >> [RESTEASY-1331]
>
> Even better is the whole URL, so you can click and go there.
Not so sure, [RESTEASY-xxx] is the best option from my side, jira can handle integration / parsing of commit messages
>
> >> - massive commit message like
> >> https://github.com/resteasy/Resteasy/commit/fdd1f9f31edb894fa6f8684f2608224c39519e6c
> >> - commit related to RESTEASY-1323 are really "fun"
> >> -- https://github.com/resteasy/Resteasy/pull/756/files
> >> -- one fix in code (4 lines removed) + two tests done in 7 commits :(
> >> -- these commits should have been squashed
> > +1
> >
> >> Versions:
> >> - will leave this to Tomaz :)
> >>
> >> TS:
> >> - unit tests are mixed with integration tests
> >> -- integration tests should be in separate module
> >> -- tests should be running in different maven phases
> >> - there are only few tests against WF
> >> - such tests are not executed against latest WF, but mainly against WF 8
>
> At some point I started adding new arquillian tests to RESTEASY-TEST-WF8
> to reduce the number of times wildfly starts up. I have a
> RESTEASY-TEST-WF10, but it depends on JDK 1.8, so it's not activated yet.
Shouldn't be JDK 8 the default ?
Public JDK 7 is not receiving updates for 1 year - see http://www.oracle.com/technetwork/java/eol-135779.html or http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Last release was April 2015
> >> - I would like to see ARQ + WF10+ and get rid of tjws
> > Get ridding of TJWS is not practical because it will make the test time
> > unacceptable. But replacing them with undertow container would be great
> > :-)
>
> A lot of tests just don't depend on the environment. I create arquillian
But there are tests which pass on tjws, but failed with WF10 / EAP7, you can check the jira link I shared in previous email or see below
> tests only when the environment seems to matter. I agree it would be
> nice to use undertow, but who's going to take the time to do that?
There is product TS which can be reused / pulled back.
> >>
> >> EAP 7 situation for TS:
> >> - we migrated upstream ts to use ARQ and run against EAP 7 and not tjws
> >> - we discovered half of reported issues thanks to this migrated TS, these
> >> issues wouldn't be noticed bu community TS executed against tjws
> > Totally removing TJWS is also not possible, because many users are using
> > this 'internal' feature in their production env. We can't estimate how the
> > impact will be.
Well, I'm surprised about tjws use in production environment
quick check shows this:
resteasy-jaxrs-3.0.16.Final-redhat-1.jar | grep tjws
0 02-22-2016 03:06 org/jboss/resteasy/plugins/server/tjws/
2015 02-22-2016 03:06 org/jboss/resteasy/plugins/server/tjws/TJWSServletDispatcher.class
2110 02-22-2016 03:06 org/jboss/resteasy/plugins/server/tjws/TJWSServletServer$FileMappingServe.class
5244 02-22-2016 03:06 org/jboss/resteasy/plugins/server/tjws/TJWSServletServer.class
1467 02-22-2016 03:06 org/jboss/resteasy/plugins/server/tjws/AuthenticatedHttpServletRequest.class
3172 02-22-2016 03:06 org/jboss/resteasy/plugins/server/tjws/TJWSRequestPreProcessor.class
3136 02-22-2016 03:06 org/jboss/resteasy/plugins/server/tjws/TJWSEmbeddedJaxrsServer.class
2854 02-22-2016 03:06 org/jboss/resteasy/plugins/server/tjws/PatchedHttpServletRequest.class
resteasy-spring-3.0.16.Final-redhat-1.jar | grep tjws
0 02-22-2016 03:09 org/jboss/resteasy/springmvc/tjws/
2034 02-22-2016 03:09 org/jboss/resteasy/springmvc/tjws/TJWSEmbeddedSpringMVCServer.class
1794 02-22-2016 03:09 org/jboss/resteasy/springmvc/tjws/TJWSSpringMVCDispatcher.class
2809 02-22-2016 03:09 org/jboss/resteasy/springmvc/tjws/TJWSEmbeddedSpringMVCServerBean.class
Do you know more about customer use-cases ?
> Yeah, I learned that only recently. I'm amazed. But it's true: "If it's
> there, they'll use it."
Agree, it's bad that we realized that so late :(
>
> >
> > We can try to remove TJWS for testing purposes in RESTEasy project itself.
> > But the RESTEasy TJWS module should be maintained as a feature.
> >
> >> -- 19 from 38 jiras -
> >> https://issues.jboss.org/issues/?jql=project%20%3D%20JBEAP%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20in%20%28Unresolved%2C%20Done%2C%20%22Out%20of%20Date%22%29%20AND%20component%20%3D%20REST
> >> - we will keep this TS for 7.0.z
> >> - we would like to consume & prod-patch upstream (ARQ + WF based) TS for
> >> the future releases
> >>
> >> Upstream and QE specific TS should somehow converge into a single one.
> > +1
> >
> >> My feeling is that (upstream) TS should be a bit isolated from the rest to
> >> make it easier for QE to test against products - like EAP.
> >> Something similar what is in JBWS and maybe even beyond - no dependency on
> >> parent to have deps clearly defined.
> >> For JBWS we consume upstream ts, patch it little bit + use prod based
> >> dependencies.
> >>
> >> Cheers.
> >> Rostislav
> >>
> >> ----- Original Message -----
> >>> Hey Alessio,
> >>>
> >>> yes setting up mailing list or even better forums on developer.jboss.org
> >>> would be great.
> >>>
> >>> for the changes I had in mind from top of my head
> >>> - restructure project to move it one folder up so we, get rid of "jaxrs"
> >>> folder, but that can be done later
> >>> - unify versions of jetty used for tests
> >>> - make project build on various platforms and be able to release new
> >>> version maven-release-plugin
> >>> - get rid of tjws
> >>> - get rid of book
> >>> https://github.com/resteasy/Resteasy/tree/master/jaxrs/examples/oreilly-jaxrs-2.0-workbook
> >>> - probably best to move it to different repo
> >>> - think about examples, maybe move them to different repo or clean them
> >>> up
> >>> so build would work properly.
> >>>
> >>> and lots of other ideas, but that would just be cleaning up the codebase
> >>> so
> >>> it would be easier to work from there.
> >>>
> >>> But yes, lets talk about it next week, as I also have some stuff to
> >>> finish
> >>> this week.
> >>>
> >>> --
> >>> tomaz
> >>>
> >>>
> >>>
> >>> On Thu, Apr 28, 2016 at 9:38 PM, Alessio Soldano <asoldano at redhat.com>
> >>> wrote:
> >>>
> >>>> Hi Rostislav, hi Tomaz,
> >>>> thanks for the references. We'll have to go and parse the changes (and
> >>>> also see what still applies and what would be out-of-date ;-) ).
> >>>> Generally speaking, why not, let's listen to what "stage 0" tasks you
> >>>> have
> >>>> in mind. I'm very busy till the end of the week, but I hope to have time
> >>>> to
> >>>> spend on this next week. I'm still fixing few things with the team,
> >>>> including having jboss mailing lists for the project.. if it makes sense
> >>>> to
> >>>> you, I would propose to have some discussion on the proposed tasks on a
> >>>> dev
> >>>> mailing list, ok?
> >>>> Cheers
> >>>> Alessio
> >>>>
> >>>>
> >>>> Il 28/04/2016 18:10, Rostislav Svoboda ha scritto:
> >>>>
> >>>>> Hi Alessio.
> >>>>>
> >>>>> Several months ago I spoke with Tomaz about RESTEasy and Tomaz's effort
> >>>>> with project cleanup + version sync. For example
> >>>>> https://github.com/resteasy/Resteasy/commit/1f95cefc716d88533551c282977aa9b0ba2a8f10
> >>>>> was merged, probably some more ideas are waiting for sunlight in
> >>>>> branches
> >>>>> like https://github.com/ctomc/Resteasy/tree/build-cleanup
> >>>>>
> >>>>> I pinged Tomaz today because of that and we spoke a bit about RESTEasy,
> >>>>> Tomaz has some ideas for few "stage 0" tasks that should be done before
> >>>>> anything else is going on. He [CCed to confirm that ;)] is also wiling
> >>>>> to
> >>>>> take few days to work on it if we agree on them being merged.
> >>>>>
> >>>>> So here we go, discussion can begin. Hope RESTEasy project structure
> >>>>> will
> >>>>> be in good condition soon!
> >>>>>
> >>>>> Cheers.
> >>>>> Rostislav
> >>>>>
> >>>>>
> >>>> --
> >>>> Alessio Soldano
> >>>> Web Service Lead, JBoss
> >>>>
> >>>>
> >> _______________________________________________
> >> resteasy-dev mailing list
> >> resteasy-dev at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/resteasy-dev
> >
> > _______________________________________________
> > resteasy-dev mailing list
> > resteasy-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/resteasy-dev
>
> --
> My company's smarter than your company (unless you work for Red Hat)
>
> _______________________________________________
> resteasy-dev mailing list
> resteasy-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/resteasy-dev
>
More information about the resteasy-dev
mailing list