Jump to: navigation, search

Difference between revisions of "Stardust/Source Code"

m (Browsing the Source Code)
(Running the Build)
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Browsing the Source Code ==
+
= Browsing the Source Code =
For initial quick browsing of the source code please go to http://git.eclipse.org/c/?q=stardust.
+
  
== Installing Git  ==
+
For initial quick browsing of the source code please go to http://git.eclipse.org/c/?q=stardust.
 +
 
 +
= Overview  =
 +
 
 +
This documentation covers the local build of stardust. You can use the command line or build directly in the Eclipse IDE.
 +
 
 +
== Command Line Build  ==
 +
 
 +
=== Installing Git  ===
  
 
To checkout the source code you need to install git first. You have different options:  
 
To checkout the source code you need to install git first. You have different options:  
  
 
*[http://git-scm.com/ git scm] installs a minimal environment to run Git. It comes with a Bash,a Perl interpreter, the Git executable plus dependencies.  
 
*[http://git-scm.com/ git scm] installs a minimal environment to run Git. It comes with a Bash,a Perl interpreter, the Git executable plus dependencies.  
*[http://code.google.com/p/msysgit/ msysgit] installs a build environment for Git on Windows. It includes git scm.
+
*[http://code.google.com/p/msysgit/ msysgit] installs a build environment for Git on Windows. It includes git scm. After installtion you can open a git shell to run git commands (git bash or git-cmd.bat).<br>
 
+
After installtion you can open a git shell to run git commands (git bash or git-cmd.bat).<br>
+
  
== Downloading the Source Code ==
+
=== Clone git Repositories ===
  
*Create a new folder where you like to download the sources (e.g. C:\stardust\git)
+
*Create a new folder, e.g. '''C:\\stardust''', and open a git shell there. (bash on Linux/Win or git-cmd.bat on Win)  
*Create a new file, e.g. cloneStardust.cmd, and copy the following commands
+
*Copy the following commands to a file named '''cloneStardust.cmd''' or '''cloneStardust.sh''' file.
 +
*Save it to the '''stardust''' folder and execute it.
 
<pre>git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.build.tools.git build.tools
 
<pre>git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.build.tools.git build.tools
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.components.git components
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.components.git components
Line 21: Line 27:
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.engine.git engine
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.engine.git engine
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.examples.git examples
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.examples.git examples
 +
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.git org.eclipse.stardust
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ide.git ide
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ide.git ide
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ide.simulation.git ide.simulation
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ide.simulation.git ide.simulation
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ide.wst.git ide.wst
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ide.wst.git ide.wst
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.git org.eclipse.stardust
 
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.product.git product
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.product.git product
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.reporting.app.web.git reporting.app.web
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.reporting.app.web.git reporting.app.web
Line 32: Line 38:
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ui.common.git ui.common
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ui.common.git ui.common
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ui.web.git ui.web
 
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ui.web.git ui.web
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ui.web.git ui.web.mobile
+
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ui.web.mobile.git ui.web.mobile
</pre>
+
</pre>  
*Save the file
+
<br> If you run git clone behind a HTTP proxy specify proxy details first.  
*Go to your git installation and open git shell (e.g. execute git-cmd.bat on windows)
+
<pre>git config --global http.proxy http://&lt;user&gt;:&lt;password&gt;@proxy:port</pre>
*Change to your just created download folder and execute cloneStardust.cmd
+
Now you have the default checkout which is the '''master''' branch.  
  
The above mentioned commands will checkout the master branch per default. Please note that the currently active branches are ''I_4_3'' for Kepler and ''master'' for Helios driven builds. Please checkout one of these branches. You can do that by adding the "-b <branch-name>" parameter to the above mentioned commands, except for master.
+
Actually we have the following branches:
  
If you run git clone behind a HTTP proxy specify proxy details first.  
+
*master - is used for the upcoming luna release, which will be stardust 2.0
<pre>git config --global http.proxy http://&lt;user&gt;:&lt;password&gt;@proxy:port</pre>
+
*I_4_3 - is used for kepler releases
 +
*I_4_3_SR1 - is a special branch only for the kepler SR1 release, which is stardust 1.0.1
  
== Building Stardust  ==
+
For more details on the differences between stardust versions, please look at the [http://projects.eclipse.org/projects/soa.stardust| projects website].
  
==== Build Tools ====
+
If you like to clone a specific branch add '''"-b &lt;branch-name&gt;"''' to the git command. To work on a stable source please use release tags as checkout. We have a help script (linux) to do git commands on all stardust repositories:
 +
<pre>cd &lt;root-of-your-stardust-checkout&gt;
 +
build.tools\bin\git-all.sh checkout v1.0.0.20130612-0325-R</pre>
 +
=== Build Stardust ===
  
After check out as described above you can build Stardust source code. You need [http://ant.apache.org/ Apache Ant] and [http://maven.apache.org/download.html Apache Maven]. If you do not already have those tools installed please download them from their official website and install them accordingly to their installation instructions in a location of your choice, later called ANT_HOME and M2_HOME. We suggest Ant 1.8.4 and Maven 3.0.4, but other similar versions should work as well. After those preparations are done perform the following steps ( also see the readme.txt in the product folder).
+
To maybe cover the different build configurations in branches, we have a '''readme.txt''' available in the sources. Please follow the steps described in [http://git.eclipse.org/c/stardust/org.eclipse.stardust.product.git/plain/readme.txt?h=I_4_3_SR1 readme.txt] residing in '''product''' folder.  
  
==== Environment-specific Changes ====
+
==== Prerequisites ====
  
Make sure your environment variables '''ANT_HOME''', '''M2_HOME''' and '''JAVA_HOME''' are set correctly. Also add ant and maven to your %Path% environment variable. Create a file called private.properties in the folder [your stardust git dir]/build.tools/etc. Modify the file with a text editor and add the following content:
+
*JDK - we suggest Java 1.6
<pre>java16.home=[your java home path]
+
*[http://ant.apache.org/ Apache ANT] - we suggest Ant 1.8.4  
m2.home=[your maven home path]
+
*[http://maven.apache.org/download.html Apache Maven] - we suggest Maven 3.0.4
</pre>
+
for instance:
+
<br>java16.home=C:/Program Files/Java/jdk1.6.0_32<br>
+
m2.home=C:/tools/apache-maven-3.0.4<br><br>
+
If you don't want to use the preconfigured Maven settings file [your stardust git dir]/build.tools/conf/m2/settings.xml then you have to specify the path of the actual settings file in your [your stardust git dir]/build.tools/etc/private.properties file, e.g
+
<pre>mvn.settings=C:/Program Files/Maven/conf/settings.xml
+
</pre>
+
Make sure that you use forward slashes in property files!
+
  
==== Maven Configuration ====
+
==== Environment-specific Changes ====
  
If you don't want to use the preconfigured maven settings.xml file in [your stardust git dir]/build.tools/conf/m2/settings.xml then you have to add some credentials in your settings file (this can be e.g. your settings file in your user home\.m2 folder or in maven_home\conf folder). Open your settings file in an editor and add this entry in the&lt;servers&gt; tag:&nbsp;<source lang="sql">
+
see [http://git.eclipse.org/c/stardust/org.eclipse.stardust.product.git/plain/readme.txt?h=I_4_3_SR1 readme.txt]
<server>
+
  <id>stardust-3rdparty-repo</id>
+
  <username>stardust.contributor</username>
+
  <password>\{DESede\}BKab8uCs+3KRLHy/l2AeHQ==</password>
+
</server>
+
</source> (Copy exactly as is. No need to replace anything here.)
+
  
==== Running the Builds ====
+
If you're using your '''own Maven settings''' file please make sure that you provide the path to your local Maven repository as a property, called buildenv.m2.localRepository
 +
<pre>    &lt;profiles&gt;
 +
    &lt;profile&gt;
 +
      &lt;id&gt;stardust-build&lt;/id&gt;
 +
      &lt;properties&gt;
 +
&lt;build.tools.home&gt;${WORKSPACE}/build.tools&lt;/build.tools.home&gt;
 +
        &lt;buildenv.m2.localRepository&gt;${build.tools.home}/build/m2-repo&lt;/buildenv.m2.localRepository&gt;
 +
      &lt;/properties&gt;
 +
    &lt;/profile&gt;
 +
  &lt;/profiles&gt;
 +
</pre>
 +
==== Running the Build ====
  
Make sure your machine is connected to the internet, open a command line in your build folder and then execute these two commands replacing [build_tools_home] with the absolute path to your build.tools sub folder:  
+
see [http://git.eclipse.org/c/stardust/org.eclipse.stardust.product.git/plain/readme.txt?h=I_4_3_SR1 readme.txt]  
<pre>set MAVEN_OPTS=-Xmx768m -XX:MaxPermSize=128m</pre>
+
<pre>mvn -f product/components-pom.xml -s [build_tools_home]/conf/m2/settings.xml -P stardust-build -Dbuild.tools.home=[build_tools_home] install</pre>
+
For instance:<br>
+
  
mvn -f product/components-pom.xml -s c:/stardustbuild/build.tools/conf/m2/settings.xml -P stardust-build -Dbuild.tools.home=c:/stardustbuild/build.tools install<br>
+
Please note that you must add the profile '''update-version-properties''' in the above mentioned command if you have changed something in '''build.tools/dependency-version.properties'''.  
  
Depending on your connection speed and other factors the completion of the second command can take up to several hours.<br>
+
<br>  
After build of components finished successfully, you should find the resulting artifacts in your local maven repository at [build_tools_home]/build/m2-repo.<br><br> Now the eclipse p2 repository with the Stardust eclipse plug-ins can be built. Run the following command replacing&nbsp;[build_tools_home] with the absolute path to your build.tools sub folder:
+
<pre>mvn clean install -f product/pom.xml -s [build_tools_home]/conf/m2/settings.xml -P force-overwrite,stardust-build -Dbuild.tools.home=[build_tools_home]</pre>
+
for instance:
+
  
''mvn clean install -f product/pom.xml -s C:/stardustbuild/build.tools/conf/m2/settings.xml -Pforce-overwrite,stardust-build -Dbuild.tools.home=C:/stardustbuild/build.tools''
+
Modules may be built individually. However, as they partially depend on each other, it is required to:  
  
This will trigger the build of the p2 repository.<br><br>
+
*use the "install" goal to ensure built artifacts are made available for downstream module builds
The above mentioned commands assumes that you're using the Maven settings file which is located in [build_tools_home]/conf/m2/. If you like to use the one of your user home folder or the one of your Maven installation folder (in this case please add the mvn.settings property in [build_tools_home]/etc/private.properties which is described above) then you can remove the "-s [build_tools_home]/conf/m2/settings.xml" parameter from the build commands.<br>
+
*build modules in the following order (means to start mvn builds from those directories):
  
After the build has finished successful, you will find the repository in the sub folder&nbsp;: <br>
+
#&nbsp;stardust/ide/3rdparty/
 +
#stardust/ide/engine/
 +
#stardust/ide/model/
 +
#stardust/ide/modeling/
 +
#stardust/ide.simulation/
 +
#stardust/reporting.rt/
 +
#stardust/reporting.ui/
 +
#stardust/documentation/
 +
#stardust/ide.wst/
 +
#stardust/repsoitory/
  
''[your stardust git dir]/repository/org.eclipse.stardust.modeling.repository/target/repository/''
+
===== Version Qualifier =====
  
and zipped as an update site:
+
The concrete value of the .qualifier version part may be set to a define value by appending "-DforceContextQualifer=<qualifier value>".
 +
Please note, that if you do not provide an explicit Stardust version and qualifier, build artifacts will use the default build version (which is currently 9.9.9-SNAPSHOT). You should check startust/org.eclipse.stardust/org.eclipse.stardust-parent/pom.xml for the ipp.version, which should equal the version you are
 +
using in your overall build.
  
''[your stardust git dir]/repository/org.eclipse.stardust.modeling.repository/target/stardust-offline-site-9.9.9-SNAPSHOT.zip''<br>
+
==== Where to go from here?<br> ====
  
==== Where to go from here?<br> ====
+
Now you can use the build result, a local eclipse update site,&nbsp;to install Stardust. Follow the instructions in the section [[Stardust/Knowledge Base/Getting Started/Installation#Local_Eclipse_Update_Site|Local Eclipse Update Site (offline)]]<br>  
  
Now you can use the build result, a local eclipse update site,&nbsp;to install Stardust. Follow the instructions in the section [[Stardust/Knowledge_Base/Getting_Started/Installation#Local_Eclipse_Update_Site_.28offline.29|Local Eclipse Update Site (offline)]]<br>
+
Next check out the resource in the [[Stardust/Knowledge Base|Stardust Knowledge Base]], especially the [[Stardust/Knowledge Base#Getting_Started|Getting Started]] section. You may also want to check out the [http://www.eclipse.org/forums/index.php?t=thread&frm_id=225 Forum] to post questions or just exchange thoughts with the community.<br>  
  
Next check out the resource in the [[Stardust/Knowledge_Base|Stardust Knowledge Base]], especially the [[Stardust/Knowledge_Base#Getting_Started|Getting Started]] section. You may also want to check out the [http://www.eclipse.org/forums/index.php?t=thread&frm_id=225 Forum] to post questions or just exchange thoughts with the community.<br>
+
==== Troubleshooting<br>  ====
 
+
== Troubleshooting<br>  ==
+
  
 
If you experience any problems downloading the source code or building Stardust then please contact us via the [http://www.eclipse.org/forums/index.php?t=thread&frm_id=225 Forum].<br>  
 
If you experience any problems downloading the source code or building Stardust then please contact us via the [http://www.eclipse.org/forums/index.php?t=thread&frm_id=225 Forum].<br>  
  
==== Error retrieving BIRT Runtime<br>  ====
+
===== Error retrieving BIRT Runtime<br>  =====
  
 
If you get the error below or something similar while running the p2 repository build (step 2) then this is caused by an instabilty of the connection with the Eclipse server. Retrying the same build command at a later point in time should resolve the issue.<br>  
 
If you get the error below or something similar while running the p2 repository build (step 2) then this is caused by an instabilty of the connection with the Eclipse server. Retrying the same build command at a later point in time should resolve the issue.<br>  
 
<pre>[ivy:retrieve]  Server access Error: Read timed out  
 
<pre>[ivy:retrieve]  Server access Error: Read timed out  
 
url=http://download.eclipse.org/birt/downloads/drops/R-R1-2_6_2-201102191842/birt-runtime-2_6_2.zip
 
url=http://download.eclipse.org/birt/downloads/drops/R-R1-2_6_2-201102191842/birt-runtime-2_6_2.zip
</pre>
+
</pre>  
 
+
===== Errors fetching Dependencies<br>  =====
==== Errors fetching Dependencies<br>  ====
+
  
 
If you encounter errors during the build that indicate <u>missing dependencies</u> which could not be fetched from the repositories then try cleaning the ivy cache folder .ivy in your <span style="font-style: italic;">user.</span>''home'' (e.g. C:\Users\your.name\.ivy, if it exists) and the maven repository (check settings.xml in ''M2_HOME''/etc and/or ''user.home''/.m2 to determine the location).<br>  
 
If you encounter errors during the build that indicate <u>missing dependencies</u> which could not be fetched from the repositories then try cleaning the ivy cache folder .ivy in your <span style="font-style: italic;">user.</span>''home'' (e.g. C:\Users\your.name\.ivy, if it exists) and the maven repository (check settings.xml in ''M2_HOME''/etc and/or ''user.home''/.m2 to determine the location).<br>  
  
If your are using <u>Maven 3.0.4 behind a proxy</u> please see [[Stardust/Knowledge_Base/Build_and_Change_Management/Maven/Basic_Setup#Troubleshooting|here]] on how to fix the issue.
+
If your are using <u>Maven 3.0.4 behind a proxy</u> please see [[Stardust/Knowledge Base/Build and Change Management/Maven/Basic Setup#Troubleshooting|here]] on how to fix the issue.
  
== Importing projects into Eclipse ==
+
== IDE Build (Under Construction) ==
  
After you have executed the build you can import the projects into Eclipse. Although we're using Maven as the main dependency management system we have currently some projects which are using Ivy for the dependency management (this will be slowly but surely changed sooner or later). Because of the fact that the IvyDE plugin can handle Ivy and Maven projects we have adjusted all projects to work with this plugin.
+
You have the possibility to build stardust also in your Eclipse IDE.  
  
==== Installing IvyDE plugin ====
+
=== Importing projects into Eclipse  ===
At first you have to install the IvyDE plugin. To do that just click on "Install new Software..." in the Help menu item of Eclipse. In the upcoming dialog press the "Add..." button and provide the following URL http://www.apache.org/dist/ant/ivyde/updatesite. Please install "Apache IvyDE" and optionaly "Apache IvyDE Resolve Visualizer". These can be found in the section "Apache IvyDE Eclipse plugins".
+
  
==== Import build.tools project ====
+
After you have executed the build you can import the projects into Eclipse. Although we're using Maven as the main dependency management system we have currently some projects which are using Ivy for the dependency management (this will be slowly but surely changed sooner or later). Because of the fact that the IvyDE plugin can handle Ivy and Maven projects we have adjusted all projects to work with this plugin.  
Now import the ''build.tools'' project with help of the "Existing Projects into Workspace" wizard of the import dialog of Eclipse.
+
  
==== Configure IvyDE plugin ====
+
==== Installing IvyDE plugin ====
After the installation of IvyDE and the ''build.tools'' project import, open the preferences dialog of Eclipse which can be found in the ''Window'' menu item and click on ''Ivy'' in the left panel. Now configure the plugin as follows:
+
* ''Advanced'': enable "Use extended resolve id"
+
* ''Classpath Container'': enable "Resolve dependencies in workspace"
+
* ''Settings/Ivy settings path'': ${workspace_loc:build.tools/ivysettings-eclipse.xml}
+
** this assumes that you have already imported the ''build.tools'' project in Eclipse
+
  
==== Importing all projects ====
+
At first you have to install the IvyDE plugin. To do that just click on "Install new Software..." in the Help menu item of Eclipse. In the upcoming dialog press the "Add..." button and provide the following URL http://www.apache.org/dist/ant/ivyde/updatesite. Please install "Apache IvyDE" and optionaly "Apache IvyDE Resolve Visualizer". These can be found in the section "Apache IvyDE Eclipse plugins".  
In the last step you can import all remaining projects into Eclipse with the "Existing Projects into Workspace" wizard of the import dialog of Eclipse. As the root directory you can choose the GIT checkout folder. As a result of this all projects are listed in the ''Projects'' view. Please remove the marker left of the project ''stardust-hazelcast-ra'' because it is currently not used. After this click on the "Resolve All" button which can you find in the IvyDE toolbar:<br><br>
+
[[Image:ResolveAll-Button.png]]
+
  
This step can take some time. Therefore we're suggesting to open the ''Ivy Console'' in the Console view to see/validate the resolve progress.
+
==== Import build.tools project  ====
  
== Binary Distribution  ==
+
Now import the ''build.tools'' project with help of the "Existing Projects into Workspace" wizard of the import dialog of Eclipse.
  
All Stardust source code has been submitted to the Eclipse git repository. A complete binary distribution requires libraries which are still pending approval by Eclipse legal, hence no binary distribution is available yet. One will be available for download form the project website as soon as the libraries have been approved.
+
==== Configure IvyDE plugin  ====
  
== Compliance  ==
+
After the installation of IvyDE and the ''build.tools'' project import, open the preferences dialog of Eclipse which can be found in the ''Window'' menu item and click on ''Ivy'' in the left panel. Now configure the plugin as follows:
  
*The products libraries have been reviewed for license conflicts.
+
*''Advanced'': enable "Use extended resolve id"
*Dependencies that did not comply with the [http://www.eclipse.org/legal/epl-v10.html Eclipse Public License] (EPL) have been replaced
+
*''Classpath Container'': enable "Resolve dependencies in workspace"
*The source has been submitted to the Eclipse foundation where it was reviewed with regards to intellectual property rights and licensing.  
+
*''Settings/Ivy settings path'': ${workspace_loc:build.tools/ivysettings-eclipse.xml}
*The source was refactored. All package names were change to the eclipse package names.
+
**this assumes that you have already imported the ''build.tools'' project in Eclipse
 +
 
 +
==== Importing all projects  ====
 +
 
 +
In the last step you can import all remaining projects into Eclipse with the "Existing Projects into Workspace" wizard of the import dialog of Eclipse. As the root directory you can choose the GIT checkout folder. As a result of this all projects are listed in the ''Projects'' view. Please remove the marker left of the project ''stardust-hazelcast-ra'' because it is currently not used. After this click on the "Resolve All" button which can you find in the IvyDE toolbar:<br><br> [[Image:ResolveAll-Button.png]]
 +
 
 +
This step can take some time. Therefore we're suggesting to open the ''Ivy Console'' in the Console view to see/validate the resolve progress.

Revision as of 08:32, 30 September 2013

Browsing the Source Code

For initial quick browsing of the source code please go to http://git.eclipse.org/c/?q=stardust.

Overview

This documentation covers the local build of stardust. You can use the command line or build directly in the Eclipse IDE.

Command Line Build

Installing Git

To checkout the source code you need to install git first. You have different options:

  • git scm installs a minimal environment to run Git. It comes with a Bash,a Perl interpreter, the Git executable plus dependencies.
  • msysgit installs a build environment for Git on Windows. It includes git scm. After installtion you can open a git shell to run git commands (git bash or git-cmd.bat).

Clone git Repositories

  • Create a new folder, e.g. C:\\stardust, and open a git shell there. (bash on Linux/Win or git-cmd.bat on Win)
  • Copy the following commands to a file named cloneStardust.cmd or cloneStardust.sh file.
  • Save it to the stardust folder and execute it.
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.build.tools.git build.tools
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.components.git components
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.deploy.jee.git deploy.jee
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.documentation.git documentation
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.engine.git engine
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.examples.git examples
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.git org.eclipse.stardust
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ide.git ide
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ide.simulation.git ide.simulation
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ide.wst.git ide.wst
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.product.git product
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.reporting.app.web.git reporting.app.web
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.reporting.rt.git reporting.rt
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.reporting.ui.git reporting.ui
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.repository.git repository
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ui.common.git ui.common
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ui.web.git ui.web
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.ui.web.mobile.git ui.web.mobile


If you run git clone behind a HTTP proxy specify proxy details first.

git config --global http.proxy http://<user>:<password>@proxy:port

Now you have the default checkout which is the master branch.

Actually we have the following branches:

  • master - is used for the upcoming luna release, which will be stardust 2.0
  • I_4_3 - is used for kepler releases
  • I_4_3_SR1 - is a special branch only for the kepler SR1 release, which is stardust 1.0.1

For more details on the differences between stardust versions, please look at the projects website.

If you like to clone a specific branch add "-b <branch-name>" to the git command. To work on a stable source please use release tags as checkout. We have a help script (linux) to do git commands on all stardust repositories:

cd <root-of-your-stardust-checkout>
build.tools\bin\git-all.sh checkout v1.0.0.20130612-0325-R

Build Stardust

To maybe cover the different build configurations in branches, we have a readme.txt available in the sources. Please follow the steps described in readme.txt residing in product folder.

Prerequisites

Environment-specific Changes

see readme.txt

If you're using your own Maven settings file please make sure that you provide the path to your local Maven repository as a property, called buildenv.m2.localRepository

    <profiles>
    <profile>
      <id>stardust-build</id>
      <properties>
		<build.tools.home>${WORKSPACE}/build.tools</build.tools.home>
         <buildenv.m2.localRepository>${build.tools.home}/build/m2-repo</buildenv.m2.localRepository>
      </properties>
    </profile>
  </profiles>

Running the Build

see readme.txt

Please note that you must add the profile update-version-properties in the above mentioned command if you have changed something in build.tools/dependency-version.properties.


Modules may be built individually. However, as they partially depend on each other, it is required to:

  • use the "install" goal to ensure built artifacts are made available for downstream module builds
  • build modules in the following order (means to start mvn builds from those directories):
  1.  stardust/ide/3rdparty/
  2. stardust/ide/engine/
  3. stardust/ide/model/
  4. stardust/ide/modeling/
  5. stardust/ide.simulation/
  6. stardust/reporting.rt/
  7. stardust/reporting.ui/
  8. stardust/documentation/
  9. stardust/ide.wst/
  10. stardust/repsoitory/
Version Qualifier

The concrete value of the .qualifier version part may be set to a define value by appending "-DforceContextQualifer=<qualifier value>". Please note, that if you do not provide an explicit Stardust version and qualifier, build artifacts will use the default build version (which is currently 9.9.9-SNAPSHOT). You should check startust/org.eclipse.stardust/org.eclipse.stardust-parent/pom.xml for the ipp.version, which should equal the version you are using in your overall build.

Where to go from here?

Now you can use the build result, a local eclipse update site, to install Stardust. Follow the instructions in the section Local Eclipse Update Site (offline)

Next check out the resource in the Stardust Knowledge Base, especially the Getting Started section. You may also want to check out the Forum to post questions or just exchange thoughts with the community.

Troubleshooting

If you experience any problems downloading the source code or building Stardust then please contact us via the Forum.

Error retrieving BIRT Runtime

If you get the error below or something similar while running the p2 repository build (step 2) then this is caused by an instabilty of the connection with the Eclipse server. Retrying the same build command at a later point in time should resolve the issue.

[ivy:retrieve]  Server access Error: Read timed out 
url=http://download.eclipse.org/birt/downloads/drops/R-R1-2_6_2-201102191842/birt-runtime-2_6_2.zip
Errors fetching Dependencies

If you encounter errors during the build that indicate missing dependencies which could not be fetched from the repositories then try cleaning the ivy cache folder .ivy in your user.home (e.g. C:\Users\your.name\.ivy, if it exists) and the maven repository (check settings.xml in M2_HOME/etc and/or user.home/.m2 to determine the location).

If your are using Maven 3.0.4 behind a proxy please see here on how to fix the issue.

IDE Build (Under Construction)

You have the possibility to build stardust also in your Eclipse IDE.

Importing projects into Eclipse

After you have executed the build you can import the projects into Eclipse. Although we're using Maven as the main dependency management system we have currently some projects which are using Ivy for the dependency management (this will be slowly but surely changed sooner or later). Because of the fact that the IvyDE plugin can handle Ivy and Maven projects we have adjusted all projects to work with this plugin.

Installing IvyDE plugin

At first you have to install the IvyDE plugin. To do that just click on "Install new Software..." in the Help menu item of Eclipse. In the upcoming dialog press the "Add..." button and provide the following URL http://www.apache.org/dist/ant/ivyde/updatesite. Please install "Apache IvyDE" and optionaly "Apache IvyDE Resolve Visualizer". These can be found in the section "Apache IvyDE Eclipse plugins".

Import build.tools project

Now import the build.tools project with help of the "Existing Projects into Workspace" wizard of the import dialog of Eclipse.

Configure IvyDE plugin

After the installation of IvyDE and the build.tools project import, open the preferences dialog of Eclipse which can be found in the Window menu item and click on Ivy in the left panel. Now configure the plugin as follows:

  • Advanced: enable "Use extended resolve id"
  • Classpath Container: enable "Resolve dependencies in workspace"
  • Settings/Ivy settings path: ${workspace_loc:build.tools/ivysettings-eclipse.xml}
    • this assumes that you have already imported the build.tools project in Eclipse

Importing all projects

In the last step you can import all remaining projects into Eclipse with the "Existing Projects into Workspace" wizard of the import dialog of Eclipse. As the root directory you can choose the GIT checkout folder. As a result of this all projects are listed in the Projects view. Please remove the marker left of the project stardust-hazelcast-ra because it is currently not used. After this click on the "Resolve All" button which can you find in the IvyDE toolbar:

ResolveAll-Button.png

This step can take some time. Therefore we're suggesting to open the Ivy Console in the Console view to see/validate the resolve progress.