<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jacksonsophia</id>
		<title>EiffelStudio: an EiffelSoftware project - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jacksonsophia"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/Special:Contributions/Jacksonsophia"/>
		<updated>2026-05-20T17:11:09Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Downloads&amp;diff=13863</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Downloads&amp;diff=13863"/>
				<updated>2010-05-31T06:01:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jacksonsophia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Compiler]]&lt;br /&gt;
==EiffelStudio 6.x Pre-releases==&lt;br /&gt;
We provide versions of EiffelStudio for most popular platforms (Linux, Windows, Solaris, Irix, ...). &lt;br /&gt;
&lt;br /&gt;
You can find the latest builds:&lt;br /&gt;
* from the download page of [http://sourceforge.net/project/showfiles.php?group_id=196408 the sourceforge area]&lt;br /&gt;
* as well as in [ftp://beta:beta57@ftp.eiffel.com the Eiffel Software beta area] (beware it also includes some nightly build which are untested).&lt;br /&gt;
* in [http://eiffelstudio.origo.ethz.ch/download the Origo download area] [http://custom-essay-writing-service.org/index.php custom writing company] for the PorterPackage.&lt;br /&gt;
&lt;br /&gt;
Details about new features and bug fixes in the builds are on the [[EiffelStudio_Releases| releases page]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Please be aware that the 6.x versions released through this site are intermediate builds on the road towards official EiffelStudio 6.x. If you are experiencing problems with this release, please use the [http://eiffelstudio.origo.ethz.ch/forum EiffelStudio developer forums] [http://cvresumewriters.com/ cv writers] for discussions.}}&lt;br /&gt;
&lt;br /&gt;
The convention used for filenames is the following:&lt;br /&gt;
 Eiffel65_gpl_$BUILD-$ISE_PLATFORM.[tar.bz2|msi]&lt;br /&gt;
Where '''$BUILD''' is a build number, the higher number the more recent release it is, and where '''$ISE_PLATFORM''' is the name of your platform.&lt;br /&gt;
&lt;br /&gt;
Mac OS X builds can be found [[EiffelOnMac|here]].&lt;br /&gt;
&lt;br /&gt;
On Windows, you can use [[Installing_Microsoft_C_compiler|the latest Microsoft C compiler]], but EiffelStudio 6.1 needs [[Installing_Microsoft_C_compiler_6.1_and_older|an older compiler]].&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.x==&lt;br /&gt;
You can download the official EiffelStudio 6.x release from [http://www.eiffel.com/downloads/eiffelstudio.html Eiffel Software]. The GPL release can also be downloaded from [http://sourceforge.net/project/showfiles.php?group_id=196408 http://sflogo.sourceforge.net/sflogo.php?group_id=196408.png].&lt;br /&gt;
&lt;br /&gt;
==Doc Builder==&lt;br /&gt;
You can download the documentation generation tool for Windows 32-bit with .NET 1.1 installed by extracting the content of [http://download.origo.ethz.ch/eiffelstudio/174/doc_builder.zip doc_builder.zip] (or [http://download.origo.ethz.ch/eiffelstudio/174/doc_builder_64-bit.zip doc_builder_64-bit.zip] for the 64-bit version) onto your hard-drive. Once installed, you can launch the tool by launching the '''doc_builder.exe''' executable.&lt;br /&gt;
&lt;br /&gt;
If you have both .NET 1.1 and .NET 2.0 (or greater), you need to force the loading of .NET 1.1. To do so, edit the file '''doc_builder.exe.config''' so that its content looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt; &lt;br /&gt;
	&amp;lt;startup&amp;gt; &lt;br /&gt;
		&amp;lt;requiredRuntime version=&amp;quot;v1.1.4322&amp;quot; safemode=&amp;quot;true&amp;quot;/&amp;gt; &lt;br /&gt;
	&amp;lt;/startup&amp;gt; &lt;br /&gt;
	&amp;lt;runtime&amp;gt; &lt;br /&gt;
		&amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt; &lt;br /&gt;
			&amp;lt;probing privatePath=&amp;quot;Assemblies&amp;quot;/&amp;gt; &lt;br /&gt;
		&amp;lt;/assemblyBinding&amp;gt; &lt;br /&gt;
	&amp;lt;/runtime&amp;gt; &lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jacksonsophia</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Downloads&amp;diff=13862</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Downloads&amp;diff=13862"/>
				<updated>2010-05-31T05:59:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jacksonsophia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Compiler]]&lt;br /&gt;
==EiffelStudio 6.x Pre-releases==&lt;br /&gt;
We provide versions of EiffelStudio for most popular platforms (Linux, Windows, Solaris, Irix, ...). &lt;br /&gt;
&lt;br /&gt;
You can find the latest builds:&lt;br /&gt;
* from the download page of [http://sourceforge.net/project/showfiles.php?group_id=196408 the sourceforge area]&lt;br /&gt;
* as well as in [ftp://beta:beta57@ftp.eiffel.com the Eiffel Software beta area] (beware it also includes some nightly build which are untested).&lt;br /&gt;
* in [http://eiffelstudio.origo.ethz.ch/download the Origo download area] [http://custom-essay-writing-service.org/index.php custom writing company] for the PorterPackage.&lt;br /&gt;
&lt;br /&gt;
Details about new features and bug fixes in the builds are on the [[EiffelStudio_Releases| releases page]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Please be aware that the 6.x versions released through this site are intermediate builds on the road towards official EiffelStudio 6.x. If you are experiencing problems with this release, please use the [http://eiffelstudio.origo.ethz.ch/forum EiffelStudio developer forums] [http://essaywritingservices.org/index.php writing services] for discussions.}}&lt;br /&gt;
&lt;br /&gt;
The convention used for filenames is the following:&lt;br /&gt;
 Eiffel65_gpl_$BUILD-$ISE_PLATFORM.[tar.bz2|msi]&lt;br /&gt;
Where '''$BUILD''' is a build number, the higher number the more recent release it is, and where '''$ISE_PLATFORM''' is the name of your platform.&lt;br /&gt;
&lt;br /&gt;
Mac OS X builds can be found [[EiffelOnMac|here]].&lt;br /&gt;
&lt;br /&gt;
On Windows, you can use [[Installing_Microsoft_C_compiler|the latest Microsoft C compiler]], but EiffelStudio 6.1 needs [[Installing_Microsoft_C_compiler_6.1_and_older|an older compiler]].&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.x==&lt;br /&gt;
You can download the official EiffelStudio 6.x release from [http://www.eiffel.com/downloads/eiffelstudio.html Eiffel Software]. The GPL release can also be downloaded from [http://sourceforge.net/project/showfiles.php?group_id=196408 http://sflogo.sourceforge.net/sflogo.php?group_id=196408.png].&lt;br /&gt;
&lt;br /&gt;
==Doc Builder==&lt;br /&gt;
You can download the documentation generation tool for Windows 32-bit with .NET 1.1 installed by extracting the content of [http://download.origo.ethz.ch/eiffelstudio/174/doc_builder.zip doc_builder.zip] (or [http://download.origo.ethz.ch/eiffelstudio/174/doc_builder_64-bit.zip doc_builder_64-bit.zip] for the 64-bit version) onto your hard-drive. Once installed, you can launch the tool by launching the '''doc_builder.exe''' executable.&lt;br /&gt;
&lt;br /&gt;
If you have both .NET 1.1 and .NET 2.0 (or greater), you need to force the loading of .NET 1.1. To do so, edit the file '''doc_builder.exe.config''' so that its content looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt; &lt;br /&gt;
	&amp;lt;startup&amp;gt; &lt;br /&gt;
		&amp;lt;requiredRuntime version=&amp;quot;v1.1.4322&amp;quot; safemode=&amp;quot;true&amp;quot;/&amp;gt; &lt;br /&gt;
	&amp;lt;/startup&amp;gt; &lt;br /&gt;
	&amp;lt;runtime&amp;gt; &lt;br /&gt;
		&amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt; &lt;br /&gt;
			&amp;lt;probing privatePath=&amp;quot;Assemblies&amp;quot;/&amp;gt; &lt;br /&gt;
		&amp;lt;/assemblyBinding&amp;gt; &lt;br /&gt;
	&amp;lt;/runtime&amp;gt; &lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jacksonsophia</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Compiling_EiffelStudio&amp;diff=13861</id>
		<title>Compiling EiffelStudio</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Compiling_EiffelStudio&amp;diff=13861"/>
				<updated>2010-05-31T05:53:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jacksonsophia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Compiler]]&lt;br /&gt;
[[Category:EiffelStudio]]&lt;br /&gt;
&lt;br /&gt;
== Installing EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
To compile EiffelStudio, you need an already working EiffelStudio compiler on your machine. The current source tree '''requires at least version 6.5''' of EiffelStudio. You can download it from http://dev.eiffel.com/Downloads. Read the [http://docs.eiffel.com/eiffelstudio/installation/index.html existing documentation] to install EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' on Windows you will need the Microsoft C compiler to compile Eiffel Studio. How to install the free version of the Microsoft C compiler: [[Installing Microsoft C compiler]]. It is not possible to compile EiffelStudio with the free Borland compiler.&lt;br /&gt;
&lt;br /&gt;
===Compilation methods===&lt;br /&gt;
Currently there are two compilation methods. &lt;br /&gt;
* You can compile EiffelStudio from scratch following the instructions in this document ('''This is the recommended approach''').&lt;br /&gt;
* You can use one of the [[Automatic Build Scripts]], and if you encounter any errors please report them to the [http://forums.eiffel.com EiffelStudio Development forum].&lt;br /&gt;
&lt;br /&gt;
==Extracting source code==&lt;br /&gt;
&lt;br /&gt;
===Checking out from SVN===&lt;br /&gt;
#Point the environment variables called '''EIFFEL_SRC''' and '''ISE_LIBRARY''' to the directory where you want to compile EiffelStudio.&amp;lt;br&amp;gt;Usually we use the '''XXdev''' convention for this directory name - where XX is the version number of the currently developed version of the compiler.&lt;br /&gt;
#Make sure that '''ISE_EIFFEL''', '''ISE_PLATFORM''' and '''ISE_C_COMPILER''' (on Windows only) are properly defined.&lt;br /&gt;
#Perform the following checkout procedures:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DOS'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set SVNURL=https://svn.eiffel.com/eiffelstudio/trunk&lt;br /&gt;
svn co %SVNURL%/Src 65dev&lt;br /&gt;
svn co %SVNURL%/Delivery 65dev/Delivery&lt;br /&gt;
svn co %SVNURL%/Documentation 65dev/Documentation&lt;br /&gt;
svn co %SVNURL%/free_add_ons 65dev/free_add_ons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bash'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export SVNURL=https://svn.eiffel.com/eiffelstudio/trunk&lt;br /&gt;
svn co $SVNURL/Src 65dev&lt;br /&gt;
svn co $SVNURL/Delivery 65dev/Delivery&lt;br /&gt;
svn co $SVNURL/Documentation 65dev/Documentation&lt;br /&gt;
svn co $SVNURL/free_add_ons 65dev/free_add_ons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To update the source files to the latest revision, perform the following steps:&lt;br /&gt;
&lt;br /&gt;
'''Bash and DOS'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd 65dev&lt;br /&gt;
svn up&lt;br /&gt;
svn up free_add_ons&lt;br /&gt;
svn up Delivery&lt;br /&gt;
svn up Documentation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compiling C libraries==&lt;br /&gt;
&lt;br /&gt;
===Compiling run-time on Windows===&lt;br /&gt;
&lt;br /&gt;
'''DOS'''&lt;br /&gt;
&amp;lt;pre&amp;gt;cd %EIFFEL_SRC%/C&lt;br /&gt;
configure [win32|win64] [b|g|m|m6]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bash'''&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $EIFFEL_SRC/C&lt;br /&gt;
./configure.bat [win32|win64] [b|g|m|m6]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first argument indicated whether you are compiling the run-time for 32 or 64 bits. The second one is to tell which C compiler will be used. For now only `b' (Borland), `g' (MinGW), `m' (Microsoft) and `m6' (for those forced to use Microsoft VC++ 6.0) are officially supported.&lt;br /&gt;
&lt;br /&gt;
On Windows 32 bits to clean up all the generated files '''(including the library files needed by EiffelStudio)''' it suffices to do:&lt;br /&gt;
&lt;br /&gt;
'''DOS'''&lt;br /&gt;
&amp;lt;pre&amp;gt;configure clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Bash'''&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure.bat clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compiling run-time on Unix===&lt;br /&gt;
&lt;br /&gt;
The command is simply:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $EIFFEL_SRC/C&lt;br /&gt;
./quick_configure&amp;lt;/pre&amp;gt;&lt;br /&gt;
This requires that '''ISE_PLATFORM''' is properly defined. The `quick_configure' script will look for the file CONFIGS/$ISE_PLATFORM and use it to extract the platform specific information to compile the run-time. If not found then an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To clean up the generated files '''including the library files needed by EiffelStudio''':&lt;br /&gt;
&amp;lt;pre&amp;gt;make clobber&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compiling C code from libraries===&lt;br /&gt;
&lt;br /&gt;
Here is the list of commands to compile all required C libraries on Windows:&lt;br /&gt;
&lt;br /&gt;
'''DOS'''&lt;br /&gt;
&amp;lt;pre&amp;gt;cd %EIFFEL_SRC%\library\net\Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd %EIFFEL_SRC%\library\vision2\Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd %EIFFEL_SRC%\library\wel\Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd %EIFFEL_SRC%\library\cURL\Clib&lt;br /&gt;
finish_freezing -library&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Bash'''&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $EIFFEL_SRC/library/net/Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd $EIFFEL_SRC/library/vision2/Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd $EIFFEL_SRC/library/wel/Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd %EIFFEL_SRC%/library/cURL/Clib&lt;br /&gt;
finish_freezing -library&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Unix it is slightly different:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $EIFFEL_SRC/library/net/Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd $EIFFEL_SRC/library/vision2/Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd $EIFFEL_SRC/library/vision2/implementation/gtk/Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd $EIFFEL_SRC/library/cURL/Clib&lt;br /&gt;
finish_freezing -library&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure that '''ISE_EIFFEL''' is set correctly to your current &amp;quot;EiffelStudio&amp;quot; installation!&lt;br /&gt;
&lt;br /&gt;
===Compiling C code from C_library===&lt;br /&gt;
&lt;br /&gt;
This is only required on Windows to read PNG file. On Unix, this is not required because it is included in GTK+2.4. So on Windows, simply do the following:&lt;br /&gt;
&lt;br /&gt;
'''DOS'''&lt;br /&gt;
&amp;lt;pre&amp;gt;cd %EIFFEL_SRC%/C_library/zlib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd %EIFFEL_SRC%/C_library/libpng&lt;br /&gt;
finish_freezing -library&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Bash'''&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $EIFFEL_SRC/C_library/zlib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd $EIFFEL_SRC/C_library/libpng&lt;br /&gt;
finish_freezing -library&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compiling C code from compiler===&lt;br /&gt;
&lt;br /&gt;
This is only required on Windows as this C code is a tiny wrapper [http://essaywritingservices.org/index.php writing service] around the Microsoft C++ API to generate and to debug .NET code.&lt;br /&gt;
&lt;br /&gt;
To compile it, you first need to install the Microsoft .NET SDK. You can download it from their website.&lt;br /&gt;
&lt;br /&gt;
After installing it, you need to update your '''LIB''' and '''INCLUDE''' environment variable to include the path the lib and include directory of the .NET Framework SDK.&lt;br /&gt;
&lt;br /&gt;
Once properly installed, you can do:&lt;br /&gt;
&lt;br /&gt;
'''DOS'''&lt;br /&gt;
&amp;lt;pre&amp;gt;cd %EIFFEL_SRC%/framework/cli_writer/Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd %EIFFEL_SRC%/framework/cli_debugger/Clib&lt;br /&gt;
finish_freezing -library&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Bash'''&lt;br /&gt;
&amp;lt;pre&amp;gt;cd $EIFFEL_SRC/framework/cli_writer/Clib&lt;br /&gt;
finish_freezing -library&lt;br /&gt;
cd $EIFFEL_SRC/framework/cli_debugger/Clib&lt;br /&gt;
finish_freezing -library&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compiling EiffelStudio==&lt;br /&gt;
&lt;br /&gt;
Now that we have taken care of the C code compilation we can compile the compiler. We assume that '''ec''' is in your path.&lt;br /&gt;
&lt;br /&gt;
The configuration file of the compiler contains two active targets:&lt;br /&gt;
* '''batch''': for the command line compiler.&lt;br /&gt;
* '''bench''': for the graphical compiler, aka EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
Go to $EIFFEL_SRC/Eiffel/Ace and type the following command and replace ''target_name'' with either '''batch''' or '''bench'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ec -config ec.ecf -target target_name -c_compile&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Mac OS X specific===&lt;br /&gt;
&lt;br /&gt;
Get a mac binary from [[EiffelOnMac|here]], then follow the instructions for unix.&lt;br /&gt;
&lt;br /&gt;
==Launching the Compiler==&lt;br /&gt;
&lt;br /&gt;
There are two ways of launching the compiler for [http://cvresumewriters.com/ cv writers]:&lt;br /&gt;
# Command line compiler: add the following arguments '''-config path_to_config_file.ecf'''. This will compile the project represented by `path_to_config_file.ecf'&lt;br /&gt;
# Graphical compiler (aka EiffelStudio): add the following argument '''-gui'''.&lt;/div&gt;</summary>
		<author><name>Jacksonsophia</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=CddBranch&amp;diff=13860</id>
		<title>CddBranch</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=CddBranch&amp;diff=13860"/>
				<updated>2010-05-31T05:50:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jacksonsophia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Testing]]&lt;br /&gt;
[[Category:EiffelDebugger]]&lt;br /&gt;
[[Category:CDD]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is the CDD EiffelStudio? ==&lt;br /&gt;
&lt;br /&gt;
[[Image:cdd_logo.png|center]]&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[http://se.ethz.ch/people/leitner/cdd/video/ '''Play CDD Video''', click here]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
CDD (short for Contract Driven Development) is a project developed at [http://se.ethz.ch ETH Zurich]. It adds advanced support for unit testing to EiffelStudio. With CDD EiffelStudio you can&lt;br /&gt;
&lt;br /&gt;
* Write test cases&lt;br /&gt;
* Manage test cases (using tags)&lt;br /&gt;
* Run test cases&lt;br /&gt;
* View test outcomes&lt;br /&gt;
* '''Automatically extract test cases'''&lt;br /&gt;
&lt;br /&gt;
If you have questions, feedback, or would like to report a bug please visit the [http://eiffelstudio.origo.ethz.ch/forum/20 CDD forum]. &lt;br /&gt;
&lt;br /&gt;
CDD EiffelStudio adds the following panel to regular EiffelStudio:&lt;br /&gt;
&lt;br /&gt;
[[Image:cdd_panel.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publications ==&lt;br /&gt;
&lt;br /&gt;
Leitner, A., Ciupa, I., Oriol, M., Meyer, B., Fiva, A., &amp;quot;Contract Driven Development = Test Driven Development - Writing Test Cases&amp;quot;, in Proceedings of ESEC/FSE'07: European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2007, (Dubrovnik, Croatia), September 2007 [http://se.ethz.ch/people/leitner/publications/cdd_leitner_esec_fse_2007.pdf pdf] [http://se.ethz.ch/people/leitner/publications/ESEC_FSE2007.bib.txt bibtex]&lt;br /&gt;
&lt;br /&gt;
Leitner, A., Pretschner A., Mori S., Meyer B., Oriol M., &amp;quot;On the Effectiveness of Test Extraction without Overhead&amp;quot;, under submission&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
14.May 2008: Added patch for Windows and Linux that fixes a bug that can cause a crash during extraction.&lt;br /&gt;
&lt;br /&gt;
10.April 2008: If installation exits with cryptic error codes, please have a look at the [[CDD Common Problems|Common Problems]] page.&lt;br /&gt;
&lt;br /&gt;
08.April 2008: CDD EiffelStudio final 7 available&lt;br /&gt;
* Important bug fix: EiffelStudio no longer freezes when opening projects with many test cases&lt;br /&gt;
&lt;br /&gt;
02.April 2008: CDD EiffelStudio Final 6 available&lt;br /&gt;
* Less mess: Redundant or duplicate test cases are no longer extracted&lt;br /&gt;
* Smoother upgrade: Cleaning a project will automatically clean the test suite&lt;br /&gt;
* Fixed bug in invarant checking&lt;br /&gt;
* Fixed bug that caused EiffelStudio to freeze in some situations&lt;br /&gt;
* Improved logging&lt;br /&gt;
* Installer ''might'' work with mingw on Windows now. (Not yet tested, reports welcome)&lt;br /&gt;
&lt;br /&gt;
== Download CDD ==&lt;br /&gt;
&lt;br /&gt;
The following packages contain the full EiffelStudio 6.1 plus the CDD extension. You do not need to have EiffelStudio installed already in order to install below packages. On Windows you do have to have either the Platform SDK or Visual C++ installed. Do not use EiffelStudio with the gcc/mingw or the .Net backend.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
* Full Linux version: http://se.ethz.ch/people/leitner/cdd/Eiffel61_cdd_final_7.tar.bz2&lt;br /&gt;
* Full Linux version (for Debian stable): http://se.ethz.ch/people/leitner/cdd/Eiffel61_cdd_final_7_debian_stable.tar.bz2&lt;br /&gt;
* Installation instructions: http://docs.eiffel.com/eiffelstudio/installation/studio/060_linux.html&lt;br /&gt;
Notes:&lt;br /&gt;
* If you are '''upgrading''' from a previous version, make sure you delete the old version first (rm -rf)&lt;br /&gt;
&lt;br /&gt;
Download the above file and install it just like you would install a EiffelStudio tar ball. Afterwards proceed to section &amp;quot;Using CDD&amp;quot;. Make sure you set/update the environment variables PATH, ISE_EIFFEL, and ISE_PLATFORM according to the installation instructions.&lt;br /&gt;
&lt;br /&gt;
=== Linux Patch ===&lt;br /&gt;
* Patch for CDD EiffelStudio Final 7: Download http://se.ethz.ch/people/leitner/cdd/ec and replace it with the '$ISE_EIFFEL/studio/spec/linux-x86/bin/ec' from Final 7. This patch fixes a crash that sometimes occurs during extraction of test cases. You may need to delete the precompile and EIFGENs of your project after applying the patch.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
* Full Windows version (with installer): http://n.ethz.ch/~moris/download/Eiffel61_cdd_final_7-windows.msi&lt;br /&gt;
Notes:&lt;br /&gt;
* Installation is independent of installations of official EiffelStudio 6.1 (neither overwrites nor invalidates nor is influenced by those) &lt;br /&gt;
* If you are '''upgrading''' from a previous version, you first have to uninstall the old version then delete the existing precompilations (= delete EIFGENs in subdirectories of &amp;lt;INSTALL_DIRECTORY&amp;gt;/precomp/spec/windows/) and then install the new version.&lt;br /&gt;
* Which C compiler to install?&lt;br /&gt;
** Use the Microsoft C compiler either from Visual Studio or the Windows SDK:&lt;br /&gt;
*** Visual Studio (up to Visual Studio 2005, but no later, and only the non-express version)&lt;br /&gt;
*** Windows SDK (up to version 6.0, but no later)&lt;br /&gt;
** Do not use the gcc/mingw.&lt;br /&gt;
** Do not use the .NET compiler backend. &lt;br /&gt;
&lt;br /&gt;
Have a look at http://dev.eiffel.com/Installing_Microsoft_C_compiler_6.1_and_older to learn how to install either Visual C++ or the Windows SDK for use with EiffelStudio. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Windows Patch ====&lt;br /&gt;
&lt;br /&gt;
* Patch for CDD EiffelStudio Final 7: Download http://se.ethz.ch/people/leitner/cdd/ec.exe and replace it with the '$ISE_EIFFEL/studio/spec/windows/bin/ec.exe' from Final 7. This patch fixes a crash that sometimes occurs during extraction of test cases. You may need to delete the precompile and EIFGENs of your project after applying the patch.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
=== Manually Written Test Cases ===&lt;br /&gt;
CDD Eiffelstudio allows you to create a new “empty” test case. These test cases are similar to jUnit test cases. A manually written test class must start with the word “TEST” and all test routines also have to start with the word “test”. It also has to inherit from class CDD_TEST_CASE.&lt;br /&gt;
&lt;br /&gt;
=== Extracted Test Cases ===&lt;br /&gt;
CDD EiffelStudio automatically extracts test cases whenever you run your program and an exception is triggered. This feature is novel and not yet part of any other testing environment. You will be the first to try it out.&lt;br /&gt;
&lt;br /&gt;
=== Test outcomes ===&lt;br /&gt;
A test case checks whether your program contains a particular bug. A test cases can fail indicating that the bug is present in your program, or pass indicating your program does not contain this bug. Sometimes test cases will be unresolved, in which case the testing framework was unable to find out whether the test case passed or failed. A test case can be unresolved for several reasons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:cdd_buttons.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Debug Test Case === &lt;br /&gt;
Select a test case and press this button to run a test case in the debugger.&lt;br /&gt;
&lt;br /&gt;
=== Enable/Disable Execution of Test Cases in Background === &lt;br /&gt;
If enabled, all test cases are retested every time you press compile. If disabled no test cases are executed.&lt;br /&gt;
&lt;br /&gt;
=== Enable/Disable automatic extraction of Test Cases === &lt;br /&gt;
If enabled every time an exception is triggered a set of test cases that try to reproduce this exception is extracted. If disabled no test cases are extracted.&lt;br /&gt;
&lt;br /&gt;
=== Clean up/Delete === &lt;br /&gt;
You can use the “Clean Up/Delete” button in two different ways. By simply pressing it you will delete all unresolved test cases. By pick and dropping a test case to the “Clean up/Delete” button (right click on test case, move mouse to button and right click again) you can delete a test case. By the way, test cases are just regular classes. So you can use all existing tools that apply to classes in EiffelStudio too.&lt;br /&gt;
&lt;br /&gt;
Update: To remove duplicate test cases (until the next cdd update), please use the command-line tool from the [http://clean-cdd.origo.ethz.ch/ clean-cdd project].&lt;br /&gt;
&lt;br /&gt;
=== Create new manual test class ===&lt;br /&gt;
Press this button to create a empty test class. You can then edit the class to add manually written test cases. This is how a manually written test case can look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;eiffel&amp;gt;&lt;br /&gt;
class TEST_BANK_ACCOUNT&lt;br /&gt;
inherit CDD_TEST_CASE&lt;br /&gt;
feature&lt;br /&gt;
  test_deposit&lt;br /&gt;
    local&lt;br /&gt;
      ba: BANK_ACCOUNT&lt;br /&gt;
    do&lt;br /&gt;
      create ba.make_with_balance (0)&lt;br /&gt;
      ba.deposit (100)&lt;br /&gt;
      check&lt;br /&gt;
         money_depisited: ba.balance = 100&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/eiffel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redefine routine `set_up' or `tear_down' if you want something to be executed before resp. after every test routine of a class.&lt;br /&gt;
&lt;br /&gt;
[[Image:cdd_buttons_2.png|center]]&lt;br /&gt;
&lt;br /&gt;
=== Search for tags ===&lt;br /&gt;
Enter keywords through [http://essaywritingservices.org/index.php writing services] to search for paritcular test cases. Some tags are automatically set for you like the name of the test case. You can also easily add your own tags by adding an indexing item &amp;quot;tag&amp;quot; to your test class or routine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;eiffel&amp;gt;&lt;br /&gt;
indexing&lt;br /&gt;
  tag: &amp;quot;fixme&amp;quot;&lt;br /&gt;
class TEST_BANK_ACCOUNT&lt;br /&gt;
inherit CDD_TEST_CASE&lt;br /&gt;
feature&lt;br /&gt;
   ...&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/eiffel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tags can be adde to all test routines and classes. Whether they are extracted or manually written does not matter.&lt;br /&gt;
&lt;br /&gt;
=== Restrict execution of test cases ===&lt;br /&gt;
&lt;br /&gt;
Once you have many test cases, you will run into situation where you don't want to execute all of them. The restrict button will help you to achieve this. As long as the &amp;quot;Restrict&amp;quot; button is pushed test cases that don't show up in the test case view will not be tested. Execution is restricted to those test cases that do show up.&lt;br /&gt;
&lt;br /&gt;
=== Change test case view ===&lt;br /&gt;
&lt;br /&gt;
Select one of several predefined test case views. For example you can group test cases as [http://cvresumewriters.com/ cv writer] by their outcome to quickly see only failing test cases.&lt;br /&gt;
&lt;br /&gt;
== Further Documentation and Common Problems ==&lt;br /&gt;
Please visit [[Using CDD]] for further documentation or look at &lt;br /&gt;
[[CDD Common Problems|Common Problems]] if you run into problems.&lt;br /&gt;
&lt;br /&gt;
== Related Publications ==&lt;br /&gt;
&lt;br /&gt;
* Sunghun Kim, Shay Artzi, and Michael D. Ernst, &amp;quot;reCrash: Making Crash Reproducible&amp;quot; MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2007-054, (Cambridge, MA), November 20, 2007. [http://recrash.googlecode.com/files/MIT-CSAIL-TR-2007-054.pdf (pdf)]&lt;br /&gt;
&lt;br /&gt;
== Project Internal Stuff ==&lt;br /&gt;
&lt;br /&gt;
[[CddBranchInternal]]&lt;/div&gt;</summary>
		<author><name>Jacksonsophia</name></author>	</entry>

	</feed>