27. DOM MODEL
<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>
28. DOM MODEL
DOCUMENT
<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>
ELEMENT
NAME
AT T R I B U T E
NAME
VA L U E
30. ANT MODEL
<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>
31. ANT MODEL
PROJECT
<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>
TA R G E T
NAME
DEPENDS
JAR
DIRECTIVE
32. ANT MODEL
PROJECT
<?xml version="1.0"?>
<project name="guice">
<target name="jar" depends="manifest">
<jar jarfile="guice-${version}.jar">
<zipfileset src="${build.dir}/deps.jar"/>
</jar>
</target>
</project>
TA R G E T
NAME
DEPENDS
JAR
DIRECTIVE
…
38. RULES FOR
E V O LV I N G A P I I N T E R F A C E S
CHANGE
RESTRICTION
IF NOT IMPLEMENTED
BY CLIENT
DELETE API METHOD
MOVE API METHOD UP
TYPE HIERARCHY
B I N A R Y C O M PAT I B L E
IF IMPLEMENTED BY
CLIENT
ADD API METHOD
I M PA C T
B R E A K S C O M PAT I B I L I T Y
—
B R E A K S C O M PAT I B I L I T Y
IF METHOD IN SUPERTYPE NEED
NOT BE IMPLEMENTED BY
CLIENT
B I N A R Y C O M PAT I B L E
IF METHOD IN SUPERTYPE MUST
BE IMPLEMENTED BY CLIENT
B R E A K S C O M PAT I B I L I T Y
http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs
40. C O M PA R I S O N M O D E L
TEARDOWN
C O M PA R I S O N
41. C O M PA R I S O N M O D E L
TEARDOWN
C O M PA R I S O N
REFERENCE
CHANGE
42. C O M PA R I S O N M O D E L
TEARDOWN
C O M PA R I S O N
REFERENCE
CHANGE
EREFERENCE
(FROM ECORE)
43. C O M PA R I S O N M O D E L
TEARDOWN
C O M PA R I S O N
REFERENCE
CHANGE
EOBJECT
(FROM ECORE)
EREFERENCE
(FROM ECORE)
44. C O M PA R I S O N M O D E L
TEARDOWN
C O M PA R I S O N
AT T R I B U T E
CHANGE
REFERENCE
CHANGE
EOBJECT
(FROM ECORE)
EREFERENCE
(FROM ECORE)
45. C O M PA R I S O N M O D E L
TEARDOWN
C O M PA R I S O N
E AT T R I B U T E
(FROM ECORE)
AT T R I B U T E
CHANGE
REFERENCE
CHANGE
EOBJECT
(FROM ECORE)
EREFERENCE
(FROM ECORE)
46. C O M PA R I S O N M O D E L
TEARDOWN
C O M PA R I S O N
E AT T R I B U T E
(FROM ECORE)
AT T R I B U T E
CHANGE
REFERENCE
CHANGE
E J AVA O B J E C T
EOBJECT
(FROM ECORE)
(FROM ECORE)
EREFERENCE
(FROM ECORE)