Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-incubator-e4-dev] e4 and Java5(was:Asynchronous Infrastructure)

Martin,

My understanding is that the .class files needed to support enums for 1.4 are tiny.  It was interesting, for example, that EMF's type safe enum pattern turned out to be binary compatible with Java 5.0's enums. 

It would definitely be interesting to hear from the JDT guys directly.  I believe the biggest roadblock in this space is Sun and its conformance rules.  We have exceedingly smart people around here who can solve any technical problem!  The JDT guys are exceptionally amazing...

Cheers,
Ed


Oberhuber, Martin wrote:
Actually,

I think I see where the problem is.

If a cross-compiler compiles an enum into some non-1.5-runtime 
utility class, the result will run on an 1.4 runtime but won't be 
interoperable with other plugins compiled with 1.5 against an 
1.5 runtime which also use enum but the "1.5 enum"...

That's not an issue with Generics, which are a source-only
concept.

Moreover, annotations likely won't be able to live in 
1.4 compatible classfiles.

Long story short, if Equinox moved to 1.5 then it could
likely still be compiled into some JARs which can run on
an 1.4 only runtime, but those JARs would need to be
separate from the JARs used with 1.5. And enums would
need to be forbidden in the APIs.

Cheers,
--
Martin Oberhuber, Senior Member of Technical Staff, Wind River
Target Management Project Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm
 
 

  
-----Original Message-----
From: eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx 
[mailto:eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx] On 
Behalf Of Oberhuber, Martin
Sent: Tuesday, November 04, 2008 9:56 PM
To: E4 developer list
Subject: RE: [eclipse-incubator-e4-dev] e4 and 
Java5(was:Asynchronous Infrastructure)

Well,

you can emulate Enums with a Class, can't you? In the end
that's what the Java5 classlib does itself. The crosscompiler
just needs to emit the required utility class(es). Whereby
the hard thing is emitting the utility class(es) only once.

I believe that's what retroweaver is doing too...

Cheers,
--
Martin Oberhuber, Senior Member of Technical Staff, Wind River
Target Management Project Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm
 
 

    
-----Original Message-----
From: eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx 
[mailto:eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx] On 
Behalf Of Tom Schindl
Sent: Tuesday, November 04, 2008 9:18 PM
To: E4 developer list
Subject: Re: [eclipse-incubator-e4-dev] e4 and Java5 
(was:Asynchronous Infrastructure)

Hi,

There are constructs in Java 5 you can't compile to Java 
      
1.4 like e.g.
    
enums whereas e.g. generics can get compiled to Java1.4 
without problems
and javac itself has an unsupported feature to make this work [1].

Tom

[1]http://dev.eclipse.org/newslists/news.eclipse.tools.jdt/msg
20212.html


Oberhuber, Martin schrieb:
      
Hi all,
 
I agree that Generics are a very big advantage of Java5, and
a decision in favor or against generics should likely be made
early, before much new code / API is created for e4. It's likely
that the decision needs to be considered separately for various
layers (Equinox/Runtime vs. RCP vs. IDE, particularly).
 
Retroweaver [1] <http://retroweaver.sourceforge.net/> 
        
supports compiling
      
Java5 sources into Java4
compatible binaries today. I'm not sure how good it is, and
I'd assume that some strategic member(s) would rather
beef up Eclipse's own ecj rather than relying on a SF project
it if we wanted to cross-compile.
 
That being said, is anybody from JDT core listening here?
Is it technically feasible to compile 1.5 sources into 1.4
bytecode with ecj?
 
I'm wondering how we can best move this important discussion
forward without burning everybody's time in flame wars.
I'd love to hear McQ's opinion on the matters.
 
[1] http://retroweaver.sourceforge.net/
 
Cheers,
--
*Martin Oberhuber*, Senior Member of Technical Staff, *Wind River*
Target Management Project Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm
 
 

    
        
--------------------------------------------------------------
----------
      
    *From:* eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx
    [mailto:eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx] 
        
*On Behalf Of
      
    *Ed Merks
    *Sent:* Tuesday, November 04, 2008 8:07 PM
    *To:* E4 developer list
    *Subject:* Re: [eclipse-incubator-e4-dev] Asynchronous
    Infrastructure (was:EFS, ECF and asynchronous)

    Guys,

    Comments below.


    Schaefer, Doug wrote:
        
    There's a big difference between "under 
          
consideration" and what
    
    will actually get done in e4. Even this discussion on
    asynchronousity, while interesting and important, 
          
isn't likely to
      
    lead to real code change, IMHO.
          
    There's a discussion killer. :-P
        
     
    And to compare this Java 4 versus 5 war
          
    War?
        
    to something we in the embedded space are also 
          
familiar with, how
      
    many APIs are C++ only and aren't based on a C layer. 
          
Java 5 will
      
    become ubuquitous when C++ does, which is pretty much never.
          
    I can't comment on the C++ verses C thing , other than 
        
to mention
      
    that Java killed the C++ IDE I was working on, but I 
        
see no reason
      
    why a Java 5.0 version of the micro libraries for 
        
embedded devices
      
    are an impossible thing.  Talking to the compiler guys, 
        
I'm lead to
      
    believe it's relatively trivial to cross compile Java 
        
5.0 to 1.4
    
    anyway; it's just not allowed by the language.  
        
Goodness knows what
      
    Sun is thinking...
        
     
    Sorry, cranky today :(
          
    I've got a pain in the neck myself...
        
     
    Doug.

        
          
--------------------------------------------------------------
----------
      
        *From:* eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx
        [mailto:eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx] *On
        Behalf Of *Pawel Piech
        *Sent:* Tuesday, November 04, 2008 1:43 PM
        *To:* E4 developer list
        *Subject:* Re: [eclipse-incubator-e4-dev] Asynchronous
        Infrastructure (was:EFS, ECF and asynchronous)

        I hate to say it, but perhaps it's time to admit 
          
that Eclipse
      
        community is too large and too divergent to be 
          
served by a
    
        single platform.  
          
    Blasphemer! :-P
        
        IMO, this is already happening and the e4 effort 
          
is in fact a
      
        fork.
          
    There are folks working very hard to ensure it's not a 
        
fork.  I.e.,
      
    to ensure that your 3.x plugins will run on 4.0...
        
          With the radical changes under consideration 
          
here, it's safe
      
        to say that 3.x is going to be around for a long 
          
long time 
    
    I'm not sure the radical changes are the cause, but it seems a
    fairly safe bet nevertheless.
        
        and e4 is going to be competing for its users and 
          
developers.
      
    It will be hard to split the efforts...
        
          Since e4's main selling point is innovation and lighter
        legacy load, the decision on using Java 5 seems 
          
obvious to me.
      
    Yes, I made that point at the summit.  We can't make a 
        
legitimate
      
    claim to achieving a progressive modern API while 
        
rejecting the
    
    modernization of the language itself.  Raw types just appear
    offensive when you've spent a great deal of time 
        
eliminating every
      
    vestige of them as was the case for EMF...
        
        But to bring this back to asynchronous programming.
          
    Nothing like an interesting digression into the 
        
parallel between C++
      
    and C compared to Java 5.0 and Java 1.4 to keep us 
        
entertained. :-)
      
        The concurrency package can be and has been cloned 
          
for older
      
        jvms, but I think generics are just as important.
          
    I can't help but bemoan how sad it is that there isn't a micro
    version for 5.0!  That pain in my neck gets worse 
        
just thinking
    
    about it. I hope it stays at neck level...
        
        Being able to parametrize the return types in a future,
        callable, and a callback interface makes a huge 
          
difference in
      
        making the code using them more readable and less 
          
error prone.
      
    Some will argue it's just sugar, but the point is, that 
        
there are
      
    those in the community of consider this sugar to make a huge
    difference, so therefore it makes a huge difference.
        
          Still, using Java 5 is not an all or nothing 
          
decision, so I
      
        don't think it's necessary to hold up development because
        there's no consensus on it.
          
    For the e4 UI work we're just starting to use and 5.0 
        
and consider
      
    things like cross compiling to 1.4 and back porting 
        
portions of
    
    libraries to be a potential solution.  It continues to be a
    festering sore point though...
        
        -Pawel

        Ed Merks wrote:
          
        Pawel,

        Lack of progress on the Java 5 front is 
            
primarily an issue
    
        with Sun's failure to keep the micro versions 
            
moving forward;
      
        perhaps that's more my opinion than a fact.  I 
            
believe that a
      
        5.0 JVM is not significantly bloated compared to 
            
1.4 and that
      
        migrating the micro libraries to 5.0 would not have a
        bloating impact on those either.  It's pretty 
            
frustrating to
      
        see stagnation of Java in one segment of the community. 
        While some in the community focus on what will be 
            
in Java 7.0
      
        others are stuck feeling like they will never be 
            
able to move
      
        beyond 1.4.  >From an E4 perspective of wanting to keep
        things lively, vibrant, modern, and 
            
forward-looking, it's
    
        particularly frustrating.  This case here is 
            
just a micro
    
        example of it.


        Pawel Piech wrote:
            
        Hi John,
        I didn't mean to sound so categorical, so I 
              
apologize for
    
        that.  As you mentioned in the bug it's likely 
              
parts or all
      
        of platform will never move to  Java 5, so 
              
preconditioning
      
        improvements in Eclipse APIs on it is a bad idea.  But
        whatever new APIs are created in this area, it would be
        ideal if they were designed in such a way that projects
        using Java 5 could still leverage the concurrent 
              
package and
      
        generics without having compatibility issues 
              
with rest of
    
        platform.

        Cheers,
        Pawel

        John Arthorne wrote:
              
        I didn't make the connection between the 
                
CBFuture class
    
        Martin proposed and Java 5's Future, so I 
                
didn't mean to
    
        compare the job API to the java.util.concurrent API. I
        agree that java.util.concurrent does a very 
                
good job of
    
        separating concerns and providing reusable
        interfaces/classes that we could incorporate 
                
into the Job
      
        API and other Eclipse APIs. I know you're 
                
already aware of
      
        it Pawel, but for others who are interested 
                
there is an
    
        existing bug report about making use of
        java.util.concurrent API in the jobs API:
        
                
https://bugs.eclipse.org/bugs/show_bug.cgi?id=178278. I've
      
        referenced this thread in the bug so that the 
                
information
      
        is available when the day comes that we can use 
                
Java 5 there.
      
        John




        *Pawel Piech <pawel.piech@xxxxxxxxxxxxx>*
        Sent by: eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx

        10/31/2008 12:53 PM
        Please respond to
        E4 developer list 
                
<eclipse-incubator-e4-dev@xxxxxxxxxxx>
    
        	
        To
        	E4 developer list 
                
<eclipse-incubator-e4-dev@xxxxxxxxxxx>
      
        cc
        	
        Subject
        	Re: [eclipse-incubator-e4-dev] 
                
Asynchronous Infrastructure
      
        (was:        EFS,        ECF and asynchronous)



        	





        Hi John,

        I don't think it's fair to compare just the *Future*
        interface to the entire jobs API.  Future is a single
        purpose interface, used to synchronously access 
                
a result of
      
        an asynchronous operation.  Jobs API includes, in some
        form, additional features found in the 
                
concurrent package:
      
        *Executor* - In the concurrent package this is another
        single-purpose interface which abstracts the task of
        running an operation using some facility.  In 
                
jobs API,
    
        this facility is implemented as a thread pool, or a UI
        dispatch loop when using UIJob.  
        *Callable* - It's basically a runnable with a 
                
return value.
      
         In jobs API, this is the Job.run():IStatus method.

        IMO, the killer feature of the concurrent 
                
package is that
      
        you can pick and choose the elements to use as is,
        re-implement other elements, and invent new 
                
elements as
    
        needed.  With the jobs API the choice is either all or
        nothing.  Looking forward in e4, or even 3.x, I 
                
hope that
      
        Eclipse can support the complete java 
                
concurrent package as
      
        a layer either above or below the jobs API.  
         If it is above, then all that would be needed is an
        Executor implementation which is a proxy to 
                
the current
    
        jobs API, which would simply execute Runnables and
        Callables using Jobs.  If it is below, which I 
                
think is the
      
        more work/more gain option, then the jobs API 
                
becomes a
    
        collection of components:
        - JobManager becomes an Executor which accepts 
                
any Runnable
      
        or Callable, where progress monitor and a 
                
scheduling rule
      
        are optional.
        - A Job becomes just an implementation of 
                
Callable<IStatus>.  
      
        - UIJob is replaced by a separate implementation of an
        Executor.  
        - etc.
         
        Supporting the java concurrent package would 
                
only make the
      
        current jobs api functionality more convenient and
        extensible.  The larger goal for e4 should be to make
        asynchronous programming in Eclipse easier and 
                
safer.  To
      
        that end we'd need additional standard APIs for 
                
things like
      
        callbacks and realms, and more importantly we'd 
                
need good
      
        tooling for validating and debugging 
                
asynchronous systems.  
      
        Cheers,
        Pawel



        John Arthorne wrote:

        There doesn't seem to be much difference 
                
between the future
      
        construct you describe and the Job API. You can attach
        listeners to jobs which seems to be the same as your
        Callback mechanism. Future.waitFor() is the same as
        Job.join(), and Future.get() is similar to 
                
Job.getResult().
      
        I did actually have futures in mind when 
                
designing the jobs
      
        API, with the job's "result" being the 
                
payload returned
    
        from the asynchronous operation. I initially made this
        result of type Object so clients could pass 
                
back whatever
      
        return value they wanted. I then perhaps mistakenly
        switched the result type to IStatus, thinking 
                
that clients
      
        could return sub-types of Status containing any result
        object they wanted. This is why I specified 
                
almost nothing
      
        for the return value of Job#run and 
                
Job#getResult, leaving
      
        it as a mechanism for clients to communicate 
                
whatever they
      
        want back to the caller.  In reality it didn't 
                
end up being
      
        used this way, because people fell into the 
                
common coding
      
        patterns around IStatus and just returned the usual
        OK/ERROR results.

        So, I'm wondering if there's something 
                
fundamental missing
      
        from Jobs that makes these asynchronous 
                
coding patterns
    
        difficult, and is there some incremental 
                
improvement we can
      
        make to Jobs to make it as expressive and 
                
useful as your
    
        Future construct?  If not, the 
                
org.eclipse.core.jobs bundle
      
        could still perhaps be a home for such an 
                
API, since it
    
        obviously needs a backing thread pool 
                
implementation with
      
        support for progress monitors, etc.

        John


        Martin Oberhuber wrote on 10/30/2008 04:47:02 PM:

        > Hi Scott, Pawel and all,
        >
        > it looks like this Thread has long left the 
                
resources/EFS
      
        > aspect of things, and moved to a more general 
                
discussion
      
        > about infrastructure for asynchronous 
                
coding patterns.
    
        >
        > I'd thus like to make the discussion more 
                
general. We
    
        > seem to agree that there needs to be some 
                
base infrastructure
      
        > for asynchronous coding patterns, and 
                
(perhaps even more
      
        > important) API Documentation for how to 
                
properly use that
      
        > infrastructure. If this base infrastructure 
                
is unified,
      
        > we all win.
        >
        > Thanks Scott for volunteering to offer your 
                
expertise
    
        > as well as contributions. What could be the 
                
next steps
    
        > towards making it happen? I'm assuming that the base
        > infrastructure should be in Equinox. Is anyone from
        > the Equinox team listening and could guide through
        > their process for contribution?
        >
        > Assuming that Equinox is right, we should 
                
perhaps first
      
        > find a proper place for this discussion; then argue
        > about good infrastructure/patterns; these need to be
        > backed by some actual usage somewhere. Right now, it
        > looks like what we'll want is at least
        >
        >   Future (aka RequestMonitor, AsyncExecutionResult)
        >   Callback (aka Listener)
        >   Status/MultiStatus (async variant)
        >   Executor/Queue/Realm (for posting async 
                
Runnables/Callbacks
      
        >           in a well-known Thread)
        >
        > along with some well-documented Exception types
        (cancellation,
        > timeout) as well as Threading paradigm.
        >
        > How to proceed from here? Potential clients of async
        > certainly include DD/DSF and ECF, perhaps 
                
Resources/EFS;
      
        > who else is interested in infrastructure for async?
        >
        > Cheers,
        > --
        > Martin Oberhuber, Senior Member of Technical 
                
Staff, Wind
      
        River
        > Target Management Project Lead, DSDP PMC Member
        > _http://www.eclipse.org/dsdp/tm_
        >  
        >  
        >
        > > -----Original Message-----
        > > From: 
                
_eclipse-incubator-e4-dev-bounces@eclipse.org_
    
        <mailto:eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx>
        > > 
                
[_mailto:eclipse-incubator-e4-dev-bounces@eclipse.org_] On
      
        > > Behalf Of Scott Lewis
        > > Sent: Wednesday, October 29, 2008 7:06 PM
        > > To: E4 developer list
        > > Subject: Re: [eclipse-incubator-e4-dev] 
                
[resources]
    
        EFS, ECF
        > > and asynchronous
        > >
        > > Hi Martin,
        > >
        > > Oberhuber, Martin wrote:
        > > > Hi Scott,
        > > >
        > > > to me, Futures and Listeners don't need to be a
        contradiction.
        > > >  
        > >
        > > Before my further comments...I don't 
                
believe they are in
      
        > > conflict either
        > > (that is, both can be used in some cases as 
                
described
      
        by Martin).  I
        > > guess I sort of presented them as 
                
exclusive, but I didn't
      
        > > really mean to
        > > have it be so.
        > >
        > > > What's more interesting to me, is how 
                
to deal with
    
        Progress.
        > > > When a Progress Monitor already exists for the
        client, then
        > > > using it makes a lot of sense even if the 
                
result is
      
        obtained
        > > > asynchronously:
        > > >
        > > > final CBFuture<IFileStore[]> childrenF =
        > > myFileStore.list(myProgress);
        > > > childrenF.chain(new Callback() {
        > > >    public void onDone(IStatus result) {
        > > >       if (result.isOK()) {
        > > >          handleResult(childrenF.get());
        > > >       }
        > > >    };
        > > > });
        > > >
        > > > I'm using class "CBFuture" as an 
                
"enhanced Future"
    
        that allows
        > > > registering Callbacks. Using a Callback style of
        handling things,
        > > > or CBFuture.waitFor() remains up to the 
                
client. Note
      
        that I'm
        > > > using a "chain()" method to indicate that the
        Framework/Future could
        > > > allow chaining multiple callbacks such 
                
that one is
    
        exeucuted after
        > > > the other. Also note how the callback 
                
retrieves the
      
        result of
        > > > computation from the Future, and not from the
        callback itself.
        > > >  
        > >
        > > I agree that the general issue of how to handle
        progress monitors is
        > > tricky.  Although I accept your ideas above 
                
as a possible
      
        > > solution, I'm
        > > not sure whether this is the 'right' 
                
mechanism or not
      
        for 'remote
        > > progress monitoring'.  I've been thinking 
                
about this
    
        for some
        > > time, but
        > > still don't feel like I have a good 
                
general solution
    
        for supporting
        > > IProgressMonitor for remote procedures.
        > >
        > > > The problems that I have seen with 
                
callbacks in our
      
        products
        > > > in the past are listed on
        > > >
        > >
        
                
_http://wiki.eclipse.org/E4/Pervasive_Themes#Becoming_More_Asy
nchronous_
      
        > > >
        > > > * Much boilerplate code - Closures would 
                
be nice to
      
        avoid explosion
        > > >   of anonymous inner classes, which could 
                
cause bloat
      
        > > >
        > > > * Need clarification on what thread and in what
        context the
        > > >   callback will be called
        > > >
        > > > * When debugging, it is very hard to 
                
trace back the
      
        flow of
        > > >   operation across multiple callback 
                
invocations. It
      
        can even
        > > >   make debuging close to impossible 
                
unless some Tracing
      
        > > >   functionality for the callbacks is 
                
built into the
      
        Framework
        > > >   (we ended up doing this in our 
                
commercial product).
      
        > > >
        > > > * Exception handling needs to be 
                
clarified. Java6
    
        Future only
        > > >   provides Future#isCanceled(), that's 
                
not enough
    
        since the
        > > >   result of an operation might also be an 
                
exception. I'm
      
        > > >   introducint "Istatus result" above but 
                
that's also not
      
        > > >   optimal.
        > > >  
        > >
        > > I agree these are other issues...thanks.
        > >
        > >
        > > > The synchronous variant needs more 
                
verbosity writing
      
        it than
        > > > one would expect, because cancellation 
                
and errors
    
        (exceptions)
        > > > need to be handled, wrapped and potentially
        re-wrapped with
        > > > Futures:
        > > >
        > > > final CBFuture<IFileStore[]> childrenF =
        > > myFileStore.list(myProgress);
        > > > try {
        > > >    handleResult(childrenF.get());
        > > > } catch(CancellationException e) {
        > > >    throw new OperationCancelledException(e);
        > > > } catch(ExecutionExeption e) {
        > > >    throw new CoreException(new 
                
Status(/*.blabla*/));
      
        > > > }
        > > >
        > > > although that could perhaps be simplified if we
        declared some
        > > > Eclipse specific implementation of Future which
        throws the
        > > > kinds of Exceptions that we already know (like
        CoreException
        > > > embedding an Istatus) instead of the JRE's
        ExecutionException
        > > > that's really alien to our current code.
        > > >  
        > >
        > > Yes, I agree that these are issues.  I also 
                
agree that
      
        it would be
        > > useful to have Equinox-specific impls of 
                
Future (which
      
        is really what
        > > the IAsyncResult interface was meant to be 
                
and can/will
      
        > > change to be if
        > > desired).  Further, I've recently also 
                
realized that there
      
        > > also should
        > > probably be something like remote impls of
        > > IStatus/MultiStatus, as I've
        > > been doing some remote mgmt interfaces 
                
(i.e. accessing
      
        and managing a
        > > remote processes' OSGi framework, p2, 
                
etc)...and it's
      
        clear
        > > to me that
        > > it is going to be very helpful to support 
                
the usage of
      
        > > IStatus/Multistatus as return values, as well as
        exceptions in remote
        > > service access.  I agree that 
                
Future/IAsyncResult as
    
        well as
        > > IStatus/Multistatus and exception types 
                
should be widely
      
        > > available (i.e.
        > > in Equinox rather than redone/available in many
        locations above
        > > Equinox).  We (ECF) are willing to contribute (and
        modify as desired)
        > > what we've done in this area (e.g. 
                
IAsyncResult+impl,
      
        > > RemoteStatus/RemoteMultiStatus, exception 
                
types) as
    
        desired.
        > >
        > > Scott
        > >
        > >
        > >
        > > > Cheers,
        > > > --
        > > > Martin Oberhuber, Senior Member of 
                
Technical Staff,
      
        Wind River
        > > > Target Management Project Lead, DSDP PMC Member
        > > > _http://www.eclipse.org/dsdp/tm_
        > > > _______________________________________________
        > > > eclipse-incubator-e4-dev mailing list
        > > > _eclipse-incubator-e4-dev@eclipse.org_
        <mailto:eclipse-incubator-e4-dev@xxxxxxxxxxx>
        > > >
        
                
_https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev_
      
        > > >  
        > >
        > > _______________________________________________
        > > eclipse-incubator-e4-dev mailing list
        > > _eclipse-incubator-e4-dev@eclipse.org_
        <mailto:eclipse-incubator-e4-dev@xxxxxxxxxxx>
        > >
        
                
_https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev_
      
        > >
        > _______________________________________________
        > eclipse-incubator-e4-dev mailing list
        > _eclipse-incubator-e4-dev@eclipse.org_
        <mailto:eclipse-incubator-e4-dev@xxxxxxxxxxx>
        >
        
                
_https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev_
      
        
                
--------------------------------------------------------------
----------
      
        _______________________________________________
        eclipse-incubator-e4-dev mailing list
        _eclipse-incubator-e4-dev@eclipse.org_
        <mailto:eclipse-incubator-e4-dev@xxxxxxxxxxx>
        
                
_https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev_
      
         
        _______________________________________________
        eclipse-incubator-e4-dev mailing list
        eclipse-incubator-e4-dev@xxxxxxxxxxx
        
                
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
      
        
                
--------------------------------------------------------------
----------
      
        _______________________________________________
        eclipse-incubator-e4-dev mailing list
        eclipse-incubator-e4-dev@xxxxxxxxxxx
        
                
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
      
          
                
        
              
--------------------------------------------------------------
----------
      
        _______________________________________________
        eclipse-incubator-e4-dev mailing list
        eclipse-incubator-e4-dev@xxxxxxxxxxx
        
              
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
      
          
              
        
            
--------------------------------------------------------------
----------
      
        _______________________________________________
        eclipse-incubator-e4-dev mailing list
        eclipse-incubator-e4-dev@xxxxxxxxxxx
        
            
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
      
          
            
    
          
--------------------------------------------------------------
----------
      
    _______________________________________________
    eclipse-incubator-e4-dev mailing list
    eclipse-incubator-e4-dev@xxxxxxxxxxx
    
          
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
      
      
          

        
--------------------------------------------------------------
----------
      
_______________________________________________
eclipse-incubator-e4-dev mailing list
eclipse-incubator-e4-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
        
-- 
B e s t S o l u t i o n . a t                        EDV 
Systemhaus GmbH
--------------------------------------------------------------
----------
tom schindl                               leiter 
softwareentwicklung/CSO
--------------------------------------------------------------
----------
eduard-bodem-gasse 8/3    A-6020 innsbruck      phone    ++43 
512 935834
_______________________________________________
eclipse-incubator-e4-dev mailing list
eclipse-incubator-e4-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev

      
_______________________________________________
eclipse-incubator-e4-dev mailing list
eclipse-incubator-e4-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev

    
_______________________________________________
eclipse-incubator-e4-dev mailing list
eclipse-incubator-e4-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
  

Back to the top