On 05/05/2016 03:46 PM, Weinan Li wrote:
--
Weinan Li / JBoss



On May 5, 2016, at 9:21 PM, Rostislav Svoboda <rsvoboda@redhat.com> wrote:


On 05/04/2016 11:36 AM, Weinan Li wrote:
--
Weinan Li / JBoss

On May 4, 2016, at 8:02 PM, Rostislav Svoboda <rsvoboda@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
Is it really necessary to support RESTEasy with JDK7?
For WF10: Java 7 support has been discontinued allowing for deeper integration with the Java 8 runtime.

- 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
So in my point of view, test time with ARQ + WF10 is definitelly acceptable.

Marek

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

And also the 'tjws' module itself.

Do you know more about customer use-cases ?
I recently fixed a tjws ssl use case requested by customer: https://github.com/resteasy/Resteasy/pull/761/files




        
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@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/resteasy-dev
_______________________________________________
resteasy-dev mailing list
resteasy-dev@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/resteasy-dev

_______________________________________________
resteasy-dev mailing list
resteasy-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/resteasy-dev

_______________________________________________
resteasy-dev mailing list
resteasy-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/resteasy-dev