I'm really excited that you're interested in this, Sebastian. There  
are (at least) two separate ways that Maven and OpenLaszlo can interact:
1) build/package/deploy the OpenLaszlo server (compiler + servlet)  
from source using maven
2) Use the OpenLaszlo compiler as a maven plugin.

I think you're talking about #2; #1 is the one that I've been  
dreaming about, but #2 is way more practical and possible. We've been  
struggling with packaging the command-line compiler (lzc) in a  
platform-independent way; see
http://jira.openlaszlo.org/jira/browse/LPP-2118

We could also do
3) Make an ant task which compiles lzx into SOLO swf or dhtml.
and that's something that I'll put on my list of "cool things to try"  
-- but maven is even cooler.

Look at the documentation on SOLO mode -- good stuff starts here:
http://www.openlaszlo.org/node/296 "SOLO is Simple"
http://www.openlaszlo.org/node/295 "SOLO is Simple, part two"

On Jul 14, 2006, at 2:27 PM, Sebastien Arbogast wrote:

> Yes they are, but without any indication about the version and
> possible locations where to find them. I don't know if you're familiar
> with Maven philosophy, but in a Maven project, you don't manage your
> dependencies in a local lib directory as you usually do it with ant.
> Instead you describe your dependencies, including group, name and
> version in the project's POM and then Maven downloads and packages
> those dependencies in the final application.

I'm familiar with maven, but I think I'm the only one on the team who  
has looked at it much.
The versioning and dependencies of the jars used to build the  
OpenLaszlo server (#1 above) is fairly insane; for instance, we  
include 3 versions of the saxon jar. The jars that the compiler  
actually uses for #2/#3 is a much smaller set; it's easier to deploy  
open laszlo than to build it.

An architectural point: there's a fairly distinct delineation between  
these three parts of
OpenLaszlo:
- the servlet
- the compiler, including the (script compiler and tag compiler)
- the lzx, swf, dhtml, and js files which are included in or  
referenced by a compiled lzx app.

>
> In the context of my OpenLaszlo Maven plugin, I plan to have 2
> possible deployment modes:
> - a server mode, in which LZX sources and other files are just copied
> over to a specified OpenLaszlo server setup
> - a standalone mode, in which you startup with LZX sources and other
> files and you end up with a fully deployable standalone EAR that can
> be deployed on any J2EE server.

Okay, so your "standalone" mode includes my #2 above, plus more. Have  
you looked at our SOLO mode? With SOLO, you don't need to run  
anything more than a webserver that serves up swf's; see, for  
example, http://sbshine.net/blog/2006/03/flickr-in-open-laszlo.html
which is served by my hosting provider, textdrive; for all their  
glory, they don't run a laszlo server, and I don't need them to; I  
just compiled my lzx as a SOLO deploy, and posted the swf it produced.


>
> For the first mode, I don't need to know more about OpenLazslo
> dependencies. But for the second mode, I need to have them in order to
> package them into the target EAR archive. A quick and dirty solution
> there would be to copy the lib files from the OpenLaszlo server to the
> target EAR, but the big problem there is that, if I have additional
> dependencies specific to my Maven project, there can be conflicts with
> libraries retrieved from the OpenLaszlo server.

Yeah -- this is going to be messy. There are 99 jars in trunk --
cd $LPS_HOME
find . -name "*.jar"
Some fraction of these jars are duplicates, multiple versions, or  
unused; I don't know which. You can ignore all jars listed in the  
test directory. If you're brave, dive into the 99 jars inside  
$LPS_HOME; a little bit of text processing should reduce this list to  
the unique jars, and indicate multiple versions. When you get to that  
point, I can help figure out which jars are actually being used.

We also use the jars installed in $ANT_HOME/lib from vendor:
cd $LZ_VENDOR_ROOT
find . -name "*.jar"
Each of these jars, I know well; I put them there myself, lovingly  
and with great deliberation.
Several of them a maven plugin won't need:
activation.jar  -- only needed to send email in the build process
mail.jar
catalina-ant.jar -- this comes with tomcat; currently 5.0.30; your  
process will use a tomcat maven plugin, i imagine
docbook-xsl-* -- only needed to build the documentation
junit.jar - I don't think you'll need this.

You will definitely need:
jing.jar
trang.jar

For 3.4 onward, you will also need:
bsf.jar -- only used by the ant build
js.jar - this comes from rhino 1.5R3


>
> If I can identify all the dependencies used by OpenLaszlo, I'll be
> able to centralize dependency management in the POM.



>
> 2006/7/14, P T Withington <[EMAIL PROTECTED]>:
>> I believe the jars are all in WEB-INF/lib.
>>
>> On 2006-07-14, at 12:40 EDT, Sebastien Arbogast wrote:
>>
>>> Hi,
>>>
>>> I'm currently trying to design a Maven 2 plugin for OpenLaszlo  
>>> and I'm
>>> having a hard time trying to figure out what JARs OpenLaszlo depends
>>> on, especially concerning versions.
>>>
>>> Could any Laszlo developer provide me with a comprehensive list of
>>> dependencies including versions and when possible, the place  
>>> where it
>>> can be found?
>>>
>>> Thx in advance.
>>>
>>> --
>>> Sébastien Arbogast
>>>
>>> http://www.sebastien-arbogast.com
>>>
>>> _______________________________________________
>>> Laszlo-dev mailing list
>>> [email protected]
>>> http://www.openlaszlo.org/mailman/listinfo/laszlo-dev
>>
>>
>
>
> -- 
> Sébastien Arbogast
>
> http://www.sebastien-arbogast.com
>
> _______________________________________________
> Laszlo-dev mailing list
> [email protected]
> http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

benjamin shine
software engineer
[EMAIL PROTECTED]




_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

Reply via email to