1 / 20

Create Your Own Eclipse Plug-in(s) “Choose your own open-source adventure” ~ SE UCLA Spring 2007 ~

Create Your Own Eclipse Plug-in(s) “Choose your own open-source adventure” ~ SE UCLA Spring 2007 ~. Mark Weaver SWG – Tivoli weaverma@us.ibm.com Chris Aniszczyk SWG – Lotus zx@us.ibm.com Christy Lauridsen STG lchristy@us.ibm.com Grace Wang IGS grace.wang@us.ibm.com

gordy
Download Presentation

Create Your Own Eclipse Plug-in(s) “Choose your own open-source adventure” ~ SE UCLA Spring 2007 ~

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Create Your Own Eclipse Plug-in(s)“Choose your own open-source adventure”~ SE UCLA Spring 2007 ~ Mark Weaver SWG – Tivoli weaverma@us.ibm.com Chris Aniszczyk SWG – Lotuszx@us.ibm.com Christy Lauridsen STGlchristy@us.ibm.com Grace Wang IGSgrace.wang@us.ibm.com Gergana Markova SWG – Tivoli gmarkova@us.ibm.com

  2. Agenda • Introduction • The IBM team • Your Project • Deliverables • Eclipse • What is it? • Cool projects you can use or extend • Conclusion • Questions

  3. IBM Project Team • Technical Mentors: Mark Weaver & Chris Aniszczyk • Mark Weaver – Main Technical Contact • Chris Aniszczyk – Backup Technical Contact • Open-source enthusiast • Eclipse Technology, Java, Design Patterns • Technical Writing • Project Mentors: Christy Lauridsen & Grace Wang • Project environment, scheduling • Facilitation & collaboration • Team dynamics • Project Lead: Gergana Markova • Project organization • Java, eXtremeProgramming, JUnit, Design Patterns • Other • Open Source Eclipse resources and forums • IBM Academic Initiative Student Forum • IBM Developer Works resources

  4. Project Learning Skills • Software Engineering Skills • Team Project Planning and execution • Collaboration, Networking • Rapid Decision Making • Open source community involvement (process, resources..) • Research and resources evaluation • Concepts Emphasized • Open Source Process • Design Patterns • eXtreme Programming

  5. Why Open-source? • Standardization of the rail network enabled industrialized America and Europe • A connecting platform fueling growth, creating new business opportunities • Connecting resources with factory efficiencies • Connecting goods with markets • Enabling new distribution models (Sears Roebuck) • Other technology platforms: electricity grid, national highway systems, ……..the internet “Standards contribute more to economic growth than patents and licenses.” "Economic benefits of standardization“, Technical University Dresden (TUD) and the Fraunhofer Institute for Systems and Innovations

  6. Your Project, “Choose your own adventure” • Project Technology / Requirements • Open Source • Eclipse • Programming Language: Java • Project Repository of your choice (e.g., CVS) • Recommend using SF.net • Defect Tracking (SF.net tracker, Bugzilla, etc…) • Project Discussion Forum/Log of your choice (e.g., Wiki) • Unit testing of your choice (e.g., JUnit) • In the end, it’s your decision what to do! • Deliverables • Mandatory • Your project in a public repository, fully documented • Optional • An article that will be published on DeveloperWorks detailing your experience • A feed into planeteclipse.org detailing your experience

  7. Why IBM? Why Eclipse? • We like Eclipse, we founded it and then donated it to the open-source community. • IBM and even competitor’s products are being built on Eclipse technology. • There is a large future invested in Eclipse.

  8. What Is Eclipse? • “An IDE for everything and particularly nothing” • Eclipse is an open source community focused on developing a universal platform of frameworks and exemplary tools that make it easy and cost-effective to build and deploy software in today’s connected and unconnected world. • Eclipse is a consortium of major software vendors, solution providers, corporations, educational and research institutions and individuals working together to create an eco-system that enhances, promotes and cultivates the Eclipse open platform with complementary products, services and capabilities. • Eclipse Strategic Goals • To define an open development platform • To foster a vibrant open source community well regarded for innovation and quality • To enable an ecosystem • To be ubiquitous

  9. Eclipse Project Goals • Provide open platform for application development tools • Run on a wide range of operating systems • Support both GUI and non-GUI applications • Remain language neutral • Permit unrestricted content types • HTML, Java, C, JSP, EJB, XML, GIF, … • Facilitate seamless tool integration • At UI and deeper • Add new tools to existing installed products HTML XML JSP EJB C

  10. Eclipse Community • Celebrities! • Erich Gamma (GoF, IBM Distinguished Engineer, JDT Lead) • Ward Cunningham (Wiki founder, Eclipse Foundation) • Strong Community • http://www.eclipse.org/community/index.html • Newsgroups • news.eclipse.org • Mailing Lists • Wiki • http://wiki.eclipse.org • Planet • http://planeteclipse.org

  11. Extensible platform Everything is a Plug-in extensible IDE plug-ins plug-ins IDE run-time

  12. Plug-in Architecture plug-in • Plug-in • smallest unit of eclipse functionality • details specified in it;s plug-in manifest (plugin.xml) • plugins can add code, define extension points, and contribute to extension points • Extension point • named entity for collecting contributions • Defines API contract • example: extension point to add menu actions • Extension • an instance of an exention point contribution • example: a specific menu action • Controlled extensibility plug-in plug-in runtime extension extension point

  13. What Is Eclipse? Java development tools (JDT) IDE Text Team/ CVS Compare Debug Search Help Update Text IDE (optional) (optional) (optional) UI (Generic Workbench) Resources JFace (optional) SWT Runtime (OSGi) A world class Java IDE

  14. Rich Client Platform (RCP) • Advanced desktop applications have the same needs as an IDE • open architecture • efficient, configurable, portable UI • supports product branding, install/update support • integrated help, user configuration/preferences • Enable Eclipse to be used for non-IDE applications • Theme your own application • Examples • Azureus • College students love BitTorrent • RSSOwl

  15. RCP Examples • Examples (http://www.eclipse.org/community/rcpos.php) • Azureus • College students love BitTorrent!  • RSSOwl • Maestro (NASA Mars Mission Software)

  16. Some Ideas • Bison/Yacc Grammar Editor • Bison is a free parser generator. (http://www.gnu.org/software/bison/) • Anltr (competing parser generator) already has a non-free Eclipse development environment. • Eclipse Bison editor will be useful to anyone who wants to create a parser: • Students • Professionals • Hobbyist • Work with GNU and Eclipse communities.

  17. Some Ideas • Eclipse GIT Support • GIT is version control system like CVS or Subversion • Originally written by Linus Torvolds • Used by Linux kernel • Current project, egit, under way to create GIT Eclipse plug-in • Plug-in far from done • They need our help!

  18. Still More Ideas • Eclipse SWT embedded Firefox browser widget (highly requested by the community) • Eclipse Mono Development Environment • Visualization of Eclipse's Plug-ins so it's easier to see dependencies and other things • Distributed Debugging • Shared Editing • VOIP in Eclipse using ECF (http://www.eclipse.org/ecf ) and Google's Jingle API • Mylar support for C/C++ editing with CDT • Many, many more

  19. Choose your own adventure • Any of your own ideas. We are here to help!

  20. Conclusion • Thank you for your time! • We’re here for you! • Eclipse has an awful learning curve, we’re here to help  • Questions? • Project Ideas? • Eclipse Bison/Yacc Editor • GIT support • Other…?

More Related