Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [wtp-dev] Runtime Types API

Hi Alex,

A runtime type represents a particular type of runtime - e.g. Tomcat v5.0 or JBoss v4. A user can create one or more instances of the runtime, based on what they have installed on their machine. (Alternately, a plugin could provide a "stub" runtime or other predefined mechanism so that a runtime is available by default)

When the user targets a particular project to deploy to one of those runtimes, one or more RuntimeTargetHandlers are notified (based on the runtime type id) and get to decide what changes should be made to the project. The most common use is setting the classpath, so there is a ClasspathRuntimeTargetHandler available for reuse. However, the handler can do anything it wants - adding & removing builders or generating some default resources are definitely within it's reach.

Tim deBoer
WebSphere Tools - IBM Canada Ltd.
(905) 413-3503  (tieline 969)

Alexander Smirnoff <alexsmr@xxxxxxxxxxxx>
Sent by: wtp-dev-admin@xxxxxxxxxxx

12/21/2004 11:46 AM

Please respond to

Re: [wtp-dev] Runtime Types API


Thanks for response. One of  Pollinate requirements is to supply a
runtimes and embedded server with plugin distribution. Right now I'm
playing with runtimes mostly. My goal is to provide "embedded" runtime,
that during project creation time will automatically include all
necessary libraries in classpath (based on the project wizard settings,
for example).

But I'm still confused: how then Enterprise Application that could have
many modules/projects contribute their runtimes when publishing on the

I would expect more flexibility from runtimes:

- contributing set of libraries to the project classpath (obvious case)
- contributing builders to the project (for example, XMLbeans builder or
PageFlow builder)
- contributing project resources (standard types of the resources like
taglibs or configuration files)

Is that what the RuntimeTargetHandler is for? So then, how it relates to


Gorkem Ercan wrote:

>You can have a runtime similiar to J2EE runtime for Pollinate that has
>J2EE libraries and Beehive libraries(struts,xmlbeans).  You can
>publish and test this project/module with any other server you create
>although the configured Runtime for the project is your pollinate
>runtime. From a modules view a Runtime provides the libraries to be
>compiled against. You can choose the server you wish to publish to at
>publish time.
>Gorkem Ercan
>On Mon, 20 Dec 2004 21:06:34 -0500, Timothy Deboer <deboer@xxxxxxxxxx> wrote:
>>Hi Alex,
>>You are correct - although we will soon have multiple modules per project in
>>WTP, the runtime targetting is per project. The main reason for this is that
>>the kind of thing that targetting a runtime implies (setting the classpath,
>>validation, resolving DTDs, etc) tend to all be based around the project and
>>cannot be applied to anything smaller. For instance, JDT doesn't allow you
>>to create two folders within a project and have them compile against
>>different sets of libraries.
>>In the past, we had also tried creating different runtime target classpaths
>>or other behaviour based on the type of module - Web modules might have one
>>classpath, and EJB modules a different one when both were targetted to the
>>same runtime. However, we found this to be confusing to the user, ugly to
>>code, and have minimal use. So the runtime target tends to be the complete
>>(superset) target for all supported module types.
>>So, the plan is that we will stick to one runtime per project. This will
>>mean we have the limitation that if you put multiple modules per project
>>they will have the same runtime target. In most scenarios this should not be
>>an issue because the modules are most likely going to run on the same
>>server. Please let me know if you have any major concerns or further
>>Tim deBoer
>> WebSphere Tools - IBM Canada Ltd.
>> (905) 413-3503  (tieline 969)
>> deboer@xxxxxxxxxx
>> Alexander Smirnoff <alexsmr@xxxxxxxxxxxx>
>>Sent by: wtp-dev-admin@xxxxxxxxxxx
>>12/20/2004 03:31 PM
>>Please respond to
>> wtp-dev
>>To wtp-dev@xxxxxxxxxxx
>>Subject [wtp-dev] Runtime Types API
>>I need some clarifications on server API.
>> As far as I understand, I can have only one (server) Runtime per
>> project. How would I handle situation when some projects/modules require
>> different types of  libraries to compile. For example one project can
>> have (optionally) xmlbeans libraries, and/or beehive and struts (also
>> optionally) runtime. At the end it must to run under different types of
>> Servers, using their runtime. Do you have the flexibility to make this
>> separation (within the same project) or it will be always one runtime
>> having all in one?
>> Thanks,
>> Alex.
>> _______________________________________________
>> wtp-dev mailing list
>> wtp-dev@xxxxxxxxxxx

wtp-dev mailing list

Back to the top