Jump to: navigation, search

Difference between revisions of "PTP/environment setup 60"

< PTP
(Compiling XML Schema (XSD) into Java classes using the JAXB compiler (xjc))
(Checking out PTP projects)
 
(35 intermediate revisions by 6 users not shown)
Line 1: Line 1:
=== Setup for development of PTP 6.0 ===
+
=== Setup for development of PTP 6.0 ===
  
PTP now uses the git repository at dev.eclipse.org and the CVS repository is now locked for writing.
+
This is applicable to Juno&nbsp;<strike>and Kepler </strike>development for PTP.  
  
Git reference info: [[PTP/environment_setup/git | Links to Git info ]]
+
See [[PTP/environment_setup_70 | PTP 7.0 Environment setup]]
  
These instructions describe using the master branch of the repository.
+
*Juno-based development (PTP 6.0.x) is on the git repo '''ptp_6_0''' branch
Please let us know (e.g. on ptp-dev mailing list) if these instructions need updating.
+
*Kepler-based development (June 2013 release) is on the git repo '''master''' branch (replace the previous release references to "ptp 5.0" with "ptp 6.0" in the following descriptions)
  
PTP 6.0 needs Java 1.6, Eclipse 4.2/Juno (or Eclipse 3.8/Juno), CDT supported by Juno (8.1), and RSE 3.3 (at least)
+
PTP now uses the git repository at dev.eclipse.org and the CVS repository is now locked for writing.  
  
* Download Eclipse 4.2 (Juno) here: http://www.eclipse.org/downloads/index-developer.php  "Eclipse Classic" is a good choice.
+
Git reference info: [[PTP/environment setup/git|Links to Git info ]]
** Eclipse 3.7 (Indigo) does '''not''' work with PTP 6, but Eclipse 3.8 (also part of Juno) will work.  Links to recent 3.8 milestone builds can be found here: http://download.eclipse.org/eclipse/downloads/eclipse3x.php
+
  
'''Install CDT, RSE, Git, etc. into Eclipse.'''
+
These instructions describe using the master branch of the repository. Please let us know (e.g. on ptp-dev mailing list) if these instructions need updating.
# In Eclipse, click Help > Install New Software...
+
 
# In the "Work with:" combo box, choose "Juno - http://download.eclipse.org/releases/juno"
+
PTP 6.0 needs Java 1.6, Eclipse 4.2/Juno (or Eclipse 3.8/Juno but it may be untested), CDT supported by Juno (8.1), and RSE 3.3 (at least)
# Under "Collaboration", check the checkbox next to "Eclipse EGit"
+
 
# Under "General Purpose Tools", check  
+
*Download Eclipse 4.2 (Juno) here: http://www.eclipse.org/downloads "Eclipse Classic" is a good choice.
## "Remote System Explorer End-User Runtime" (RSE)
+
**Eclipse 3.7 (Indigo) does '''not''' work with PTP 6, but Eclipse 3.8 (also part of Juno) should work but is not tested very extensively by PTP Developers. Links to recent 3.8 milestone builds can be found here: http://download.eclipse.org/eclipse/downloads/eclipse3x.php
## (Optional) "Parallel Tools Platform (PTP) End-User Runtime" - while you will probably check out source to override this, having it installed in the workbench can avert later build problems.
+
 
# Under "Programming Languages", check all of the following:
+
'''Install CDT, RSE, Git, etc. into Eclipse.'''  
## C/C++ Development Tools SDK
+
 
## Fortran Development Tools (Photran)
+
#In Eclipse, click Help &gt; Install New Software...  
## Unified Parallel C Support (this includes CDT's LR parser)
+
#In the "Work with:" combo box, choose "Juno - http://download.eclipse.org/releases/juno"  
## XL C/C++ Compiler Support
+
#Under "Collaboration"  
# ''(Optional)'' Under "Web, XML, JavaEE...", check  
+
##"Eclipse EGit"  
## "Eclipse XML Editors and Tools" (this is useful for editing XML files, e.g. creating resource manager configurations)
+
##"EGit Import Support" or EGit Plug-in Import Support
## "Eclipse Web Developer Tools" (useful for editing HTML files)
+
#Under "General Purpose Tools", check  
# Click the "Next >" button, and complete the installation wizard. Restart Eclipse when prompted.
+
##"Remote System Explorer End-User Runtime" (RSE)  
 +
##''(Optional)'' "Parallel Tools Platform (PTP) End-User Runtime" - while you will probably check out source to override this, having it installed in the workbench can avert later build problems.  
 +
#Under "Programming Languages", check all of the following:  
 +
##"C/C++ Development Tools SDK"
 +
##"Fortran Development Tools (Photran)"
 +
##"Unified Parallel C (UPC) Support" (this includes CDT's LR parser)  
 +
##"XL C/C++ Compiler Support"
 +
#''(Optional)'' Under "Web, XML, JavaEE...", check  
 +
##"Eclipse Web Developer Tools" (useful for editing HTML files)
 +
##"Eclipse XML Editors and Tools" (this is useful for editing XML files, e.g. creating resource manager configurations)  
 +
#Click the "Next &gt;" button, and complete the installation wizard. Restart Eclipse when prompted.
  
 
JAXB shouldn't be needed to install into Juno, JAXB is part of the Java 1.6 libraries  
 
JAXB shouldn't be needed to install into Juno, JAXB is part of the Java 1.6 libraries  
  
'''Set an API baseline.'''
+
'''Set an API baseline.'''  
  
''In these steps, you will download the '''previous''' release of PTP. Eclipse's API Tooling will compare the current API with the API from the previous release to check for breaking changes.''
+
''In these steps, you will download the '''previous''' release of PTP. Eclipse's API Tooling will compare the current API with the API from the previous release to check for breaking changes.''  
  
# Download the PTP 5.0.0 master archive: [http://download.eclipse.org/tools/ptp/builds/5.0.0/I.I201106140904/ptp-master-5.0.0-I201106140904.zip ptp-master-5.0.0-I201106140904.zip]
+
#Download the PTP master archive of the previous major release of PTP. This will be a file named ptp-master-xxx.zip.
# Unzip it into some directory (e.g. ptp-baseline-5.0.0)  
+
##Prior to June, 2012, this is [http://archive.eclipse.org/tools/ptp/builds/5.0.0/I.I201106140904/ptp-master-5.0.0-I201106140904.zip ptp-master-5.0.0-I201106140904.zip].
# Open the Eclipse workbench preferences dialog. (On Windows or Linux, click Window > Preferences; on Mac OS X, click Eclipse > Preferences)
+
##After June, 2012, this is [http://download.eclipse.org/tools/ptp/builds/juno/milestones/RC4/ptp-master-6.0.0-201206130212.zip ptp-master-6.0.0-201206130212.zip].
# Expand the "Plug-in Development" category, and choose "API Baselines"
+
#Unzip it into some directory (e.g. ptp-baseline-5.0.0)  
# Click "Add Baseline..." In the dialog, enter "Default" for the name, choose the directory from step 2 for the location, click "Reset", and then click "Finish" to close the New API Baseline dialog.
+
#Open the Eclipse workbench preferences dialog. (On Windows or Linux, click Window &gt; Preferences; on Mac OS X, click Eclipse &gt; Preferences)  
# Click OK to close the Preferences dialog. (If a message dialog appears asking whether you want to perform a full build, click Yes.)
+
#Expand the "Plug-in Development" category, and choose "API Baselines"  
 +
#Click "Add Baseline..." In the dialog, enter "Default" for the name, choose the directory from step 2 for the location, click "Reset", and then click "Finish" to close the New API Baseline dialog.  
 +
#Click OK to close the Preferences dialog. (If a message dialog appears asking whether you want to perform a full build, click Yes.)
  
== Checking out PTP projects ==
+
== Checking out PTP projects ==
  
# File>Import ... then use the 'Git>Projects from Git' import wizard.
+
#File&gt;Import ... then use the 'Git&gt;Projects from Git' import wizard.  
# Select "URI" and click Next >
+
#Select "URI" and click Next &gt;
# If you haven't yet cloned the repository to your machine:
+
#If you haven't yet cloned the repository to your machine:  
#* Under Location: URI: enter the repository URI and click Next >:
+
#*Under Location: URI: enter the repository URI and click Next &gt;:  
#** Committer access: ssh://<userid>@git.eclipse.org/gitroot/ptp/org.eclipse.ptp.git
+
#**Committer access: ssh://&lt;userid&gt;@git.eclipse.org/gitroot/ptp/org.eclipse.ptp.git  
#*** Use your committer userid and password.
+
#***Use your committer userid and password.  
#** Anonymous access: you can either use git://git.eclipse.org/gitroot/ptp/org.eclipse.ptp.git or http://git.eclipse.org/gitroot/ptp/org.eclipse.ptp.git
+
#**Anonymous access: you can either use git://git.eclipse.org/gitroot/ptp/org.eclipse.ptp.git or http://git.eclipse.org/gitroot/ptp/org.eclipse.ptp.git  
#*** Use 'anonymous' for userid and leave password blank.
+
#***Use 'anonymous' for userid and leave password blank.  
#* Choose the branches you want to clone (usually ptp_5_0 and master==HEAD) and click Next >.
+
#*Choose the branches you want to clone (usually ptp_6_0 and master==HEAD) and click Next &gt;.  
#** Note: all workspaces on your machine that talk to this local clone of the repository will all use the same branch at a time. You may want separate clones of the repo (one for each release/branch) for this reason. If so, the last page of the wizard lets you specify a different directory for this clone and you don't have to use same name as remote repo name for your directory.
+
#**Note: all workspaces on your machine that talk to this local clone of the repository will all use the same branch at a time. You may want separate clones of the repo (one for each release/branch) for this reason. If so, the last page of the wizard lets you specify a different directory for this clone and you don't have to use same name as remote repo name for your directory.  
#*** One convention for this: Make two clones of the git repo, one for master (Juno work) and one for the ptp_5_0 branch (Indigo work). You can put both branches in each clone.
+
#***One convention for this: Make two clones of the git repo, one for master (Kepler work) and one for the ptp_6_0 branch (Juno work). You can put both branches in each clone.  
#**** One set of suggested names of the repos:
+
#****One set of suggested names of the repos:  
#***# Set of repos where 'master' is the (default) branch used - for Juno work (that is, name the repo the same as the remote repo name)
+
#***#Set of repos where 'master' is the (default) branch used - for Kepler work (that is, name the repo to match the default branch -- or, just use the same name as the server repo)  
#***#* org.eclipse.ptp.git
+
#***#*org.eclipse.ptp-kepler
#***#* org.eclipse.photran.git
+
#***#*org.eclipse.photran-kepler
#***#* org.eclipse.ptp.master.git (this is the aggregated build project for eclipse hudson build server. Most developers won't need to clone this.)
+
#***#*org.eclipse.ptp.master-kepler (this is the aggregated build project for eclipse hudson build server. Most developers won't need to clone this.)  
#***# Set of repos where 'ptp_5_0' is the (default) branch used - for Indigo work
+
#***#** cloned from ssh://<userid>@git.eclipse.org/gitroot/ptp/org.eclipse.ptp.master
#***#* org.eclipse.ptp.git-ptp50
+
#***#Set of repos where 'ptp_6_0' is the (default) branch used - for Juno work  
#***#* org.eclipse.photran.git-ptp50
+
#***#*org.eclipse.ptp-juno
#***#* org.eclipse.ptp.master.git-ptp50 (this is the aggregated build project for eclipse hudson build server. Most developers won't need to clone this.)
+
#***#*org.eclipse.photran-juno
#* Click Next> to choose where you want the repository located locally. It can be anywhere. See suggested names above if you don't have a better idea.
+
#***#*org.eclipse.ptp.master-juno (this is the aggregated build project for eclipse hudson build server. Most developers won't need to clone this.)  
#* Click Finish. The repository should be downloaded.
+
#*Click Next&gt; to choose where you want the repository located locally. It can be anywhere. See suggested names above if you don't have a better idea.  
#* Once the repository has downloaded you should see it in the list. Select it.
+
#** Also choose what you want the default branch to be (if other than master)
# If you have already cloned the repository, and it isn't shown in the list (e.g. Clone done from another workspace)  
+
#*Click Finish. The repository should be downloaded.  
#* Select Add... and add it.
+
#*Once the repository has downloaded you should see it in the list. Select it.  
#* You should now see it in the list. Select it.
+
#If you have already cloned the repository, and it isn't shown in the list (e.g. Clone done from another workspace)  
# Click Next> then Next> again and you should see a list of all the projects.
+
#*Select Add... and add it.  
# Select all of the projects ''except'' org.eclipse.ptp.rm.smoa.core and org.eclipse.ptp.rm.smoa.ui, and click Finish.
+
#*You should now see it in the list. Select it.  
 +
#Click Next&gt; then Next&gt; again and you should see a list of all the projects.  
 +
#Select all of the projects ''except'' the following, then click Finish. (The rsync projects are not included in the PTP build and currently do not compile. &nbsp;The other two projects are unit tests for RDT; to compile and run them, you would need to check out the source code for CDT's unit testing projects and their dependencies. Omitting them just keeps confusing build errors out of your way.)
 +
#*org.eclipse.ptp.rdt.core.tests
 +
#*org.eclipse.ptp.rdt.sync.rsync.core [might not exist]
 +
#*org.eclipse.ptp.rdt.sync.rsync.ui [might not exist]
 +
#*org.eclipse.ptp.rdt.ui.tests
  
Repeat the steps to import another repository (e.g. photran). The photran URI is ssh://userid@git.eclipse.org/gitroot/ptp/org.eclipse.photran.git
+
Repeat the steps to import another repository (e.g. Photran).  
 +
*The Photran URI is ssh://userid@git.eclipse.org/gitroot/ptp/org.eclipse.photran.git; for non-commiters, use git://git.eclipse.org/gitroot/ptp/org.eclipse.photran.git.
 +
*The aggregated build is org.eclipse.ptp.master (most folks won't need this); you will have to import as General project or it won't see any projects
  
 
It is also necessary to set Git options to ensure that updates are done correctly.  
 
It is also necessary to set Git options to ensure that updates are done correctly.  
  
ONCE ONLY: (Git settings are saved on disk, so shared across workspaces and Eclipse installations.)
+
ONCE ONLY: (Git settings are saved on disk, so shared across workspaces and Eclipse installations.)  
* Open Window>Preferences>Team>Git>Configuration
+
* Select the "User Settings" tab
+
* Click "New Entry"
+
* For "Key", enter '''branch.autosetuprebase'''
+
* For "Value", enter '''always'''
+
* Click "OK"
+
  
FOR EACH REPOSITORY YOU HAVE CLONED:
+
*Open Window&gt;Preferences&gt;Team&gt;Git&gt;Configuration
 +
*Select the "User Settings" tab
 +
*Click "Add Entry"
 +
*For "Key", enter '''branch.autosetuprebase'''
 +
*For "Value", enter '''always'''
 +
*Click "OK"
  
* Open Preferences>Team>Git>Configuration if it's not already open
+
FOR EACH REPOSITORY YOU HAVE CLONED:
* Select the "Repository Settings" tab
+
 
* Select the repository from the "Repository" dropdown
+
*Open Window&gt;Preferences&gt;Team&gt;Git&gt;Configuration if it's not already open  
* Click "New Entry"
+
*Select the "Repository Settings" tab  
* For "Key", enter '''branch.master.rebase'''
+
*Select the repository from the "Repository" dropdown  
* For "Value", enter '''true'''
+
*Click "Add Entry"  
* Click "OK"
+
*For "Key", enter '''branch.master.rebase'''  
* If you are working on the ptp_5_0 branch (or other branches)
+
*For "Value", enter '''true'''  
** Do the same thing, but use key '''branch.ptp_X_Y.rebase'''
+
*Click "OK"  
 +
*If you are working on the ptp_6_0 branch (or other branches)  
 +
**Do the same thing, but use key '''branch.ptp_X_Y.rebase'''
  
 
== Updating ==
 
== Updating ==
Line 114: Line 134:
 
# '''Commit''' to your local repository - this can be on single files or groups/whole project
 
# '''Commit''' to your local repository - this can be on single files or groups/whole project
 
#* right-click on your project and use '''Team&gt;Commit'''  
 
#* right-click on your project and use '''Team&gt;Commit'''  
 +
# '''Pull''' to get the latest changes and prevent errors when you push
 +
#* right-click on any project in the repository and use '''Team&gt;Pull'''
 
# '''Push''' to copy it to the remote repository - do it on project, e.g. from Project Explorer; all commits in your local repository (including other projects) get pushed up to git.eclipse.org
 
# '''Push''' to copy it to the remote repository - do it on project, e.g. from Project Explorer; all commits in your local repository (including other projects) get pushed up to git.eclipse.org
#* right-click on your project and use '''Team&gt;Push to Upstream'''  
+
#* right-click on any  project in the repository and use '''Team&gt;Push to Upstream'''  
  
 
[[Platform-releng/Git_Workflows#Commit_changes_to_the_main_repo | Platform Git workflows wiki page]] is helpful here.
 
[[Platform-releng/Git_Workflows#Commit_changes_to_the_main_repo | Platform Git workflows wiki page]] is helpful here.
Line 135: Line 157:
  
 
== Building runtime binary ==
 
== Building runtime binary ==
 +
(This is only true of the older resource managers that require a proxy on the target machine.  Not needed for most recent resource managers now.)
 +
 
To e.g. run with a resource manager, you may have to build some platform-specific binary/proxy code.
 
To e.g. run with a resource manager, you may have to build some platform-specific binary/proxy code.
 
For example, to run with OpenMPI locally on MACOSX, cd to the org.eclipse.ptp.macosx.x86 project in a terminal window, and execute
 
For example, to run with OpenMPI locally on MACOSX, cd to the org.eclipse.ptp.macosx.x86 project in a terminal window, and execute
Line 142: Line 166:
 
== Copy Remote Tools Dstore server jar ==
 
== Copy Remote Tools Dstore server jar ==
 
If you are using Remote Tools ... you may see the error "Unable to locate payload "rdt-server.jar" in bundle "org.eclipse.ptp.rdt.server.dstore" "
 
If you are using Remote Tools ... you may see the error "Unable to locate payload "rdt-server.jar" in bundle "org.eclipse.ptp.rdt.server.dstore" "
when you launch a runtime workspace and make a remote project.
+
when you launch a runtime workspace and make a (purely) remote project.
  
 
So you must do the following (Until we can build rdt server jar here) ...
 
So you must do the following (Until we can build rdt server jar here) ...
Line 164: Line 188:
 
# Install it somewhere on your local machine
 
# Install it somewhere on your local machine
 
# In your project workspace, create an External Tools Configuration.  The following is an example based on org.eclipse.ptp.rm.jaxb.core, which has the .xsd in the data directory:
 
# In your project workspace, create an External Tools Configuration.  The following is an example based on org.eclipse.ptp.rm.jaxb.core, which has the .xsd in the data directory:
## Location: <code>{jaxb-ri directory}/bin/xjc.sh</code> or <code>xjc.bat</code> or <code>/usr/bin/xjc</code>
+
## Location: <code>{jaxb-ri directory}/bin/xjc.sh</code> or <code>/usr/bin/xjc</code>
 
## Working Directory:  <code>${workspace_loc:/org.eclipse.ptp.rm.jaxb.core}</code>
 
## Working Directory:  <code>${workspace_loc:/org.eclipse.ptp.rm.jaxb.core}</code>
 
## Arguments:  <code>data/resource_manager_type.xsd -p org.eclipse.ptp.rm.jaxb.core.data -d  src</code>
 
## Arguments:  <code>data/resource_manager_type.xsd -p org.eclipse.ptp.rm.jaxb.core.data -d  src</code>
  
 
Each time you run this, all the source files generated from the schema will be overwritten.
 
Each time you run this, all the source files generated from the schema will be overwritten.

Latest revision as of 13:19, 30 May 2013

Setup for development of PTP 6.0

This is applicable to Juno and Kepler development for PTP.

See PTP 7.0 Environment setup

  • Juno-based development (PTP 6.0.x) is on the git repo ptp_6_0 branch
  • Kepler-based development (June 2013 release) is on the git repo master branch (replace the previous release references to "ptp 5.0" with "ptp 6.0" in the following descriptions)

PTP now uses the git repository at dev.eclipse.org and the CVS repository is now locked for writing.

Git reference info: Links to Git info

These instructions describe using the master branch of the repository. Please let us know (e.g. on ptp-dev mailing list) if these instructions need updating.

PTP 6.0 needs Java 1.6, Eclipse 4.2/Juno (or Eclipse 3.8/Juno but it may be untested), CDT supported by Juno (8.1), and RSE 3.3 (at least)

Install CDT, RSE, Git, etc. into Eclipse.

  1. In Eclipse, click Help > Install New Software...
  2. In the "Work with:" combo box, choose "Juno - http://download.eclipse.org/releases/juno"
  3. Under "Collaboration"
    1. "Eclipse EGit"
    2. "EGit Import Support" or EGit Plug-in Import Support
  4. Under "General Purpose Tools", check
    1. "Remote System Explorer End-User Runtime" (RSE)
    2. (Optional) "Parallel Tools Platform (PTP) End-User Runtime" - while you will probably check out source to override this, having it installed in the workbench can avert later build problems.
  5. Under "Programming Languages", check all of the following:
    1. "C/C++ Development Tools SDK"
    2. "Fortran Development Tools (Photran)"
    3. "Unified Parallel C (UPC) Support" (this includes CDT's LR parser)
    4. "XL C/C++ Compiler Support"
  6. (Optional) Under "Web, XML, JavaEE...", check
    1. "Eclipse Web Developer Tools" (useful for editing HTML files)
    2. "Eclipse XML Editors and Tools" (this is useful for editing XML files, e.g. creating resource manager configurations)
  7. Click the "Next >" button, and complete the installation wizard. Restart Eclipse when prompted.

JAXB shouldn't be needed to install into Juno, JAXB is part of the Java 1.6 libraries

Set an API baseline.

In these steps, you will download the previous release of PTP. Eclipse's API Tooling will compare the current API with the API from the previous release to check for breaking changes.

  1. Download the PTP master archive of the previous major release of PTP. This will be a file named ptp-master-xxx.zip.
    1. Prior to June, 2012, this is ptp-master-5.0.0-I201106140904.zip.
    2. After June, 2012, this is ptp-master-6.0.0-201206130212.zip.
  2. Unzip it into some directory (e.g. ptp-baseline-5.0.0)
  3. Open the Eclipse workbench preferences dialog. (On Windows or Linux, click Window > Preferences; on Mac OS X, click Eclipse > Preferences)
  4. Expand the "Plug-in Development" category, and choose "API Baselines"
  5. Click "Add Baseline..." In the dialog, enter "Default" for the name, choose the directory from step 2 for the location, click "Reset", and then click "Finish" to close the New API Baseline dialog.
  6. Click OK to close the Preferences dialog. (If a message dialog appears asking whether you want to perform a full build, click Yes.)

Checking out PTP projects

  1. File>Import ... then use the 'Git>Projects from Git' import wizard.
  2. Select "URI" and click Next >
  3. If you haven't yet cloned the repository to your machine:
    • Under Location: URI: enter the repository URI and click Next >:
    • Choose the branches you want to clone (usually ptp_6_0 and master==HEAD) and click Next >.
      • Note: all workspaces on your machine that talk to this local clone of the repository will all use the same branch at a time. You may want separate clones of the repo (one for each release/branch) for this reason. If so, the last page of the wizard lets you specify a different directory for this clone and you don't have to use same name as remote repo name for your directory.
        • One convention for this: Make two clones of the git repo, one for master (Kepler work) and one for the ptp_6_0 branch (Juno work). You can put both branches in each clone.
          • One set of suggested names of the repos:
          1. Set of repos where 'master' is the (default) branch used - for Kepler work (that is, name the repo to match the default branch -- or, just use the same name as the server repo)
            • org.eclipse.ptp-kepler
            • org.eclipse.photran-kepler
            • org.eclipse.ptp.master-kepler (this is the aggregated build project for eclipse hudson build server. Most developers won't need to clone this.)
              • cloned from ssh://<userid>@git.eclipse.org/gitroot/ptp/org.eclipse.ptp.master
          2. Set of repos where 'ptp_6_0' is the (default) branch used - for Juno work
            • org.eclipse.ptp-juno
            • org.eclipse.photran-juno
            • org.eclipse.ptp.master-juno (this is the aggregated build project for eclipse hudson build server. Most developers won't need to clone this.)
    • Click Next> to choose where you want the repository located locally. It can be anywhere. See suggested names above if you don't have a better idea.
      • Also choose what you want the default branch to be (if other than master)
    • Click Finish. The repository should be downloaded.
    • Once the repository has downloaded you should see it in the list. Select it.
  4. If you have already cloned the repository, and it isn't shown in the list (e.g. Clone done from another workspace)
    • Select Add... and add it.
    • You should now see it in the list. Select it.
  5. Click Next> then Next> again and you should see a list of all the projects.
  6. Select all of the projects except the following, then click Finish. (The rsync projects are not included in the PTP build and currently do not compile.  The other two projects are unit tests for RDT; to compile and run them, you would need to check out the source code for CDT's unit testing projects and their dependencies. Omitting them just keeps confusing build errors out of your way.)
    • org.eclipse.ptp.rdt.core.tests
    • org.eclipse.ptp.rdt.sync.rsync.core [might not exist]
    • org.eclipse.ptp.rdt.sync.rsync.ui [might not exist]
    • org.eclipse.ptp.rdt.ui.tests

Repeat the steps to import another repository (e.g. Photran).

It is also necessary to set Git options to ensure that updates are done correctly.

ONCE ONLY: (Git settings are saved on disk, so shared across workspaces and Eclipse installations.)

  • Open Window>Preferences>Team>Git>Configuration
  • Select the "User Settings" tab
  • Click "Add Entry"
  • For "Key", enter branch.autosetuprebase
  • For "Value", enter always
  • Click "OK"

FOR EACH REPOSITORY YOU HAVE CLONED:

  • Open Window>Preferences>Team>Git>Configuration if it's not already open
  • Select the "Repository Settings" tab
  • Select the repository from the "Repository" dropdown
  • Click "Add Entry"
  • For "Key", enter branch.master.rebase
  • For "Value", enter true
  • Click "OK"
  • If you are working on the ptp_6_0 branch (or other branches)
    • Do the same thing, but use key branch.ptp_X_Y.rebase

Updating

  1. Right-click on a project and use Team>Pull - this updates the entire local repository, and the current branch in your workspace

Platform Git workflows wiki page has more detail here (including splitting Pull into its two actual steps of Fetch and Merge]

Note:

  • Make sure you have set branch.autosetuprebase=always and branch.<name>.rebase=true as described above
  • This causes a Pull (analogous to a 'cvs update') to do the following:
    • Fetch
    • Rebase (It undoes all local commits, fast-forwards the local version to the remote one, and then reapplies the local commits)
  • Otherwise a Pull only does a Fetch/Merge which causes a spaghetti like history

Committing to remote repository

There are two steps to getting code changes in the remote repository at git.eclipse.org. (This was a single commit step in CVS.)

  1. Commit to your local repository - this can be on single files or groups/whole project
    • right-click on your project and use Team>Commit
  2. Pull to get the latest changes and prevent errors when you push
    • right-click on any project in the repository and use Team>Pull
  3. Push to copy it to the remote repository - do it on project, e.g. from Project Explorer; all commits in your local repository (including other projects) get pushed up to git.eclipse.org
    • right-click on any project in the repository and use Team>Push to Upstream

Platform Git workflows wiki page is helpful here.

Here are the steps:

  • Checkout the branch you want to commit changes, for example local:master -> remote:master
  • If it is already checked out, Pull to make sure it is in sync
  • Make changes / Apply patch
  • Commit. Specify Author - contributor of the patch, and yourself as Committer
  • Push.
    • If push failed, you may not be having latest version. Rerun pull.

In history view you should see

[master][origin/master][HEAD] Bug xxx - your fix

API baseline and code formatter

Building runtime binary

(This is only true of the older resource managers that require a proxy on the target machine. Not needed for most recent resource managers now.)

To e.g. run with a resource manager, you may have to build some platform-specific binary/proxy code. For example, to run with OpenMPI locally on MACOSX, cd to the org.eclipse.ptp.macosx.x86 project in a terminal window, and execute

  • sh BUILD

This should build the executable 'sdm' in the bin/ directory. Do not be alarmed if you see "LoadLeveler not installed, skipping..." etc - if you do not have these IBM components installed on your system, there is no need for it to build those binaries.

Copy Remote Tools Dstore server jar

If you are using Remote Tools ... you may see the error "Unable to locate payload "rdt-server.jar" in bundle "org.eclipse.ptp.rdt.server.dstore" " when you launch a runtime workspace and make a (purely) remote project.

So you must do the following (Until we can build rdt server jar here) ... From a PTP (end-user) installation, unzip eclipse/plugins/org.eclipse.ptp.rdt.server.dstore_xxx.jar into a directory. Then from the unzipped contents move rdt-server.jar to your development workspace project: org.eclipse.ptp.rdt.server.dstore

(This is the file that will be moved up to the remote host location when you create a remote project. Remote Tools installs this jar on the server automatically and starts it for you.)

If you don't, you will see the error popup "Unable to locate payload "rdt-server.jar" in bundle "org.eclipse.ptp.rdt.server.dstore"

Launching a runtime workbench running the code you checked out into your workspace

  1. Run > Debug Configurations ...
  2. Double-click on 'Eclipse Application' - or click and click on the 'new' icon
  3. Defaults are probably ok to run with all the plugin projects in your workspace; hit 'Debug' in lower right corner


Compiling XML Schema (XSD) into Java classes using the JAXB compiler (xjc)

Should there be a need to alter the provided schemas for the JAXB Resource Manager (or any other such JAXB tooling), follow these steps to set up compilation:

  1. Download jaxb-ri (xjc); e.g., from JAXB Project (Note: Mac OS X already has xjc installed)
  2. Install it somewhere on your local machine
  3. In your project workspace, create an External Tools Configuration. The following is an example based on org.eclipse.ptp.rm.jaxb.core, which has the .xsd in the data directory:
    1. Location: {jaxb-ri directory}/bin/xjc.sh or /usr/bin/xjc
    2. Working Directory: ${workspace_loc:/org.eclipse.ptp.rm.jaxb.core}
    3. Arguments: data/resource_manager_type.xsd -p org.eclipse.ptp.rm.jaxb.core.data -d src

Each time you run this, all the source files generated from the schema will be overwritten.