Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » webappBuilder: binary cycles?
webappBuilder: binary cycles? [message #134958] Thu, 04 June 2009 20:10 Go to next message
Kristian Rink is currently offline Kristian RinkFriend
Messages: 64
Registered: July 2009
Member
Folks;

using the webappBuilder.xml script to package our application to a .war
file, I thought I so far have seen everything... until just a few moments
ago, after throwing in some additional bundles to our application, the
dreaded "A cycle was detected when generating the classpath..." message
appeared when trying to run the pde:exportFeatures task. Reading through
[1], I see that Eclipse 3.5 has a way of dealing with this, unfortunately I
haven't yet found out how to make this work with webappBuilder.xml. Can
someone enlighten me about this?

And, adding to this again, is there a more "reliable" way of building a .war
file than that? Right now, despite RAP development in Eclipse is pretty
straightforward, I usually do spend an amount of time way too long in order
to get everything right to make webappBuilder.xml work again given, i.e.,
bundles have been added or removed. Can I "abuse" PDE Build to make a RAP
application a .war file? Is this documented anywhere, if so?

Thanks in advance and best regards,
Kristian

PS: Please cc' me in case of any replies as I am out-of-office (thus away
from NNTP most of the time... :( ).


[1] http://eclipsesource.com/blogs/2008/10/28/tip-pde-build-and- binary-cycles/
Re: webappBuilder: binary cycles? [message #135231 is a reply to message #134958] Fri, 05 June 2009 17:27 Go to previous messageGo to next message
Rüdiger Herrmann is currently offline Rüdiger HerrmannFriend
Messages: 581
Registered: July 2009
Senior Member
Kristian Rink wrote:
> Folks;
>
> using the webappBuilder.xml script to package our application to a .war
> file, I thought I so far have seen everything... until just a few moments
> ago, after throwing in some additional bundles to our application, the
> dreaded "A cycle was detected when generating the classpath..." message
> appeared when trying to run the pde:exportFeatures task. Reading through
> [1], I see that Eclipse 3.5 has a way of dealing with this, unfortunately I
> haven't yet found out how to make this work with webappBuilder.xml. Can
> someone enlighten me about this?
You may ask the blog author as he probably knows best how to have
pdeExportFeatures ignore those dependencies.

>
> And, adding to this again, is there a more "reliable" way of building a .war
> file than that? Right now, despite RAP development in Eclipse is pretty
> straightforward, I usually do spend an amount of time way too long in order
> to get everything right to make webappBuilder.xml work again given, i.e.,
> bundles have been added or removed. Can I "abuse" PDE Build to make a RAP
> application a .war file? Is this documented anywhere, if so?
We use PDE Build to build the online demos. As a starting point you
could use the "org.eclipse.rap.releng.warbuild" project, that can be
found in CVS. There is not so much "abuse" except that the result is
packed into a war file.

>
> Thanks in advance and best regards,
> Kristian
>
> PS: Please cc' me in case of any replies as I am out-of-office (thus away
> from NNTP most of the time... :( ).
>
>
> [1] http://eclipsesource.com/blogs/2008/10/28/tip-pde-build-and- binary-cycles/
Re: webappBuilder: binary cycles? [message #135369 is a reply to message #135231] Mon, 08 June 2009 06:48 Go to previous messageGo to next message
Kristian Rink is currently offline Kristian RinkFriend
Messages: 64
Registered: July 2009
Member
Hi Rüdiger, *;

.... and, first off, thanks a bunch for your comments on that.


Rüdiger Herrmann schrieb:
> You may ask the blog author as he probably knows best how to have
> pdeExportFeatures ignore those dependencies.

Done so. Gonna wait and see whether some enlightenment is to be gained from
that...


> We use PDE Build to build the online demos. As a starting point you
> could use the "org.eclipse.rap.releng.warbuild" project, that can be
> found in CVS. There is not so much "abuse" except that the result is
> packed into a war file.

Well, I already by now played with this a couple of times, but never so far
succeed, instead failing in various ways:

- Not sure this works flawlessly with Eclipse 3.5Mx builds, simply replacing
plugin version strings that seem to relate to 3.4 didn't work out of the box.

- Running this seems sort of "black art" at the moment: While working on a
RAP based application, it seems the launcher provided with releng.warbuild
doesn't work at all. Working in a "clean" workspace, having the stock
Eclipse distribution set to be target build platform, it seems to work
though it, to some degree, seems to depend upon other projects pulled off
CVS to the local workspace (releng.tooling?), while it's not completely
clear which projects are required for that.

- In the build.properties files of releng.warbuild and releng.tooling, I see
a lot of entries like "<buildType-set-by-system-property>" in places in
which, doing an RCP PDE Build, I would have put actual values. They don't,
however (at least looking at the launcher provided with releng.warbuild)
seem to be set anywhere, at least it's not clear where.

- As a load of relevant information seem(?) to be hard-wired in the launch
configuration rather than the properties / build scripts, so running this as
a headless PDE build also seems not possible in such a straightforward fashion.

My last try, so far, was to again start over with a clean workspace, try to
check out all the projects that seemed relevant, run the releng.warbuild
launcher, see it check out a whole load of additional CVS projects to
eventually fail like this:


BUILD FAILED
/home/kr/kontext/runtime/devtools/eclipse3.5/plugins/org.ecl ipse.pde.build_3.5.0.v20090521-1730/scripts/build.xml:24:
The following error occurred while executing this line:
/home/kr/kontext/runtime/devtools/eclipse3.5/plugins/org.ecl ipse.pde.build_3.5.0.v20090521-1730/scripts/build.xml:72:
The following error occurred while executing this line:
/home/kr/workspaces/rap-cvs-clean/org.eclipse.rap.releng.too ling/customTargets.xml:68:
Warning: Could not find file
/home/kr/kontext/runtime/devtools/eclipse3.5/plugins/org.ecl ipse.pde.build_3.5.0.v20090521-1730/scripts/${rapTarget}
to copy.


This is somewhat confusing, and it's a pretty sad situation actually: While
RAP in itself is a pretty great technology to use and to deal with, but the
way to get an actual application out and deployed still leaves a bit to be
improved. :(

Cheers & all the best,
Kristian
Re: webappBuilder: binary cycles? [message #135624 is a reply to message #135369] Tue, 09 June 2009 20:34 Go to previous messageGo to next message
Rüdiger Herrmann is currently offline Rüdiger HerrmannFriend
Messages: 581
Registered: July 2009
Senior Member
Kristian,

RAP is based on Equinox and adapts RCP. As a consequence it
"inherits" its build system that is maintained by the "releng
project" [1]. Please see there for a general introduction and
documentation or to report enhancements request.
It is out of scope for RAP to provide a general purpose war build
system.

Please also see my comments below.

HTH
Rüdiger

[1] http://www.eclipse.org/eclipse/platform-releng/index.php

Kristian Rink wrote:
> Hi Rüdiger, *;
>
> .... and, first off, thanks a bunch for your comments on that.
>
>
> Rüdiger Herrmann schrieb:
>> You may ask the blog author as he probably knows best how to have
>> pdeExportFeatures ignore those dependencies.
>
> Done so. Gonna wait and see whether some enlightenment is to be gained from
> that...
>
>
>> We use PDE Build to build the online demos. As a starting point you
>> could use the "org.eclipse.rap.releng.warbuild" project, that can be
>> found in CVS. There is not so much "abuse" except that the result is
>> packed into a war file.
>
> Well, I already by now played with this a couple of times, but never so far
> succeed, instead failing in various ways:
>
> - Not sure this works flawlessly with Eclipse 3.5Mx builds, simply replacing
> plugin version strings that seem to relate to 3.4 didn't work out of the box.
We are running the releng.warbuild on Eclipse 3.4. for other
versions I don't know.

>
> - Running this seems sort of "black art" at the moment: While working on a
> RAP based application, it seems the launcher provided with releng.warbuild
> doesn't work at all. Working in a "clean" workspace, having the stock
> Eclipse distribution set to be target build platform, it seems to work
> though it, to some degree, seems to depend upon other projects pulled off
> CVS to the local workspace (releng.tooling?), while it's not completely
> clear which projects are required for that.
Right, releng.warbuild re-uses the map file from releng. I am not
aware that there is a dependency on releng.tooling.

>
> - In the build.properties files of releng.warbuild and releng.tooling, I see
> a lot of entries like "<buildType-set-by-system-property>" in places in
> which, doing an RCP PDE Build, I would have put actual values. They don't,
> however (at least looking at the launcher provided with releng.warbuild)
> seem to be set anywhere, at least it's not clear where.
The launch config that comes with the warbuild sets the value "N"
for the buildType. Not sure what is going wrong here.

Alternatively you could have a look at the shell scripts in
....releng/scrips to run the build.

>
> - As a load of relevant information seem(?) to be hard-wired in the launch
> configuration rather than the properties / build scripts, so running this as
> a headless PDE build also seems not possible in such a straightforward fashion.
As said in my previous post, you may find this useful as a starting
point or template and adjust it to fit your needs. It is not meant
to be a general RAP build system.

>
> My last try, so far, was to again start over with a clean workspace, try to
> check out all the projects that seemed relevant, run the releng.warbuild
> launcher, see it check out a whole load of additional CVS projects to
> eventually fail like this:
>
>
> BUILD FAILED
> /home/kr/kontext/runtime/devtools/eclipse3.5/plugins/org.ecl ipse.pde.build_3.5.0.v20090521-1730/scripts/build.xml:24:
> The following error occurred while executing this line:
> /home/kr/kontext/runtime/devtools/eclipse3.5/plugins/org.ecl ipse.pde.build_3.5.0.v20090521-1730/scripts/build.xml:72:
> The following error occurred while executing this line:
> /home/kr/workspaces/rap-cvs-clean/org.eclipse.rap.releng.too ling/customTargets.xml:68:
> Warning: Could not find file
> /home/kr/kontext/runtime/devtools/eclipse3.5/plugins/org.ecl ipse.pde.build_3.5.0.v20090521-1730/scripts/${rapTarget}
> to copy.
Seeing the ${rapTarget} property, it looks like you are running the
tooling build, this is probably not what you actually want.

>
>
> This is somewhat confusing, and it's a pretty sad situation actually: While
> RAP in itself is a pretty great technology to use and to deal with, but the
> way to get an actual application out and deployed still leaves a bit to be
> improved. :(
>
> Cheers & all the best,
> Kristian
>
Re: webappBuilder: binary cycles? [message #135637 is a reply to message #135624] Wed, 10 June 2009 06:23 Go to previous message
Kristian Rink is currently offline Kristian RinkFriend
Messages: 64
Registered: July 2009
Member
Hi Rüdiger;

and first off, thanks a bunch for your statements and help on that, really
appreciated.

Rüdiger Herrmann schrieb:

> RAP is based on Equinox and adapts RCP. As a consequence it "inherits"
> its build system that is maintained by the "releng project" [1].

From the RCP-RAP and single-sourcing approach, this seems generally
reasonable. However I wonder, by then, how RAP applications in "productive"
environments are used at the moment? Building, deploying a "normal" Eclipse
Platform application, just containing an RAP not RCP UI, moving this stuff
to the server and re-starting the binary there? I was thinking about this as
well but it seems pretty clumsy compared to, say, deploying a .war file to
some Java EE container...


> Please see there for a general introduction and documentation or to report
> enhancements request.
> It is out of scope for RAP to provide a general purpose war build system.

Okay, I will have a look at this then. Pardon me if I am all too "demanding"
on that, I just supposed that, given that on one side the RAP tooling is
pretty sophisticated already, and on the other side something like .war
deployment is pretty much "the way to go" in server side Java, I thought of
this as something utterly obvious I just so far missed to figure out how to
get it done. At the moment, I am still using the webappBuilder.xml and the
feature containing it, manually exporting the bundles to the "build/" folder
using the IDE tooling (as the binary cycles issue still doesn't work the way
I want it) and manually packing the .war file. This is not really a nice
procedure, but it works...


>> doesn't work at all. Working in a "clean" workspace, having the stock
>> Eclipse distribution set to be target build platform, it seems to work
>> though it, to some degree, seems to depend upon other projects pulled off
>> CVS to the local workspace (releng.tooling?), while it's not completely
>> clear which projects are required for that.
> Right, releng.warbuild re-uses the map file from releng. I am not aware
> that there is a dependency on releng.tooling.

Well, I don't really "know". I just figured out that, "just" checking out
and trying to run releng.warbuild, the warbuild launch configuration stops
rather early. Checking out releng.tooling as well makes it terminate a
little later. As I am not completely sure how the RAP build process and the
warbuild launcher actually works, it's all "trial-and-error" at the moment. :(

[...]
>> however (at least looking at the launcher provided with releng.warbuild)
>> seem to be set anywhere, at least it's not clear where.
>
> The launch config that comes with the warbuild sets the value "N" for
> the buildType. Not sure what is going wrong here.

Maybe blame it to the "trial-and-error" approach again, at the moment I'm
walking the fog, trying to figure out how the pieces go together and what it
takes to make things "really" work...


> Alternatively you could have a look at the shell scripts in
> ...releng/scrips to run the build.

I will do that, thanks a bunch for the pointer and, overally, your patience
in that. :)

Cheers,
Kristian
Previous Topic:image + war
Next Topic:Possibility to remove H_SCROLL and V_SCROLL from Tables
Goto Forum:
  


Current Time: Fri Dec 03 17:28:25 GMT 2021

Powered by FUDForum. Page generated in 0.02400 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top