[Lift] Re: Supporting Jetty 7 Continuations

2009-10-07 Thread David Pollak
I was hoping to generically support Servlet 3.0 continuations (which should
work for Jetty 7 and Glassfish).  Please open a ticket for it.

On Wed, Oct 7, 2009 at 2:23 AM, Timothy Perrett timo...@getintheloop.euwrote:


 Guys,

 I just wanted to rename this thread and raise this for proper
 discussion. API's between J6.x and J7.x appear to be the same, its
 mainly the package names and structure that have changed.

 Is it feasible to add a match statement to replace the current val
 assignments that have essentially hardcoded dependency on J6.x?

 There's some great stuff in Jetty 7 that would really help me (and
 lots of others) out

 Cheers, Tim

 On Oct 5, 5:20 pm, Timothy Perrett timo...@getintheloop.eu wrote:
  Id say that it would be easier to use a match statement as part of the
  val assignment... The current code is just using reflection, so
  factoring into a case statement shouldnt be too tough right?
 
  Thoughts?
 
  Cheers, Tim
 
  On 5 Oct 2009, at 16:48, Indrajit Raychaudhuri wrote:
 
 
 
 
 
   On 05/10/09 5:29 PM, Timothy Perrett wrote:
 
   So I just wrote a Jetty 6 wrapper - getting the packaging working was
   not ideal and not as flexible as Jetty 7 jetty-runner.
 
   Yes, just took a look at jetty-runner. Feature wise, it's blows away
   the
   older mechanism man!
 
   Any thoughts in and around altering the lift code to adjust the
   package based on jetty version?
 
   I can think of two options basically:
 
   1. Move to jetty 7 and be done with it.
 
   2. Allowing user option (via -Djetty.version) during
   archetype:generate.
   jetty.version can be an overridable archetype property that defaults
   to
   (say 6) but user can do -Djetty.version=7.
 
   Depending on the jetty version, the *.scala, *.xml etc. can be
   filtered
   to make the right kind of adjustment during archetype creation.
 
   Cheers, Indrajit
 
   Cheers, Tim
 
   On Oct 5, 9:07 am, Timothy Perretttimo...@getintheloop.eu  wrote:
   Indrajit,
 
   Your right, jetty-runner is Jetty 7. The only tie we have to Jetty 6
   would be this line:
 
 val cc = Class.forName
   (org.mortbay.util.ajax.ContinuationSupport)
 
   It would be trivial to add a match or whatever that determined the
   correct type to use... The question is, why haven't we done this
   already? I suspect its just a time / capacity issue but wanted to
   check.
 
   I know I could write a jetty 6 wrapper, but that is my fallback
   position as something more OOTB would be preferable.
 
   Cheers, Tim
 
   On Oct 5, 8:29 am, Indrajit Raychaudhuriindraj...@gmail.com
   wrote:
 
   Tim,
 
   Interestingly, we are trying out something similar in a project
   here and
   this is absolutely cool stuff.
 
   In fact, Zimbra Desktop does this too. Pure Prism+Jetty bundled as
   'desktop application'.
 
   That you can have 'double-click' friendly application helps :-)
 
   Few notes:
 
   1. Embedding Jetty server is super easy with
   org.mortbay.jetty.Server.
   Something that we have in Lift - well almost ;-) The RunWebApp in
   the
   archetypes are primitive use case of such. [1]
 
   2. Jetty Runner is available only on Jetty 7.x series I think (not
   certain). But yes, looks good either way.
 
   3. Jetty has this clean and nice way of having web-app specific
   jetty
   config tucked inside the application (war or expanded) within
   WEB-INF/jetty-web.xml which is basically an XmlConfiguration
   instance
   applied on the specific WebApplicationContext instead of the
   Container
   Context. [2]
 
   4. An archetype that does self deploying is something that I have
   on my
   todo-list. Do you think this would make sense?
 
   5. Maven assembly plugin would do. I haven't tried this myself, but
   Maven shade plugin looks something close. [3]
 
   [1]http://docs.codehaus.org/display/JETTY/Embedding+Jetty
   [2]http://docs.codehaus.org/display/JETTY/jetty-web.xml
   [3]http://maven.apache.org/plugins/maven-shade-plugin/
 
   Cheers, Indrajit
 
   NB: Looks like quite a few night owl here!
 
   On 05/10/09 4:11 AM, Timothy Perrett wrote:
 
   Viktor, you and I should not be up this late on a sunday! ;-)
 
   You have to see this:http://blogs.webtide.com/janb/entry/
   jetty_runner
 
   Im going to hash this together as a maven assembly; if it works,
   then
   i'll write a blog and stuff it on the wiki... this could really
   make
   self deploying apps very nice indeed. I'll check with DavidB,
   but im
   fairly sure it would also be trivial to make a little maven plugin
   that builds a single JAR output...
 
   Cheers, Tim
 
   On Oct 4, 11:10 pm, Viktor Klangviktor.kl...@gmail.comwrote:
   Thanks for the linky, mate!
   Was a good read :)
 
   On Sun, Oct 4, 2009 at 11:45 PM, Timothy
   Perretttimo...@getintheloop.euwrote:
 
   Just some more fuel for this debate:
 
  http://technically.us/code/x/to-jettison-geronimo/
 
   Cheers, Tim
 
   On Oct 4, 8:46 pm, Timothy Perretttimo...@getintheloop.eu
   wrote:
   Guys,
 
   Of 

[Lift] Re: Supporting Jetty 7 Continuations

2009-10-07 Thread Timothy Perrett

I know that has been the plan - but I cant help but think that Servlet  
3.0 is still a long way off standardisation?

What do you think?

Cheers, Tim


On 7 Oct 2009, at 16:53, David Pollak wrote:

 I was hoping to generically support Servlet 3.0 continuations (which  
 should work for Jetty 7 and Glassfish).  Please open a ticket for it.

 On Wed, Oct 7, 2009 at 2:23 AM, Timothy Perrett timo...@getintheloop.eu 
  wrote:

 Guys,

 I just wanted to rename this thread and raise this for proper
 discussion. API's between J6.x and J7.x appear to be the same, its
 mainly the package names and structure that have changed.

 Is it feasible to add a match statement to replace the current val
 assignments that have essentially hardcoded dependency on J6.x?

 There's some great stuff in Jetty 7 that would really help me (and
 lots of others) out

 Cheers, Tim

 On Oct 5, 5:20 pm, Timothy Perrett timo...@getintheloop.eu wrote:
  Id say that it would be easier to use a match statement as part of  
 the
  val assignment... The current code is just using reflection, so
  factoring into a case statement shouldnt be too tough right?
 
  Thoughts?
 
  Cheers, Tim
 
  On 5 Oct 2009, at 16:48, Indrajit Raychaudhuri wrote:
 
 
 
 
 
   On 05/10/09 5:29 PM, Timothy Perrett wrote:
 
   So I just wrote a Jetty 6 wrapper - getting the packaging  
 working was
   not ideal and not as flexible as Jetty 7 jetty-runner.
 
   Yes, just took a look at jetty-runner. Feature wise, it's blows  
 away
   the
   older mechanism man!
 
   Any thoughts in and around altering the lift code to adjust the
   package based on jetty version?
 
   I can think of two options basically:
 
   1. Move to jetty 7 and be done with it.
 
   2. Allowing user option (via -Djetty.version) during
   archetype:generate.
   jetty.version can be an overridable archetype property that  
 defaults
   to
   (say 6) but user can do -Djetty.version=7.
 
   Depending on the jetty version, the *.scala, *.xml etc. can be
   filtered
   to make the right kind of adjustment during archetype creation.
 
   Cheers, Indrajit
 
   Cheers, Tim
 
   On Oct 5, 9:07 am, Timothy Perretttimo...@getintheloop.eu   
 wrote:
   Indrajit,
 
   Your right, jetty-runner is Jetty 7. The only tie we have to  
 Jetty 6
   would be this line:
 
 val cc = Class.forName
   (org.mortbay.util.ajax.ContinuationSupport)
 
   It would be trivial to add a match or whatever that determined  
 the
   correct type to use... The question is, why haven't we done this
   already? I suspect its just a time / capacity issue but wanted  
 to
   check.
 
   I know I could write a jetty 6 wrapper, but that is my fallback
   position as something more OOTB would be preferable.
 
   Cheers, Tim
 
   On Oct 5, 8:29 am, Indrajit Raychaudhuriindraj...@gmail.com
   wrote:
 
   Tim,
 
   Interestingly, we are trying out something similar in a project
   here and
   this is absolutely cool stuff.
 
   In fact, Zimbra Desktop does this too. Pure Prism+Jetty  
 bundled as
   'desktop application'.
 
   That you can have 'double-click' friendly application helps :-)
 
   Few notes:
 
   1. Embedding Jetty server is super easy with
   org.mortbay.jetty.Server.
   Something that we have in Lift - well almost ;-) The  
 RunWebApp in
   the
   archetypes are primitive use case of such. [1]
 
   2. Jetty Runner is available only on Jetty 7.x series I think  
 (not
   certain). But yes, looks good either way.
 
   3. Jetty has this clean and nice way of having web-app specific
   jetty
   config tucked inside the application (war or expanded) within
   WEB-INF/jetty-web.xml which is basically an XmlConfiguration
   instance
   applied on the specific WebApplicationContext instead of the
   Container
   Context. [2]
 
   4. An archetype that does self deploying is something that I  
 have
   on my
   todo-list. Do you think this would make sense?
 
   5. Maven assembly plugin would do. I haven't tried this  
 myself, but
   Maven shade plugin looks something close. [3]
 
   [1]http://docs.codehaus.org/display/JETTY/Embedding+Jetty
   [2]http://docs.codehaus.org/display/JETTY/jetty-web.xml
   [3]http://maven.apache.org/plugins/maven-shade-plugin/
 
   Cheers, Indrajit
 
   NB: Looks like quite a few night owl here!
 
   On 05/10/09 4:11 AM, Timothy Perrett wrote:
 
   Viktor, you and I should not be up this late on a sunday! ;-)
 
   You have to see this:http://blogs.webtide.com/janb/entry/
   jetty_runner
 
   Im going to hash this together as a maven assembly; if it  
 works,
   then
   i'll write a blog and stuff it on the wiki... this could  
 really
   make
   self deploying apps very nice indeed. I'll check with DavidB,
   but im
   fairly sure it would also be trivial to make a little maven  
 plugin
   that builds a single JAR output...
 
   Cheers, Tim
 
   On Oct 4, 11:10 pm, Viktor Klangviktor.kl...@gmail.com 
 wrote:
   Thanks for the linky, mate!
   Was a good read :)
 
   On Sun, Oct 4, 2009 at 

[Lift] Re: Supporting Jetty 7 Continuations

2009-10-07 Thread David Pollak
On Wed, Oct 7, 2009 at 9:19 AM, Timothy Perrett timo...@getintheloop.euwrote:


 I know that has been the plan - but I cant help but think that Servlet
 3.0 is still a long way off standardisation?


It's been 3 months away from being a standard for almost 2 years. ;-)



 What do you think?

 Cheers, Tim


 On 7 Oct 2009, at 16:53, David Pollak wrote:

  I was hoping to generically support Servlet 3.0 continuations (which
  should work for Jetty 7 and Glassfish).  Please open a ticket for it.
 
  On Wed, Oct 7, 2009 at 2:23 AM, Timothy Perrett timo...@getintheloop.eu
   wrote:
 
  Guys,
 
  I just wanted to rename this thread and raise this for proper
  discussion. API's between J6.x and J7.x appear to be the same, its
  mainly the package names and structure that have changed.
 
  Is it feasible to add a match statement to replace the current val
  assignments that have essentially hardcoded dependency on J6.x?
 
  There's some great stuff in Jetty 7 that would really help me (and
  lots of others) out
 
  Cheers, Tim
 
  On Oct 5, 5:20 pm, Timothy Perrett timo...@getintheloop.eu wrote:
   Id say that it would be easier to use a match statement as part of
  the
   val assignment... The current code is just using reflection, so
   factoring into a case statement shouldnt be too tough right?
  
   Thoughts?
  
   Cheers, Tim
  
   On 5 Oct 2009, at 16:48, Indrajit Raychaudhuri wrote:
  
  
  
  
  
On 05/10/09 5:29 PM, Timothy Perrett wrote:
  
So I just wrote a Jetty 6 wrapper - getting the packaging
  working was
not ideal and not as flexible as Jetty 7 jetty-runner.
  
Yes, just took a look at jetty-runner. Feature wise, it's blows
  away
the
older mechanism man!
  
Any thoughts in and around altering the lift code to adjust the
package based on jetty version?
  
I can think of two options basically:
  
1. Move to jetty 7 and be done with it.
  
2. Allowing user option (via -Djetty.version) during
archetype:generate.
jetty.version can be an overridable archetype property that
  defaults
to
(say 6) but user can do -Djetty.version=7.
  
Depending on the jetty version, the *.scala, *.xml etc. can be
filtered
to make the right kind of adjustment during archetype creation.
  
Cheers, Indrajit
  
Cheers, Tim
  
On Oct 5, 9:07 am, Timothy Perretttimo...@getintheloop.eu
  wrote:
Indrajit,
  
Your right, jetty-runner is Jetty 7. The only tie we have to
  Jetty 6
would be this line:
  
  val cc = Class.forName
(org.mortbay.util.ajax.ContinuationSupport)
  
It would be trivial to add a match or whatever that determined
  the
correct type to use... The question is, why haven't we done this
already? I suspect its just a time / capacity issue but wanted
  to
check.
  
I know I could write a jetty 6 wrapper, but that is my fallback
position as something more OOTB would be preferable.
  
Cheers, Tim
  
On Oct 5, 8:29 am, Indrajit Raychaudhuriindraj...@gmail.com
wrote:
  
Tim,
  
Interestingly, we are trying out something similar in a project
here and
this is absolutely cool stuff.
  
In fact, Zimbra Desktop does this too. Pure Prism+Jetty
  bundled as
'desktop application'.
  
That you can have 'double-click' friendly application helps :-)
  
Few notes:
  
1. Embedding Jetty server is super easy with
org.mortbay.jetty.Server.
Something that we have in Lift - well almost ;-) The
  RunWebApp in
the
archetypes are primitive use case of such. [1]
  
2. Jetty Runner is available only on Jetty 7.x series I think
  (not
certain). But yes, looks good either way.
  
3. Jetty has this clean and nice way of having web-app specific
jetty
config tucked inside the application (war or expanded) within
WEB-INF/jetty-web.xml which is basically an XmlConfiguration
instance
applied on the specific WebApplicationContext instead of the
Container
Context. [2]
  
4. An archetype that does self deploying is something that I
  have
on my
todo-list. Do you think this would make sense?
  
5. Maven assembly plugin would do. I haven't tried this
  myself, but
Maven shade plugin looks something close. [3]
  
[1]http://docs.codehaus.org/display/JETTY/Embedding+Jetty
[2]http://docs.codehaus.org/display/JETTY/jetty-web.xml
[3]http://maven.apache.org/plugins/maven-shade-plugin/
  
Cheers, Indrajit
  
NB: Looks like quite a few night owl here!
  
On 05/10/09 4:11 AM, Timothy Perrett wrote:
  
Viktor, you and I should not be up this late on a sunday! ;-)
  
You have to see this:http://blogs.webtide.com/janb/entry/
jetty_runner
  
Im going to hash this together as a maven assembly; if it
  works,
then
i'll write a blog and stuff it on the wiki... this could
  really
make
self deploying apps very nice indeed. I'll check with DavidB,
but im
  

[Lift] Re: Supporting Jetty 7 Continuations

2009-10-07 Thread Timothy Perrett

My point exactly!

To that end, why dont we just add a small matching statement or switch  
that allows using Jetty 7 - only the package structure has changed not  
the continuation API itself so it should be fairly trivial. The jetty- 
runner stuff would really get me out of jetty-wrapper-hell that im in  
right now and would mean we could create an archetype that allows Lift  
apps to be deployable as a standalone JAR with jetty built in... would  
that not be über cool?

Cheers, Tim

On 7 Oct 2009, at 17:30, David Pollak wrote:



 On Wed, Oct 7, 2009 at 9:19 AM, Timothy Perrett timo...@getintheloop.eu 
  wrote:

 I know that has been the plan - but I cant help but think that Servlet
 3.0 is still a long way off standardisation?

 It's been 3 months away from being a standard for almost 2 years. ;-)


 What do you think?

 Cheers, Tim


 On 7 Oct 2009, at 16:53, David Pollak wrote:

  I was hoping to generically support Servlet 3.0 continuations (which
  should work for Jetty 7 and Glassfish).  Please open a ticket for  
 it.
 
  On Wed, Oct 7, 2009 at 2:23 AM, Timothy Perrett timo...@getintheloop.eu
   wrote:
 
  Guys,
 
  I just wanted to rename this thread and raise this for proper
  discussion. API's between J6.x and J7.x appear to be the same, its
  mainly the package names and structure that have changed.
 
  Is it feasible to add a match statement to replace the current val
  assignments that have essentially hardcoded dependency on J6.x?
 
  There's some great stuff in Jetty 7 that would really help me (and
  lots of others) out
 
  Cheers, Tim
 
  On Oct 5, 5:20 pm, Timothy Perrett timo...@getintheloop.eu wrote:
   Id say that it would be easier to use a match statement as part of
  the
   val assignment... The current code is just using reflection, so
   factoring into a case statement shouldnt be too tough right?
  
   Thoughts?
  
   Cheers, Tim
  
   On 5 Oct 2009, at 16:48, Indrajit Raychaudhuri wrote:
  
  
  
  
  
On 05/10/09 5:29 PM, Timothy Perrett wrote:
  
So I just wrote a Jetty 6 wrapper - getting the packaging
  working was
not ideal and not as flexible as Jetty 7 jetty-runner.
  
Yes, just took a look at jetty-runner. Feature wise, it's blows
  away
the
older mechanism man!
  
Any thoughts in and around altering the lift code to adjust the
package based on jetty version?
  
I can think of two options basically:
  
1. Move to jetty 7 and be done with it.
  
2. Allowing user option (via -Djetty.version) during
archetype:generate.
jetty.version can be an overridable archetype property that
  defaults
to
(say 6) but user can do -Djetty.version=7.
  
Depending on the jetty version, the *.scala, *.xml etc. can be
filtered
to make the right kind of adjustment during archetype creation.
  
Cheers, Indrajit
  
Cheers, Tim
  
On Oct 5, 9:07 am, Timothy Perretttimo...@getintheloop.eu
  wrote:
Indrajit,
  
Your right, jetty-runner is Jetty 7. The only tie we have to
  Jetty 6
would be this line:
  
  val cc = Class.forName
(org.mortbay.util.ajax.ContinuationSupport)
  
It would be trivial to add a match or whatever that determined
  the
correct type to use... The question is, why haven't we done  
 this
already? I suspect its just a time / capacity issue but wanted
  to
check.
  
I know I could write a jetty 6 wrapper, but that is my  
 fallback
position as something more OOTB would be preferable.
  
Cheers, Tim
  
On Oct 5, 8:29 am, Indrajit Raychaudhuriindraj...@gmail.com
wrote:
  
Tim,
  
Interestingly, we are trying out something similar in a  
 project
here and
this is absolutely cool stuff.
  
In fact, Zimbra Desktop does this too. Pure Prism+Jetty
  bundled as
'desktop application'.
  
That you can have 'double-click' friendly application  
 helps :-)
  
Few notes:
  
1. Embedding Jetty server is super easy with
org.mortbay.jetty.Server.
Something that we have in Lift - well almost ;-) The
  RunWebApp in
the
archetypes are primitive use case of such. [1]
  
2. Jetty Runner is available only on Jetty 7.x series I think
  (not
certain). But yes, looks good either way.
  
3. Jetty has this clean and nice way of having web-app  
 specific
jetty
config tucked inside the application (war or expanded) within
WEB-INF/jetty-web.xml which is basically an XmlConfiguration
instance
applied on the specific WebApplicationContext instead of the
Container
Context. [2]
  
4. An archetype that does self deploying is something that I
  have
on my
todo-list. Do you think this would make sense?
  
5. Maven assembly plugin would do. I haven't tried this
  myself, but
Maven shade plugin looks something close. [3]
  
[1]http://docs.codehaus.org/display/JETTY/Embedding+Jetty
[2]http://docs.codehaus.org/display/JETTY/jetty-web.xml

[Lift] Re: Supporting Jetty 7 Continuations

2009-10-07 Thread Randinn

Looks like you need to open a ticket for that :P

On Oct 8, 3:50 am, Timothy Perrett timo...@getintheloop.eu wrote:
 My point exactly!

 To that end, why dont we just add a small matching statement or switch  
 that allows using Jetty 7 - only the package structure has changed not  
 the continuation API itself so it should be fairly trivial. The jetty-
 runner stuff would really get me out of jetty-wrapper-hell that im in  
 right now and would mean we could create an archetype that allows Lift  
 apps to be deployable as a standalone JAR with jetty built in... would  
 that not be über cool?

 Cheers, Tim

 On 7 Oct 2009, at 17:30, David Pollak wrote:



  On Wed, Oct 7, 2009 at 9:19 AM, Timothy Perrett timo...@getintheloop.eu
   wrote:

  I know that has been the plan - but I cant help but think that Servlet
  3.0 is still a long way off standardisation?

  It's been 3 months away from being a standard for almost 2 years. ;-)

  What do you think?

  Cheers, Tim

  On 7 Oct 2009, at 16:53, David Pollak wrote:

   I was hoping to generically support Servlet 3.0 continuations (which
   should work for Jetty 7 and Glassfish).  Please open a ticket for  
  it.

   On Wed, Oct 7, 2009 at 2:23 AM, Timothy Perrett timo...@getintheloop.eu
wrote:

   Guys,

   I just wanted to rename this thread and raise this for proper
   discussion. API's between J6.x and J7.x appear to be the same, its
   mainly the package names and structure that have changed.

   Is it feasible to add a match statement to replace the current val
   assignments that have essentially hardcoded dependency on J6.x?

   There's some great stuff in Jetty 7 that would really help me (and
   lots of others) out

   Cheers, Tim

   On Oct 5, 5:20 pm, Timothy Perrett timo...@getintheloop.eu wrote:
Id say that it would be easier to use a match statement as part of
   the
val assignment... The current code is just using reflection, so
factoring into a case statement shouldnt be too tough right?

Thoughts?

Cheers, Tim

On 5 Oct 2009, at 16:48, Indrajit Raychaudhuri wrote:

 On 05/10/09 5:29 PM, Timothy Perrett wrote:

 So I just wrote a Jetty 6 wrapper - getting the packaging
   working was
 not ideal and not as flexible as Jetty 7 jetty-runner.

 Yes, just took a look at jetty-runner. Feature wise, it's blows
   away
 the
 older mechanism man!

 Any thoughts in and around altering the lift code to adjust the
 package based on jetty version?

 I can think of two options basically:

 1. Move to jetty 7 and be done with it.

 2. Allowing user option (via -Djetty.version) during
 archetype:generate.
 jetty.version can be an overridable archetype property that
   defaults
 to
 (say 6) but user can do -Djetty.version=7.

 Depending on the jetty version, the *.scala, *.xml etc. can be
 filtered
 to make the right kind of adjustment during archetype creation.

 Cheers, Indrajit

 Cheers, Tim

 On Oct 5, 9:07 am, Timothy Perretttimo...@getintheloop.eu
   wrote:
 Indrajit,

 Your right, jetty-runner is Jetty 7. The only tie we have to
   Jetty 6
 would be this line:

       val cc = Class.forName
 (org.mortbay.util.ajax.ContinuationSupport)

 It would be trivial to add a match or whatever that determined
   the
 correct type to use... The question is, why haven't we done  
  this
 already? I suspect its just a time / capacity issue but wanted
   to
 check.

 I know I could write a jetty 6 wrapper, but that is my  
  fallback
 position as something more OOTB would be preferable.

 Cheers, Tim

 On Oct 5, 8:29 am, Indrajit Raychaudhuriindraj...@gmail.com
 wrote:

 Tim,

 Interestingly, we are trying out something similar in a  
  project
 here and
 this is absolutely cool stuff.

 In fact, Zimbra Desktop does this too. Pure Prism+Jetty
   bundled as
 'desktop application'.

 That you can have 'double-click' friendly application  
  helps :-)

 Few notes:

 1. Embedding Jetty server is super easy with
 org.mortbay.jetty.Server.
 Something that we have in Lift - well almost ;-) The
   RunWebApp in
 the
 archetypes are primitive use case of such. [1]

 2. Jetty Runner is available only on Jetty 7.x series I think
   (not
 certain). But yes, looks good either way.

 3. Jetty has this clean and nice way of having web-app  
  specific
 jetty
 config tucked inside the application (war or expanded) within
 WEB-INF/jetty-web.xml which is basically an XmlConfiguration
 instance
 applied on the specific WebApplicationContext instead of the
 Container
 Context. [2]

 4. An archetype that does self deploying is something that I
   have
 on my
 todo-list. Do you think this would make sense?

 5. Maven assembly plugin would do. I haven't tried this
   myself, but
 Maven shade plugin looks