Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Stardust/Source Code"

(71 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Installing Git ==
+
= Browsing the Source Code =
  
To checkout the source code your need to install git. You have different options, for instance:
+
For initial quick browsing of the source code please go to http://git.eclipse.org/c/?q=stardust.
  
*[http://git-scm.com/ [git scm]] installs a minimal environment to run Git. It comes with a Bash,a Perl interpreter and the Git executable plus dependencies.
+
= Overview  =
*[http://code.google.com/p/msysgit/ [msysgit]] installs a build environment for Git on Windows. It includes git scm.
+
  
After installing a git enviropnment open a shell
+
This documentation covers the local build of stardust. You can use the command line or build directly in the Eclipse IDE.
  
== Downloading the Source Code ==
+
== Command Line Build ==
  
#Create a new folder and open a git shell in it. (bash on Linux/Win or git-cmd.bat on Win)  
+
=== Installing Git  ===
#Issue the following commands individually or by copy all commands in a .cmd or .sh file.
+
 
<pre>git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.build.tools.git build.tools
+
To checkout the source code you need to install git first. You have different options:
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.ui.common.git common
+
 
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.components.git components
+
*[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.
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.documentation.git documentation
+
*[http://msysgit.github.io/ 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>
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.engine.git engine
+
 
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.ide.git ide
+
=== Clone git Repositories  ===
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.ide.simulation.git ide.simulation
+
 
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.ide.wst.git ide.wst
+
*Create a new folder, e.g. '''C:\\stardust''', and open a git shell there. (bash on Linux/Win or git-cmd.bat on Win)  
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.git org.eclipse.stardust
+
*Copy the following commands to a file named '''cloneStardust.cmd''' or '''cloneStardust.sh''' file.
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.product.git product
+
*Save it to the '''stardust''' folder and execute it.
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.reporting.rt.git reporting.rt
+
<pre>git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.build.tools.git build.tools
git clone https://remsbach@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.components.git components
git clone https://remsbach@git.eclipse.org/gitroot//stardust/org.eclipse.stardust.reporting.ui.git reporting.ui
+
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.deploy.jee.git deploy.jee
git clone https://git.eclipse.org/gitroot//stardust/org.eclipse.stardust.ui.web.git ui.web
+
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.documentation.git documentation
git clone https://git.eclipse.org/gitroot//stardust/org.eclipse.stardust.repository.git repository
+
git clone http://git.eclipse.org/gitroot/stardust/org.eclipse.stardust.engine.git engine
git clone https://git.eclipse.org/gitroot//stardust/org.eclipse.stardust.ui.common.git ui.common
+
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
 
</pre>  
 
</pre>  
== Binary Distribution ==
+
<br> If you run git clone behind a HTTP proxy specify proxy details first.
 +
<pre>git config --global http.proxy http://&lt;user&gt;:&lt;password&gt;@proxy:port</pre>
 +
Now you have the default checkout which is the '''master''' branch.
 +
 
 +
Following branches are available:
 +
 
 +
'''Please find in [https://wiki.eclipse.org/Stardust/Source_Code/Branch_strategy| Branching Strategy] explained which branch to use.'''
 +
 
 +
For more details on the differences between stardust versions, please look at the [http://projects.eclipse.org/projects/soa.stardust project website].
 +
 
 +
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>
 +
 
 +
We tag every milestone and release build. See git for details.
 +
 
 +
=== Build Stardust ===
 +
 
 +
==== Prerequisites  ====
 +
 
 +
*JDK - we suggest Java 1.6
 +
*[http://ant.apache.org/ Apache ANT] - we suggest Ant 1.7.0
 +
*[http://maven.apache.org/download.html Apache Maven] - we suggest Maven 3.0.5
 +
 
 +
==== Running the Build  ====
 +
 
 +
To maybe cover the different build configurations in branches, we have a '''readme.txt''' available in the source tree. Please follow the steps described in [http://git.eclipse.org/c/stardust/org.eclipse.stardust.product.git/tree/readme.txt readme.txt] residing in '''product''' folder.
 +
 
 +
===== 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?<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>
 +
 
 +
If you like to consume our '''archetypes''', e.g. tomcat7 web archive, via maven please find documentation here: [http://wiki.eclipse.org/Stardust/Knowledge_Base/Build_and_Change_Management/Maven/Basic_Setup Maven - Basic Setup]
 +
 
 +
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>
 +
To access the '''online help''' please consult [http://help.eclipse.org/luna/topic/org.eclipse.stardust.docs.dev/html/toc.html help.eclipse.org]
 +
 
 +
==== 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>
 +
 
 +
===== 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 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.
 +
 
 +
== 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
  
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.
+
==== Importing all projects  ====
  
== Compliance  ==
+
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]]
  
*The products libraries have been reviewed for license conflicts.  
+
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.
*Dependencies that did not comply with the [http://www.eclipse.org/legal/epl-v10.html Eclipse Public License] (EPL) have been replaced
+
*The source has been submitted to the Eclipse foundation where it was reviewed with regards to intellectual property rights and licensing.
+
*The source was refactored. All package names were change to the eclipse package names.
+

Revision as of 08:35, 19 December 2014

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.

Following branches are available:

Please find in Branching Strategy explained which branch to use.

For more details on the differences between stardust versions, please look at the project 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

We tag every milestone and release build. See git for details.

Build Stardust

Prerequisites

Running the Build

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

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)

If you like to consume our archetypes, e.g. tomcat7 web archive, via maven please find documentation here: Maven - Basic Setup

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.
To access the online help please consult help.eclipse.org

Troubleshooting

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

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.

Back to the top