Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » "portable" target definitions?
"portable" target definitions? [message #662655] Thu, 31 March 2011 12:47 Go to next message
Kristian Rink is currently offline Kristian RinkFriend
Messages: 36
Registered: July 2009
Member
Folks;

at the moment, I'm afraid to be again left with a rather fundamental
question: After playing with Eclipse RAP in an experimental environment
for a while, I decided to push part of the prototype project to github,
making it publicly available... only to figure out that, in the end, I
don't have a really sane and meaningful way to, all along with this,
transport the target platform I used, which mainly is a "clean" RAP 1.4
Mx target. My initial idea was to provide a target definition
containing just a link to an Eclipse update site so anyone who would be
to pull the code off github might easily be able to download the bits
required to run it. Unfortunately, I failed doing so, the target always
happened to be empty... not even talking about a bunch of custom OSGi
bundles thrown into it, in example things required to export the RAP
application as a product and run it outside the Eclipse IDE.

So, maybe this is not a question too closely tied to RAP, but I am
encountering it all along with RAP, so maybe someone might have seen
this already: How do you deal with setups like this? How to
meaningfully distribute RAP target, OSGi bundles eventually required in
addition to that (equinox dynamic services, some apache stuff, ... that
comes with the Eclipse IDE) all along with the source coude, best of
course without having to dump all the binaries into git / svn? _Is_
there a way of doing so, after all?

The outcome should be having a thin Eclipse source project with a
product definition in github, and an easy, straightforward, "standard
Eclipse" way for everyone to build the target platform required to
export this Eclipse project as a runnable product. Ideally, it would
work just as building a fat war using maven2 does work (fetching,
installing all dependencies more or less automatically).

Thoughts, recommendations, ...?
Thanks a bunch for your patience,
Kristian
Re: "portable" target definitions? [message #662689 is a reply to message #662655] Thu, 31 March 2011 15:04 Go to previous messageGo to next message
Cole Markham is currently offline Cole MarkhamFriend
Messages: 150
Registered: July 2009
Location: College Station, TX
Senior Member

Kristian,

We handle this internally by having a project in eclipse which contains our target platform. Then in the target definition (.target file), we reference the directories within the project using workspace_loc variables.

So the project looks something like this:
rap.target-platform
 \_ rap-1.4
     \_ features
     \_ plugins
 \_ extras
     \_ features
     \_ plugins


Then the target definition would look like this (using "Directory" when you add each element):
${workspace_loc:/rap.target-platform/rap-1.4}
${workspace_loc:/rap.target-platform/extras}


For sharing with our team we do check this into SVN, but you could just as easily export it as a zip file to share, File->Export->General/Archive File->select the rap.target-platform project. Then just do File->Import->Existing Projects into Workspace->select the archive file you exported.

Once you have imported or updated the target platform project either from zip file or svn/git, then you need to open the target definition file and click the Set as Target Platform link at the top-right. Be sure to do this anytime the plugins are updated or you will get odd errors.

Hope that helps,

Cole
Re: "portable" target definitions? [message #662694 is a reply to message #662655] Thu, 31 March 2011 14:54 Go to previous messageGo to next message
Rüdiger Herrmann is currently offline Rüdiger HerrmannFriend
Messages: 335
Registered: July 2009
Senior Member
Kristian,

you may also want to consult the PDE forum [1] as PDE provides tooling
for developing with OSGi, hence there you will likely find the real
experts. If I understand it right, your concern is how to make your
target platform easily consumable.

In past projects, I set up the target platform along with a target
definition as a project and stored it in the same source code repository
as the bundles it was the base for. Even though it might appear as a
misuse of source code repositories, it is *very* easy to consume for others.
If you even provide a team project set, others only need to check it
out, open the target definition editor and click the "set as target"
button. Then and their environment is set up and they are ready to go.

Another way to provision your target platform might be to set up a p2
repository. This is also easy to consume but probably requires more work
to set up.

HTH
Rüdiger

[1]
http://www.eclipse.org/forums/index.php?t=thread&frm_id= 130&S=ada0438d597c27446b6dd7a935c58599

On 31.03.2011 14:47, Kristian Rink wrote:
> Folks;
>
> at the moment, I'm afraid to be again left with a rather fundamental
> question: After playing with Eclipse RAP in an experimental environment
> for a while, I decided to push part of the prototype project to github,
> making it publicly available... only to figure out that, in the end, I
> don't have a really sane and meaningful way to, all along with this,
> transport the target platform I used, which mainly is a "clean" RAP 1.4
> Mx target. My initial idea was to provide a target definition
> containing just a link to an Eclipse update site so anyone who would be
> to pull the code off github might easily be able to download the bits
> required to run it. Unfortunately, I failed doing so, the target always
> happened to be empty... not even talking about a bunch of custom OSGi
> bundles thrown into it, in example things required to export the RAP
> application as a product and run it outside the Eclipse IDE.
>
> So, maybe this is not a question too closely tied to RAP, but I am
> encountering it all along with RAP, so maybe someone might have seen
> this already: How do you deal with setups like this? How to
> meaningfully distribute RAP target, OSGi bundles eventually required in
> addition to that (equinox dynamic services, some apache stuff, ... that
> comes with the Eclipse IDE) all along with the source coude, best of
> course without having to dump all the binaries into git / svn? _Is_
> there a way of doing so, after all?
>
> The outcome should be having a thin Eclipse source project with a
> product definition in github, and an easy, straightforward, "standard
> Eclipse" way for everyone to build the target platform required to
> export this Eclipse project as a runnable product. Ideally, it would
> work just as building a fat war using maven2 does work (fetching,
> installing all dependencies more or less automatically).
>
> Thoughts, recommendations, ...?
> Thanks a bunch for your patience,
> Kristian
Re: "portable" target definitions? [message #662833 is a reply to message #662694] Fri, 01 April 2011 07:20 Go to previous message
Kristian Rink is currently offline Kristian RinkFriend
Messages: 36
Registered: July 2009
Member
Hi Rüdiger, Cole;

and first off, thanks a bunch for your thoughts on that, really much
appreciated. Setting up a p2 update site indeed would be the most
straightforward way to go, I'll look into this. Meanwhile, I think I'll
go with having the target platform in the workspace and dumping it to
GIT for people to use it. Which, talking about using github.com for an
open source project, only leaves me with the question of whether or not
this is a "legally" safe approach. Talking about org.eclipse.* and some
apache/commons bundles, I see all the things I have in my target
platform are essentially open source and/or allow for redistribution,
yet I am not sure whether I miss any pitfalls that could cause trouble
here from a legal point of view (this, asides my dislike for dumping
large binaries into there, is my main worry about the
target-platform-in-git approach so far). What do you guys think about
this?

TIA and all the best,
Kristian
Previous Topic:Key Bindings (RAP/FAQ)
Next Topic:Javascript-Error with 1.4.0M6
Goto Forum:
  


Current Time: Fri Apr 19 00:00:13 GMT 2024

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

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

Back to the top