SlideShare a Scribd company logo
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. | 2008-03-17
ABC of Platform Workspace
Szymon Brandys
Tomasz Zarna
IBM Krakow Software Lab
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Introduction
• Workspace components
 Resources
 Compare
 Team
 CVS
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Resources overview
• An essential plug-in for Eclipse IDE applications is the resources plug-in (named
org.eclipse.core.resources).
• The resources plug-in provides services for accessing the projects, folders, and files that a
user is working on.
• The resources plug-in provides services for managing meta-data associated with resources
(Markers: breakpoints, tasks, bookmarks, etc and Properties: arbitrary objects associated
with resources)
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Compare, Team and CVS overview
• Compare
 comparison of alternate states of a file system
• Team
 repository tooling integration into Eclipse
• CVS
 implementation of a CVS client
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Agenda
• Resources
 Workspace
 Resources
 Properties
 Preferences
 Content types
 Linked resources
 Markers
 Natures
 Builders
 Alternate file systems
 Demo
• Team/Compare
 Repository Integration Framwork
 Compare Framework
 Demo
• Summary and questions
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Workspace
• Workspace is a central hub for user’s files
• The workspace contains a collection of
resources. From the user perspective
there are three different types of
resources: projects, folders, files.
Resources are organized in a tree.
• The resources plug-in provides APIs for
creating, navigating, and manipulating
resources in a workspace. The workbench
uses these APIs to provide this
functionality to the user. Your plug-in can
also use these APIs.
• Derived resources
are resources that are not original data,
and can be recreated from their source
files. It is common for derived files to be
excluded from certain kinds of
processing.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Resources API
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Some useful tools
See the modules in dev.eclipse.org repository
org.eclipse.core.tools
org.eclipse.core.tools.resources
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Basic plug-in
Dependency to org.eclipse.core.runtime
Content types
Dependency to org.eclipse.core.resources
Resource operations
Builder framework
Natures
Dependency to org.eclipse.core.filesystem
EFS
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Properties
Properties can be used to store meta-information about the resource. This mechanism can be used in
user plug-ins to hold information specific for that plug-in.
When a resource is deleted, its properties are deleted too.
There are two kinds of properties
• Session properties
 allow your plug-ins to easily cache information about a resource in key-value pairs
 the values are arbitrary objects
 these properties are maintained in memory and lost when a resource is deleted from the
workspace, or when the project or workspace is closed
• Persistent properties
 store information on disc in the workspace metadata
 the value of a persistent property is an arbitrary string
 the strings are intended to be short (under 2KB)
 Properties are maintained across platform shutdown and restart
To manipulate properties API is provided (see IResource class)
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Project preferences
• Preferences in Eclipse (short overview)
Eclipse provide the infrastructure for defining and storing preferences with different scopes
and org.eclipse.core.runtime.preferences extension can be used to define additional scopes
for preferences.
Preferences typically map to settings controlled by the user on the Preferences page,
although this is not required by the underlying infrastructure. Plug-in preferences are
key/value pairs, where the key describes the name of the preference, and the value is one of
several different types (boolean, double, float, int, long, or string). Preferences can be stored
and retrieved by the platform from the file system. The exact location of the saved
preferences depends upon the scope of the preference.
• The platform resources plug-in defines its own preference scope for projects. Project-scoped
preferences are stored in a file located inside the project.
• Using project scope preference
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Content types
• What is content type?
• There are some features of
Eclipse
that are content-sensitive, such as
automatic encoding
determination, editor selection,
and menu contributions.
• The content type registry is
extensible so plug-ins can
contribute new content type
definitions.
• How to define new content type
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Linked resources
Linked resources are provided so that
files and folders inside a project can be
stored in a file system outside of the
project's location.
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Markers
• What is Marker?
A marker is an extra note stuck to a
resource. On the marker you can
record information about a problem or
a task to be done.
• How to manipulate markers?
• How to add new marker type
Plug-ins can declare their own marker
types using the
org.eclipse.core.resources.markers
extension point.
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Markers (subtypes)
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Natures
• Project natures allow to mark a project as a specific
kind of project. This mechanism can be used to add
a specific behaviour to projects.
• A project can have more than one nature. However,
when you define a project nature, you can define
special constraints for the nature
Constraints:
 one-of-nature
 requires-nature
• Plug-ins can contribute implementations for natures
using the org.eclipse.core.resources.natures
extension point and supplying a class which
implements IProjectNature
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Natures – why use them?
• Configure and deconfigure when a nature is added/removed to a
project (oportunity to add additional attributes to projest. Modify its
metadata, add builders)
• propertyPages and popupMenus have filter mechanism which
recognizes natures
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Linked resources and natures
What if a plug-in is not able to
handle linked resources?
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Content types and natures
Natures can declare affinity with arbitrary
content types, affecting the way content
type determination happens for files in
the workspace.
In case of conflicts, the content type
having affinity with any of the natures
configured for the corresponding project
will be chosen.
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Builders
• An incremental project builder is an object that manipulates the resources in a project in a
particular way.
Builders can apply a transformation on resources.
Resources created by a builder are typically marked as derived resources.
• From an API point of view, the platform defines two basic types of builds:
 A full build
 An incremental build
• Plug-ins can contribute implementations for builder using the org.eclipse.core.resources.builders
extension point and supplying a class which extends IncrementalProjectBuilder.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Builders and UI
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Alternate file systems
• What is EFS?
EFS (The Eclipse FileSystem) is an abstract filesystem API that
allows to work with other filesystems e.g. FTP, zip files, in-memory
filesystem, and even CVS.
• File system providers
By default, the org.eclipse.core.filesystem plug-in only includes a
file system implementation for the local file system.
Plug-ins can contribute implementations for other file systems
using the org.eclipse.core.filesystem.filesystems extension point.
File system providers must provide subclasses of FileStore and
FileSystem.
• UI support for EFS
There are several places in the UI where the user can select file
system, e.g. wizards.
The UI support for EFS can be added via the
org.eclipse.ui.ide.fileSystemSupport extension point.
The class attribute of these schema must be a
org.eclipse.ui.ide.fileSystem.FileSystemContributor which is used
to supply validation and browsing of the other file systems.
• Additional resources on EFS
http://wiki.eclipse.org/index.php/EFS
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Demo
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Additional info and details
• Eclipse SDK Help
 Platform Plug-in Developer Guide > Programmer’s Guide >
Resource Overview
 Platform Plug-in Developer Guide > Programmer’s Guide >
Advanced Resource Concepts
• Examples
 org.eclipse.ui.examples.filesystem
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Overview
• The Repository Integration Framework
• The Compare Framework
• Demo
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Repository Integration Framework
• Goal
 Integrate the workflow that your repository users know with
the concepts defined in the workbench (not just API)
• Example
 The CVS client as a case study for integrating a team
provider with the platform
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Repository Provider
• Define a RepositoryProvider
 org.eclipse.team.core.repository
 Subclass org.eclipse.team.core.RepositoryProvider
• Provide a configuration wizard for sharing projects
 org.eclipse.team.ui.configurationWizard
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Functionality in a resource’s menu
• Add actions to the Team
menu
 org.eclipse.ui.popupMenus
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Decorate resources
• Decorate resources with team specific information
 org.eclipse.ui.decorators
 org.eclipse.team.ui.teamDecorators
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Views
• Provide customized view with
team specific information
 CVS Editors
 CVS Repositories
 History
 Synchronize
• org.eclipse.ui.views
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Perspectives
• Team oriented perspective
 org.eclipse.ui.perspectives
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Wizards
• Import/Export
 org.eclipse.ui.importWizards
 org.eclipse.ui.exportWizards
• New
 org.eclipse.ui.newWizards
• Share
 org.eclipse.team.ui.configurationWizards
• Synchronize
 org.eclipse.ui.synchornizeWizards
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Preferences
• org.eclipse.ui.preferencePages
• Category: org.eclipse.team.ui.TeamPreferences
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Help
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Additional info and details
• Eclipse SDK Help
 Platform Plug-in Developer Guide > Team Support > Rich
Team Integration
 http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.platform.do
• Examples:
 org.eclipse.team.examples.filesystem
 org.eclipse.team.cvs.*
• Repository projects supporting Eclipse
 http://www.eclipse.org/community/team.php
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
The Compare Framework
• What is the purpose of the Compare framework?
 Support comparison of alternate states of a file system or
data store
• What does the Compare framework provide?
 API to define the input to a comparison
 Extensions for associating viewers with input types
 Containers to host comparisons in the UI
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Overview of Compare Architecture
Compare Container
File System Repository Database
Compare Input
Compare Viewers
JDT
rightleft
ancestor
Clients
EMF
Model Providers
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Compare/Merge viewers
• A simple text merge viewer and the JDT merge viewer
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
How to create the simplest compare editor?
• Ingredients:
 A CompareItem that implements
 ITypedElement for name, image and content type of the object
 IModificationDate for timestamp
 IStreamContentAccessor to supply the content
 CompareEditorInput subclass
 DiffNode computed in a CompareEditorInput subclass
 To specify which of the panes is editable use
CompareConfiguration
 An action to open the editor
 A contribution in org.eclipse.ui.popupMenus extension point
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
The input and the action
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
The item and the popup menu entry
© Copyright 2008 IBM Corp. All rights reserved. This source code is
made available under the terms of the Eclipse Public License, v1.0.
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
The result
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
How do I provide a structure merge viewer?
• Add an extension of structureMergeViewer
 Provide instance or subclass of StructureDiffViewer
• Add an extension of structureCreator
 Provide a instance of IStructureCreator
 Provides the structure of a single element (e.g. file)
i.e. a tree representation of the element
Nodes are subclasses of DocumentRangeNode
Need a unique type (“java2” for java)
 Also provides API to write changes back to the element
 Subclass StructureCreator to be file buffer aware
 Viewer uses the differencing engine to create a tree
representation of the differences
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
The Panes of a Compare Editor Input
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
The Panes of the Apply Patch wizard
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
The Ancestor pane in the Apply Patch wizard
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Demo
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Additional info and details
• Eclipse SDK Help
 Platform Plug-in Developer Guide > Programmer’s Guide >
Compare support
• Examples
 org.eclipse.compare.examples
 org.eclipse.compare.examples.xml
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Web resources and contact
• Web
 http://www.eclipse.org
 http://wiki.eclipse.org/Workspace_Team
 http://polishineclipse.blogspot.com
• Repository
 :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse
• IRC:
 #eclipse, #eclipse-dev
 SzymonB, z4z4
• Mail:
 Szymon.Brandys@pl.ibm.com
 Tomasz.Zarna@pl.ibm.com
ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available
under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Legal Notice
 IBM and the IBM logo are trademarks or registered
trademarks of IBM Corporation, in the United States, other
countries or both.
 Java and all Java-based marks, among others, are
trademarks or registered trademarks of Sun Microsystems in
the United States, other countries or both.
 Eclipse and the Eclipse logo are trademarks of Eclipse
Foundation, Inc.
 Other company, product and service names may be
trademarks or service marks of others.

More Related Content

What's hot

PIL - A Platform Independent Language
PIL - A Platform Independent LanguagePIL - A Platform Independent Language
PIL - A Platform Independent Language
zefhemel
 
Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?
Eelco Visser
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
Keerty Smile
 
EclipseCon 2011: Deciphering the CDT debugger alphabet soup
EclipseCon 2011: Deciphering the CDT debugger alphabet soupEclipseCon 2011: Deciphering the CDT debugger alphabet soup
EclipseCon 2011: Deciphering the CDT debugger alphabet soup
Bruce Griffith
 
Apache Big Data Europe 2016
Apache Big Data Europe 2016Apache Big Data Europe 2016
Apache Big Data Europe 2016
Tim Ellison
 
1 introduction to compiler
1 introduction to compiler1 introduction to compiler
1 introduction to compiler
BarwarBadradin
 
Types of Compilers
Types of CompilersTypes of Compilers
Types of Compilers
Hemant Chetwani
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Maarten Balliauw
 
Introduction to Compilers
Introduction to CompilersIntroduction to Compilers
Introduction to Compilers
Akhil Kaushik
 
DEF CON 27 - JEFF DILEO - evil e bpf in depth
DEF CON 27 - JEFF DILEO - evil e bpf in depthDEF CON 27 - JEFF DILEO - evil e bpf in depth
DEF CON 27 - JEFF DILEO - evil e bpf in depth
Felipe Prado
 
High Performance Erlang
High Performance ErlangHigh Performance Erlang
High Performance Erlang
didip
 
Introduction to Level Zero API for Heterogeneous Programming : NOTES
Introduction to Level Zero API for Heterogeneous Programming : NOTESIntroduction to Level Zero API for Heterogeneous Programming : NOTES
Introduction to Level Zero API for Heterogeneous Programming : NOTES
Subhajit Sahu
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & Jit
Ankit Somani
 
Compilers
CompilersCompilers
IPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DIIPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DI
Robert Lemke
 
compiler and their types
compiler and their typescompiler and their types
compiler and their types
patchamounika7
 
Compiler design
Compiler designCompiler design
Compiler design
Thakur Ganeshsingh Thakur
 
R Dz7.5 Overview
R Dz7.5 OverviewR Dz7.5 Overview
R Dz7.5 Overview
CICS ROADSHOW
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compiler
Abha Damani
 
Language Weaver
Language WeaverLanguage Weaver
Language Weaver
tyler frieling
 

What's hot (20)

PIL - A Platform Independent Language
PIL - A Platform Independent LanguagePIL - A Platform Independent Language
PIL - A Platform Independent Language
 
Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
 
EclipseCon 2011: Deciphering the CDT debugger alphabet soup
EclipseCon 2011: Deciphering the CDT debugger alphabet soupEclipseCon 2011: Deciphering the CDT debugger alphabet soup
EclipseCon 2011: Deciphering the CDT debugger alphabet soup
 
Apache Big Data Europe 2016
Apache Big Data Europe 2016Apache Big Data Europe 2016
Apache Big Data Europe 2016
 
1 introduction to compiler
1 introduction to compiler1 introduction to compiler
1 introduction to compiler
 
Types of Compilers
Types of CompilersTypes of Compilers
Types of Compilers
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
 
Introduction to Compilers
Introduction to CompilersIntroduction to Compilers
Introduction to Compilers
 
DEF CON 27 - JEFF DILEO - evil e bpf in depth
DEF CON 27 - JEFF DILEO - evil e bpf in depthDEF CON 27 - JEFF DILEO - evil e bpf in depth
DEF CON 27 - JEFF DILEO - evil e bpf in depth
 
High Performance Erlang
High Performance ErlangHigh Performance Erlang
High Performance Erlang
 
Introduction to Level Zero API for Heterogeneous Programming : NOTES
Introduction to Level Zero API for Heterogeneous Programming : NOTESIntroduction to Level Zero API for Heterogeneous Programming : NOTES
Introduction to Level Zero API for Heterogeneous Programming : NOTES
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & Jit
 
Compilers
CompilersCompilers
Compilers
 
IPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DIIPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DI
 
compiler and their types
compiler and their typescompiler and their types
compiler and their types
 
Compiler design
Compiler designCompiler design
Compiler design
 
R Dz7.5 Overview
R Dz7.5 OverviewR Dz7.5 Overview
R Dz7.5 Overview
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compiler
 
Language Weaver
Language WeaverLanguage Weaver
Language Weaver
 

Viewers also liked

5 Segredos de Performance Marketing para o Black Friday 2015
5 Segredos de Performance Marketing para o Black Friday 20155 Segredos de Performance Marketing para o Black Friday 2015
5 Segredos de Performance Marketing para o Black Friday 2015
Kwanko
 
Eclipse Way
Eclipse WayEclipse Way
Eclipse Way
Tomasz Zarna
 
E4 UI Demos
E4 UI DemosE4 UI Demos
E4 UI Demos
Tomasz Zarna
 
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
Kwanko
 
Orion RESTful git API
Orion RESTful git APIOrion RESTful git API
Orion RESTful git API
Tomasz Zarna
 
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
Kwanko
 

Viewers also liked (6)

5 Segredos de Performance Marketing para o Black Friday 2015
5 Segredos de Performance Marketing para o Black Friday 20155 Segredos de Performance Marketing para o Black Friday 2015
5 Segredos de Performance Marketing para o Black Friday 2015
 
Eclipse Way
Eclipse WayEclipse Way
Eclipse Way
 
E4 UI Demos
E4 UI DemosE4 UI Demos
E4 UI Demos
 
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
KWANKO s’associe à l’EMLV et à l’ESILV pour créer la Chaire « EMPREINTES NUME...
 
Orion RESTful git API
Orion RESTful git APIOrion RESTful git API
Orion RESTful git API
 
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
LE GROUPE KWANKO REVOLUTIONNE L’EMAILING
 

Similar to ABC of Platform Workspace

Compare framework
Compare frameworkCompare framework
Compare framework
Tomasz Zarna
 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introduction
irbull
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in Helios
Tomasz Zarna
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in Eclipse
Tomasz Zarna
 
Discovering the p2 API
Discovering the p2 APIDiscovering the p2 API
Discovering the p2 API
Pascal Rapicault
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
Lars Vogel
 
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
mfrancis
 
Orion (What's Next conference)
Orion (What's Next conference)Orion (What's Next conference)
Orion (What's Next conference)
Boris Bokowski
 
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMIntroducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
mfrancis
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
Tonny Madsen
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
mfrancis
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 Analytics
Luciano Resende
 
SpringPeople Introduction to iOS Apps Development
SpringPeople Introduction to iOS Apps DevelopmentSpringPeople Introduction to iOS Apps Development
SpringPeople Introduction to iOS Apps Development
SpringPeople
 
API Tooling in Eclipse
API Tooling in EclipseAPI Tooling in Eclipse
API Tooling in Eclipse
Chris Aniszczyk
 
Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)
Pascal Rapicault
 
stackconf 2022: It’s Time to Debloat the Cloud with Unikraft
stackconf 2022: It’s Time to Debloat the Cloud with Unikraftstackconf 2022: It’s Time to Debloat the Cloud with Unikraft
stackconf 2022: It’s Time to Debloat the Cloud with Unikraft
NETWAYS
 
Ide
IdeIde
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
bethtib
 
Dotnet basics
Dotnet basicsDotnet basics
Dotnet basics
Mir Majid
 
Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?
Olivier Thomann
 

Similar to ABC of Platform Workspace (20)

Compare framework
Compare frameworkCompare framework
Compare framework
 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introduction
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in Helios
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in Eclipse
 
Discovering the p2 API
Discovering the p2 APIDiscovering the p2 API
Discovering the p2 API
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
 
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
 
Orion (What's Next conference)
Orion (What's Next conference)Orion (What's Next conference)
Orion (What's Next conference)
 
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMIntroducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 Analytics
 
SpringPeople Introduction to iOS Apps Development
SpringPeople Introduction to iOS Apps DevelopmentSpringPeople Introduction to iOS Apps Development
SpringPeople Introduction to iOS Apps Development
 
API Tooling in Eclipse
API Tooling in EclipseAPI Tooling in Eclipse
API Tooling in Eclipse
 
Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)
 
stackconf 2022: It’s Time to Debloat the Cloud with Unikraft
stackconf 2022: It’s Time to Debloat the Cloud with Unikraftstackconf 2022: It’s Time to Debloat the Cloud with Unikraft
stackconf 2022: It’s Time to Debloat the Cloud with Unikraft
 
Ide
IdeIde
Ide
 
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
Make Me an Eclipse View (with less Plumbing): The PTP External Tools Framewor...
 
Dotnet basics
Dotnet basicsDotnet basics
Dotnet basics
 
Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?
 

More from Tomasz Zarna

Orion Introduction
Orion IntroductionOrion Introduction
Orion Introduction
Tomasz Zarna
 
Eclipse Way
Eclipse WayEclipse Way
Eclipse Way
Tomasz Zarna
 
Orion Introduction
Orion IntroductionOrion Introduction
Orion Introduction
Tomasz Zarna
 
What's new in Juno
What's new in JunoWhat's new in Juno
What's new in Juno
Tomasz Zarna
 
Git migration - Lessons learned
Git migration - Lessons learnedGit migration - Lessons learned
Git migration - Lessons learned
Tomasz Zarna
 
Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2
Tomasz Zarna
 
EGit - Eclipse plug-in for git
EGit - Eclipse plug-in for gitEGit - Eclipse plug-in for git
EGit - Eclipse plug-in for git
Tomasz Zarna
 

More from Tomasz Zarna (7)

Orion Introduction
Orion IntroductionOrion Introduction
Orion Introduction
 
Eclipse Way
Eclipse WayEclipse Way
Eclipse Way
 
Orion Introduction
Orion IntroductionOrion Introduction
Orion Introduction
 
What's new in Juno
What's new in JunoWhat's new in Juno
What's new in Juno
 
Git migration - Lessons learned
Git migration - Lessons learnedGit migration - Lessons learned
Git migration - Lessons learned
 
Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2
 
EGit - Eclipse plug-in for git
EGit - Eclipse plug-in for gitEGit - Eclipse plug-in for git
EGit - Eclipse plug-in for git
 

Recently uploaded

Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 

Recently uploaded (20)

Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 

ABC of Platform Workspace

  • 1. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. | 2008-03-17 ABC of Platform Workspace Szymon Brandys Tomasz Zarna IBM Krakow Software Lab
  • 2. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Introduction • Workspace components  Resources  Compare  Team  CVS
  • 3. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Resources overview • An essential plug-in for Eclipse IDE applications is the resources plug-in (named org.eclipse.core.resources). • The resources plug-in provides services for accessing the projects, folders, and files that a user is working on. • The resources plug-in provides services for managing meta-data associated with resources (Markers: breakpoints, tasks, bookmarks, etc and Properties: arbitrary objects associated with resources)
  • 4. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Compare, Team and CVS overview • Compare  comparison of alternate states of a file system • Team  repository tooling integration into Eclipse • CVS  implementation of a CVS client
  • 5. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Agenda • Resources  Workspace  Resources  Properties  Preferences  Content types  Linked resources  Markers  Natures  Builders  Alternate file systems  Demo • Team/Compare  Repository Integration Framwork  Compare Framework  Demo • Summary and questions
  • 6. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Workspace • Workspace is a central hub for user’s files • The workspace contains a collection of resources. From the user perspective there are three different types of resources: projects, folders, files. Resources are organized in a tree. • The resources plug-in provides APIs for creating, navigating, and manipulating resources in a workspace. The workbench uses these APIs to provide this functionality to the user. Your plug-in can also use these APIs. • Derived resources are resources that are not original data, and can be recreated from their source files. It is common for derived files to be excluded from certain kinds of processing.
  • 7. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Resources API © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 8. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Some useful tools See the modules in dev.eclipse.org repository org.eclipse.core.tools org.eclipse.core.tools.resources
  • 9. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Basic plug-in Dependency to org.eclipse.core.runtime Content types Dependency to org.eclipse.core.resources Resource operations Builder framework Natures Dependency to org.eclipse.core.filesystem EFS
  • 10. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Properties Properties can be used to store meta-information about the resource. This mechanism can be used in user plug-ins to hold information specific for that plug-in. When a resource is deleted, its properties are deleted too. There are two kinds of properties • Session properties  allow your plug-ins to easily cache information about a resource in key-value pairs  the values are arbitrary objects  these properties are maintained in memory and lost when a resource is deleted from the workspace, or when the project or workspace is closed • Persistent properties  store information on disc in the workspace metadata  the value of a persistent property is an arbitrary string  the strings are intended to be short (under 2KB)  Properties are maintained across platform shutdown and restart To manipulate properties API is provided (see IResource class)
  • 11. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Project preferences • Preferences in Eclipse (short overview) Eclipse provide the infrastructure for defining and storing preferences with different scopes and org.eclipse.core.runtime.preferences extension can be used to define additional scopes for preferences. Preferences typically map to settings controlled by the user on the Preferences page, although this is not required by the underlying infrastructure. Plug-in preferences are key/value pairs, where the key describes the name of the preference, and the value is one of several different types (boolean, double, float, int, long, or string). Preferences can be stored and retrieved by the platform from the file system. The exact location of the saved preferences depends upon the scope of the preference. • The platform resources plug-in defines its own preference scope for projects. Project-scoped preferences are stored in a file located inside the project. • Using project scope preference
  • 12. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Content types • What is content type? • There are some features of Eclipse that are content-sensitive, such as automatic encoding determination, editor selection, and menu contributions. • The content type registry is extensible so plug-ins can contribute new content type definitions. • How to define new content type © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 13. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Linked resources Linked resources are provided so that files and folders inside a project can be stored in a file system outside of the project's location. © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 14. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Markers • What is Marker? A marker is an extra note stuck to a resource. On the marker you can record information about a problem or a task to be done. • How to manipulate markers? • How to add new marker type Plug-ins can declare their own marker types using the org.eclipse.core.resources.markers extension point. © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 15. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Markers (subtypes) © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 16. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Natures • Project natures allow to mark a project as a specific kind of project. This mechanism can be used to add a specific behaviour to projects. • A project can have more than one nature. However, when you define a project nature, you can define special constraints for the nature Constraints:  one-of-nature  requires-nature • Plug-ins can contribute implementations for natures using the org.eclipse.core.resources.natures extension point and supplying a class which implements IProjectNature © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 17. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Natures – why use them? • Configure and deconfigure when a nature is added/removed to a project (oportunity to add additional attributes to projest. Modify its metadata, add builders) • propertyPages and popupMenus have filter mechanism which recognizes natures
  • 18. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Linked resources and natures What if a plug-in is not able to handle linked resources? © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 19. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Content types and natures Natures can declare affinity with arbitrary content types, affecting the way content type determination happens for files in the workspace. In case of conflicts, the content type having affinity with any of the natures configured for the corresponding project will be chosen. © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 20. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Builders • An incremental project builder is an object that manipulates the resources in a project in a particular way. Builders can apply a transformation on resources. Resources created by a builder are typically marked as derived resources. • From an API point of view, the platform defines two basic types of builds:  A full build  An incremental build • Plug-ins can contribute implementations for builder using the org.eclipse.core.resources.builders extension point and supplying a class which extends IncrementalProjectBuilder.
  • 21. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Builders and UI
  • 22. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Alternate file systems • What is EFS? EFS (The Eclipse FileSystem) is an abstract filesystem API that allows to work with other filesystems e.g. FTP, zip files, in-memory filesystem, and even CVS. • File system providers By default, the org.eclipse.core.filesystem plug-in only includes a file system implementation for the local file system. Plug-ins can contribute implementations for other file systems using the org.eclipse.core.filesystem.filesystems extension point. File system providers must provide subclasses of FileStore and FileSystem. • UI support for EFS There are several places in the UI where the user can select file system, e.g. wizards. The UI support for EFS can be added via the org.eclipse.ui.ide.fileSystemSupport extension point. The class attribute of these schema must be a org.eclipse.ui.ide.fileSystem.FileSystemContributor which is used to supply validation and browsing of the other file systems. • Additional resources on EFS http://wiki.eclipse.org/index.php/EFS © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 23. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Demo
  • 24. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Additional info and details • Eclipse SDK Help  Platform Plug-in Developer Guide > Programmer’s Guide > Resource Overview  Platform Plug-in Developer Guide > Programmer’s Guide > Advanced Resource Concepts • Examples  org.eclipse.ui.examples.filesystem
  • 25. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Overview • The Repository Integration Framework • The Compare Framework • Demo
  • 26. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Repository Integration Framework • Goal  Integrate the workflow that your repository users know with the concepts defined in the workbench (not just API) • Example  The CVS client as a case study for integrating a team provider with the platform
  • 27. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Repository Provider • Define a RepositoryProvider  org.eclipse.team.core.repository  Subclass org.eclipse.team.core.RepositoryProvider • Provide a configuration wizard for sharing projects  org.eclipse.team.ui.configurationWizard
  • 28. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Functionality in a resource’s menu • Add actions to the Team menu  org.eclipse.ui.popupMenus
  • 29. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Decorate resources • Decorate resources with team specific information  org.eclipse.ui.decorators  org.eclipse.team.ui.teamDecorators
  • 30. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Views • Provide customized view with team specific information  CVS Editors  CVS Repositories  History  Synchronize • org.eclipse.ui.views
  • 31. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Perspectives • Team oriented perspective  org.eclipse.ui.perspectives
  • 32. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Wizards • Import/Export  org.eclipse.ui.importWizards  org.eclipse.ui.exportWizards • New  org.eclipse.ui.newWizards • Share  org.eclipse.team.ui.configurationWizards • Synchronize  org.eclipse.ui.synchornizeWizards
  • 33. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Preferences • org.eclipse.ui.preferencePages • Category: org.eclipse.team.ui.TeamPreferences
  • 34. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Help
  • 35. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Additional info and details • Eclipse SDK Help  Platform Plug-in Developer Guide > Team Support > Rich Team Integration  http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.platform.do • Examples:  org.eclipse.team.examples.filesystem  org.eclipse.team.cvs.* • Repository projects supporting Eclipse  http://www.eclipse.org/community/team.php
  • 36. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. The Compare Framework • What is the purpose of the Compare framework?  Support comparison of alternate states of a file system or data store • What does the Compare framework provide?  API to define the input to a comparison  Extensions for associating viewers with input types  Containers to host comparisons in the UI
  • 37. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Overview of Compare Architecture Compare Container File System Repository Database Compare Input Compare Viewers JDT rightleft ancestor Clients EMF Model Providers
  • 38. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Compare/Merge viewers • A simple text merge viewer and the JDT merge viewer
  • 39. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. How to create the simplest compare editor? • Ingredients:  A CompareItem that implements  ITypedElement for name, image and content type of the object  IModificationDate for timestamp  IStreamContentAccessor to supply the content  CompareEditorInput subclass  DiffNode computed in a CompareEditorInput subclass  To specify which of the panes is editable use CompareConfiguration  An action to open the editor  A contribution in org.eclipse.ui.popupMenus extension point
  • 40. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. The input and the action © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 41. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. The item and the popup menu entry © Copyright 2008 IBM Corp. All rights reserved. This source code is made available under the terms of the Eclipse Public License, v1.0.
  • 42. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. The result
  • 43. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. How do I provide a structure merge viewer? • Add an extension of structureMergeViewer  Provide instance or subclass of StructureDiffViewer • Add an extension of structureCreator  Provide a instance of IStructureCreator  Provides the structure of a single element (e.g. file) i.e. a tree representation of the element Nodes are subclasses of DocumentRangeNode Need a unique type (“java2” for java)  Also provides API to write changes back to the element  Subclass StructureCreator to be file buffer aware  Viewer uses the differencing engine to create a tree representation of the differences
  • 44. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. The Panes of a Compare Editor Input
  • 45. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. The Panes of the Apply Patch wizard
  • 46. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. The Ancestor pane in the Apply Patch wizard
  • 47. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Demo
  • 48. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Additional info and details • Eclipse SDK Help  Platform Plug-in Developer Guide > Programmer’s Guide > Compare support • Examples  org.eclipse.compare.examples  org.eclipse.compare.examples.xml
  • 49. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Web resources and contact • Web  http://www.eclipse.org  http://wiki.eclipse.org/Workspace_Team  http://polishineclipse.blogspot.com • Repository  :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse • IRC:  #eclipse, #eclipse-dev  SzymonB, z4z4 • Mail:  Szymon.Brandys@pl.ibm.com  Tomasz.Zarna@pl.ibm.com
  • 50. ABC of Platform Workspace | Copyright © IBM Corp., 2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Legal Notice  IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both.  Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both.  Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc.  Other company, product and service names may be trademarks or service marks of others.