Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Stardust/Source Code"
Line 1: | Line 1: | ||
− | + | = Browsing the Source Code = | |
For initial quick browsing of the source code please go to http://git.eclipse.org/c/?q=stardust. | 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. | 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: | ||
Line 16: | Line 16: | ||
*[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> | *[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> | ||
− | + | === 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) | *Create a new folder, e.g. '''C:\\stardust''', and open a git shell there. (bash on Linux/Win or git-cmd.bat on Win) | ||
Line 55: | Line 55: | ||
<pre>cd <root-of-your-stardust-checkout> | <pre>cd <root-of-your-stardust-checkout> | ||
build.tools\bin\git-all.sh checkout v1.0.0.20130612-0325-R</pre> | build.tools\bin\git-all.sh checkout v1.0.0.20130612-0325-R</pre> | ||
− | + | === 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 [http://git.eclipse.org/c/stardust/org.eclipse.stardust.product.git/tree/readme.txt readme.txt] residing in '''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/tree/readme.txt readme.txt] residing in '''product''' folder. | ||
Line 86: | Line 86: | ||
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'''. | 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'''. | ||
− | + | <br> | |
Modules may be built individually. However, as they partially depend on each other, it is required to: | Modules may be built individually. However, as they partially depend on each other, it is required to: | ||
Line 93: | Line 93: | ||
*build modules in the following order (means to start mvn builds from those directories): | *build modules in the following order (means to start mvn builds from those directories): | ||
− | # stardust/ide/3rdparty/ | + | # stardust/ide/3rdparty/ |
− | #stardust/ide/engine/ | + | #stardust/ide/engine/ |
− | #stardust/ide/model/ | + | #stardust/ide/model/ |
− | #stardust/ide/modeling/ | + | #stardust/ide/modeling/ |
− | #stardust/ide.simulation/ | + | #stardust/ide.simulation/ |
− | #stardust/reporting.rt/ | + | #stardust/reporting.rt/ |
− | #stardust/reporting.ui/ | + | #stardust/reporting.ui/ |
− | #stardust/documentation/ | + | #stardust/documentation/ |
− | #stardust/ide.wst/ | + | #stardust/ide.wst/ |
#stardust/repsoitory/ | #stardust/repsoitory/ | ||
Line 126: | Line 126: | ||
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. | ||
− | + | == IDE Build (Under Construction) == | |
− | You have the possibility to build stardust also in your Eclipse IDE. | + | |
+ | 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. | 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". | 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. | 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: | 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: | ||
Line 150: | Line 151: | ||
**this assumes that you have already imported the ''build.tools'' project in Eclipse | **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]] | 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. | 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 03:49, 25 September 2013
Contents
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
- JDK - we suggest Java 1.6
- Apache ANT - we suggest Ant 1.8.4
- Apache Maven - we suggest Maven 3.0.4
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):
- 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/
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:
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.