EclipseCon Poster

Download Report

Transcript EclipseCon Poster

Top level project of Apache Software Foundation
Founded May 2005. Graduated October 2006.
Open source community developed Java
under Apache License v2 & compatible licenses
Strong modular architecture
facilitates collaborative development and
independent innovation
Independent Implementation of Java SE specification
Modular Architecture
Status and Capability
Applet
Single launcher can switch between
different JVM providers:
java -vm<vm_name> ...
AWT
Class library constructed
from 20+ OSGi bundles!
Beans
LUNI
Annotation
JSE API
lang
util
net
io
beans
NIO
XML
L
a
u
n
c
h
e
r
Instrument
security
Lang-mgmt
Java SE class libraries
Math
NIO
Class library
VMI (C)
Trace
JIT
compiler
Kernel classes (Java)
Interpreter
Memory
manager
Thread
manager
NIO_char
native
code
Security
JNI
SQL
96% Java SE 5.0 Text
API
completion Concurrent
VM
Archive
Portability Layer
Logging
Hardware / Operating System
Simple JVM interface to
Harmony’s class libraries
…
Portability Layer encapsulates
OS functionality with platform
independent interface
Apache has applied for the JSE JCK
(Java Compatibility Kit) license
Eclipse & Harmony
Opportunities for participation
• Harmony maintains enhanced Intellectual Property regime
Running Eclipse on Harmony
- We take everyone’s IP rights seriously; tell us about your prior access
 Harmony passes >98% of Eclipse test suite on Windows and Linux x86
 Many Harmony developers are self-hosting development using Eclipse JDT
 Harmony is a viable open source runtime for Eclipse RCP applications
- All contributions to the project must have pedigree information
- Project dependencies must have licenses compatible with ALv2
• We welcome help in lots of interesting areas…
Developing Harmony using Eclipse
build / release management
memory management
translation services
website design
C/ C++ programmer
tooling
technical writing
testing
algorithm design
Linux / Windows / etc… programming
Java programming
performance engineering
Harmony is tested with exacting
proprietary and open source Java
applications
 Our repository contains Eclipse metadata for class library development
 PDE and JDT enhanced for developing core Java library code
 Plug-in available for “Harmony VM-type” JRE layout
compiler writing
Observed Best Practices
Apache infrastructure
iterate
Check in/out
committers
Post intentions
on the dev list
Specification
Reading
Writing Unit
Tests
Writing
implementation
Send patch and
discuss problems on
dev list
SVN Server
Coder
Check out
progress
bug tracker
GIT | Quilt | ?
Patches
* Spec-driven development
• Java compliance and implementation compatibility
@
contributors
E-mail
Notify
Continuous
integration and test
by community’s
heterogeneous build
farm
• Unit tests enhance and clarify specification
• Anomalies and ambiguities worked out with the community
* Centralized infra – Distributed build / test
• Tell the dev list what you are doing early and often
• Apache infrastructure for code repository, bug tracking, patches, e-mail
• Submit small patches frequently
• Developers typically work in local mirror and manage patches to JIRA
• Don’t tell people they must apply your patch!
• Master code base continuously built and tested by community
• There’s plenty of work for everyone!
• Supported platforms are those that are actively maintained by community
* Software Engineering
• Support all-comers from command-line to IDE
• Jupiter – Eclipse plugin for code review
• FindBugs – static code analysis
• Use the best tools for the job
• Binary snapshots posted regularly on website
* flexible architecture * Java development tools * pluggable GC architecture * Wiki-based knowledge management * compatibility is king * OSGi modularity * community over code *
For more details visit :
http://harmony.apache.org