diff options
Diffstat (limited to 'site/trunk/site-publish/set-up-sdo-development-environment.html')
-rw-r--r-- | site/trunk/site-publish/set-up-sdo-development-environment.html | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/site/trunk/site-publish/set-up-sdo-development-environment.html b/site/trunk/site-publish/set-up-sdo-development-environment.html new file mode 100644 index 0000000000..10a407b3c5 --- /dev/null +++ b/site/trunk/site-publish/set-up-sdo-development-environment.html @@ -0,0 +1,194 @@ + +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE- 2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML> + <HEAD> + <!-- generateKeywords macro --> + <META name="description" content="Apache Tuscany"> + <META name="keywords" content="apache, apache tuscany, tuscany, service, services, fabric, soa, service oriented architecture, sca, service component architecture, das, sdo, csa, ruby, opensource"> + <!-- generateKeywords macro end --> + + <LINK type="text/css" rel="stylesheet" href="http://tuscany.apache.org/stylesheets/default.css"> + <LINK rel="SHORTCUT ICON" href="https://cwiki.apache.org/confluence/display/TUSCANY/$images/favicon.ico"> + <TITLE>Apache Tuscany : Set up SDO Development Environment</TITLE> + <META http-equiv="Content-Type" content="text/html;charset=UTF-8"></HEAD> + + <BODY onload="init()"> + <!-- topNav macro --> + <TABLE valign="top" border="0" cellspacing="0" cellpadding="0" width="100%" background="http://tuscany.apache.org/images/TuscanyLogoNEW_Text_120px_bg.jpg"> + <TR> + <TD valing="top" align="left"> + <A href="https://cwiki.apache.org/confluence/pages/viewpage.action?spaceKey=TUSCANY&title=$siteroot"><IMG src="http://tuscany.apache.org/images/TuscanyLogoNEW_Text_120px_bg.jpg" height="91" width="25" border="0"></A> + </TD> + <TD> + <A href="http://tuscany.apache.org/"><IMG src="http://tuscany.apache.org/images/TuscanyLogo.jpg" border="0"></A> + </TD> + + <TD width="100%"> + + </TD> + + <!-- Adds the edit page link to the top banner--> + <TD valign="bottom"> + <DIV style="padding: 2px 10px; margin: 0px;"> + <A href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=48510"> + <IMG src="http://tuscany.apache.org/images/notep_16.gif" height="16" width="16" border="0" align="absmiddle" title="Edit Page"></A> + </DIV> + </TD> + + </TR> + </TABLE> + <!-- topNav macro end --> + + <!-- breadCrumbs macro --> + <TABLE border="0" cellpadding="2" cellspacing="0" width="100%"> + <TR class="topBar"> + <TD align="left" valign="middle" class="topBarDiv" nowrap="true" width="100%"> + <A href="home.html" title="Apache Tuscany">Apache Tuscany</A> > <A href="home.html" title="Home">Home</A> > <A href="sdo-overview.html" title="SDO Overview">SDO Overview</A> > <A href="sdo-java.html" title="SDO Java">SDO Java</A> > <A href="delete-this-page-using-sdo-java.html" title="Delete This Page - Using SDO Java">Delete This Page - Using SDO Java</A> > <A href="" title="Set up SDO Development Environment">Set up SDO Development Environment</A> + </TD> + + <TD align="right" valign="middle" class="topBarDiv" align="left" nowrap="true"> + <A href="http://mail-archives.apache.org/mod_mbox/tuscany-user">User List</A> | <A href="http://mail-archives.apache.org/mod_mbox/tuscany-dev">Dev List</A> | <A href="http://issues.apache.org/jira/browse/Tuscany">Issue Tracker</A> + </TD> + </TR> + </TABLE> + <!-- breadCrumbs macro end --> + + + <TABLE border="0" cellpadding="0" width="100%" bgcolor="#FFFFFF"> + <TR> + <TD align="left" valign="top"> + + <!-- pageContent macro --> + <DIV id="PageContent"> + + <DIV class="pagecontent"> + <DIV class="wiki-content"> + <H3><A name="SetupSDODevelopmentEnvironment-EstablishingaDevelopmentEnvironment"></A>Establishing a Development Environment</H3> + +<P>There are two well established development environments that the SDO community use, <A href="http://maven.apache.org/" class="external-link" rel="nofollow">Maven</A> and <A href="http://eclipse.org/" class="external-link" rel="nofollow">Eclipse</A>. To use the Eclipse IDE you must first establish a maven environment. </P> + +<H4><A name="SetupSDODevelopmentEnvironment-GettingSetupforDevelopment%28prerequisites%29"></A>Getting Setup for Development (prerequisites)</H4> +<P>Download the following:</P> + +<UL> + <LI><A href="http://java.sun.com/j2se/1.5.0" class="external-link" rel="nofollow">JDK 5.0+ (J2SE 1.5.0+)</A></LI> + <LI><A href="http://maven.apache.org/" class="external-link" rel="nofollow">Apache Maven (2.0.4+)</A></LI> + <LI><A href="http://subversion.tigris.org/" class="external-link" rel="nofollow">Subversion (1.2+)</A></LI> +</UL> + + + +<H4><A name="SetupSDODevelopmentEnvironment-SettingupforMavenDevelopment"></A>Setting up for Maven Development</H4> + +<UL> + <LI>Get your <A href="getting-source.html" title="Getting Source">source tree set up</A> locally</LI> + <LI>Ensure that maven (mvn) is on your execution path</LI> + <LI>Ensure that you have network connectivity (Maven has the capacity to retrieve dependencies from the internet while executing a build instruction)</LI> + <LI>In a shell or command prompt ensure that you are in the <sdo-source-root> directory</LI> + <LI>Issue the command "mvn", this will build the SDO API interface, implementation, tools, samples, plugin source code , run any tests, package the class files in appropriate jars and install the jars in a repository on your computer.</LI> + <LI>You can now use the tools of your choice to explore, use and modify the SDO source code. If you have extracted your source tree using SVN you will be able to submit patches arising from your modifications to the SDO project by attaching patch files to JIRAs.</LI> +</UL> + + +<H4><A name="SetupSDODevelopmentEnvironment-SettingupforEclipseDevelopment"></A>Setting up for Eclipse Development</H4> +<P>Follow the instructions above for setting up a maven development environment<BR> +Having ensured you have network access to the internet, in <sdo-source-root> directory</P> + +<P>execute the command mvn -Peclipse eclipse:eclipse</P> + +<P>Then</P> +<UL> + <LI>Start up eclipse</LI> + <LI>Switch to the Java perspective</LI> + <LI>Right click in the Package Explorer frame on the root of the newly created project and select Properties => Java Build Path</LI> + <LI>Click on the "Libraries" tab and select "Add Variable...", "Configure Variables ...", "New ..."</LI> + <LI>Set Name to M2_REPO and Click on "Folder..."</LI> + <LI>Navigate to the "repository" folder/directory (on Windows this is \Documents and Settings\<user>\.m2\repository, on Linux it is ~/.m2/repository) and click OK</LI> + <LI>Now execute "File => Import ... => General => Existing project into workspace</LI> + <LI>Click "Browse ..." Navigate to the <sdo-source-root> directory and click OK</LI> + <LI>Select all projects and click OK</LI> + <LI>When building is complete the projects should now have no errors</LI> +</UL> + + +<P>At this point you have seven separate projects each dependent on binary artifacts in your maven repository. Don't be tricked into thinking that <BR> +if you modify the sdo-impl project, that those changes will be picked up by the sdo-tools project. If you want this behavior then follow these steps</P> + +<UL> + <LI>In the package explorer pane of the Java perspective, Right Click on Properties and select the libraries tab</LI> + <LI>Select the M2_REPO/org/apache/tuscany/sdo/sdo-api* library entry and click "remove"</LI> + <LI>Select the Projects tab and click "Add..."</LI> + <LI>Select the SDO API project and click OK</LI> + <LI>If you plan to work in the tools project + <UL> + <LI>Select the "Order and Export" tab and select the sdo-api project and click OK (this means that the sdo-impl project will expose the interfaces of the sdo-api project, so that you don't have to import them into projects which depend on the sdo-impl project)</LI> + <LI>Repeat the above instructions, removing the sdo-api and sdo-impl library dependencies from the tools project, and adding a project dependency for the sdo-tools project on the sdo-impl project</LI> + </UL> + </LI> +</UL> + + +<H4><A name="SetupSDODevelopmentEnvironment-DiggingintoEMF"></A>Digging into EMF</H4> +<P>With EMF being such an integral part of SDO development, its often necessary to debug into the EMF code to understand what's going on. To do this you need to <A href="http://www.eclipse.org/modeling/emf/downloads/" class="external-link" rel="nofollow">download an EMF SDK</A> (runtime, source, docs) for EMF, SDO and XSD (Don't be confused by the presence of SDO; the version 1 API used to be developed at Eclipse, and it is this that is being downloaded, you can safely ignore it). You'll need the corresponding EMF version to the Tuscany SDO source code (Currently EMF 2.2.3 as at January 2008). Take a look for the <emfVersion> tag in the sdo/pom.xml file to discover the current version dependency. Extract the downloaded archive to somewhere on your computer.</P> + +<UL> + <LI>When eclipse opens up a .class file and presents you with an "Attach Source..." button, click it and the click "Variable ...", "New..."</LI> + <LI>Create a variable, e.g. EMF_SRC and set the value to a folder within your extracted EMF archive, e.g. C:/Development/downloads/emf-sdo-xsd-SDK-2.2.3/eclipse/plugins</LI> + <LI>Click OK to close the "Variable Selection" dialog</LI> + <LI>In the "Source Attachment Configuration" Dialog, click "Extension ..."</LI> + <LI>Navigate to the src.zip file corresponding to the class you are interested in. This will take a little bit of thought. Look at the package name for the class you are interested in and navigate to a zip file that would seem to correspond to that class, e.g. org.eclipse.emf.source_2.2.3.v200702131851/src/org.eclipse.emf.ecore_2.2.3.v200702131851/src.zip</LI> + <LI>You should now be able to set breakpoints and observe execution behavior of the EMF code in the eclipse debugger</LI> +</UL> + + + + + + + + </DIV> + </DIV> + </DIV> + <!-- pageContent macro end --> + + </TD> + </TR> + </TABLE> + + <!-- footer macro --> + <SCRIPT src="http://www.google-analytics.com/urchin.js" type="text/javascript"> + </SCRIPT> + <SCRIPT type="text/javascript"> + _uacct = "UA-1174707-5"; + urchinTracker(); + </SCRIPT> + + <A href="http://www.statcounter.com/" target="_blank"><IMG src="http://c26.statcounter.com/counter.php?sc_project=2619156&java=0&security=94bd7e7d&invisible=0" alt="website stats" border="0"></A> + + <DIV class="footer"> + Copyright � 2003-2012, The Apache Software Foundation </BR> + Apache Tuscany and the Apache Tuscany project logo are trademarks of The Apache Software Foundation. + </DIV> + <!-- footer macro end --> + + </BODY> +</HTML> |