wiki:PLATFORM_INFRASTRUCTURE_OVERVIEW
Last modified 11 years ago Last modified on 05/14/09 18:28:23

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Platform Infrastructure Overview

In this document you will find information about all the development tools that we use and instructions about their setup.

Development Tools

On every machine used for development the following should be set up:

Java 6

Eclipse 3.4

Maven

Eclipse Plug-ins

Before proceeding with the installation, see the Comments section for updates about some problems that you may encounter.

Subclipse

  • Subclipse is plug-in for SVN integration with the Eclipse IDE. It allows users to deploy Subversion in their projects. You can use source control directly from the Package Browser from the Eclipse IDE.
  • Installing Subclipse
    • Go to http://subclipse.tigris.org/install.html. Follow the installation instructions up to step 11. Pay special attention on step 6 - be sure to check out only the Sublicpse Update site and the Subclipse box below it (no other components are needed).
  • You may need to install JavaHL (from Eclipse Help->Software Updates).
  • To work with Subclipse under Linux platforms you should install SVNKit package. Here is the plugin Eclipse edition: http://eclipse.svnkit.com/1.2.x/. (pav)
Basic Functionality of Sublipse
  • After you eventually import the project into Eclipse (instructions are provided in the following paragraphs), you can use Subclipse from the package explorer of your IDE. The files and directories that are under source control are noted with a symbol in the bottom right corner of the icon. Star(asterix) is used if the file is not synchronized with the repository and a yellow cylinder is used if the files match the repository structure. In the bottom left corner of the icon appears a red "x" if there are compilation errors in the code and a yellow "!" if there are warnings.
  • We must not commit source that has errors, so that all users can always build and run the current version of the project.
  • We must not commit other files except source code.

  • "Team" menu
    • Once you have imported a project from a repository, in the Package Explorer appears a new "Team" menu.
      1. Update is used to get the latest version from the repository.
      2. Commit is used to commit the changes that you have made on your local copy.
      3. Revert is used to revert the changes you have made on your local to the current version in the repository.
      4. You can revert to previous versions. Just uncheck Switch to HEAD revision and choose the revision to which you want to switch
  • Conflicts
    • When two users (usr1 and usr2) edit the same file, usr1 commits the changes and then usr2 tries to commit a conflict occurs. Usr2 cannot commit, because usr1 has already made changes. Then merging should be done. As the merging tool of the Eclipse IDE is very poor, I suggest we use TortoiseMerge. Download TortoiseSVN from http://tortoisesvn.net/downloads. Install it. From the Eclipse IDE choose Window/Preferences/Team/SVN/DiffMerge/. Choose External editor and choose the TortoiseMerge.exe. In the "Variables" line add the following options:

/theirs:"${theirs}" /base:"${base}" /mine:"${yours}" /merged:"${merged}" Now you have integrated TortoiseMerge in Sublcipse. Whenever you get a conflict while trying to commit, choose /Team/Update. If the conflict can be automatically merged, it is done. Otherwise files with differences are created. Choose /Team/Edit Conflicts. TortoiseMerge opens and you can merge the files. On the left is the repository version, on the right your version, bellow are the results from the merge(you can edit this version). When you synchronize the files (no conflicts are left) save and from the Eclipse IDE choose /Team/Mark Resolved. You can commit now without conflicts for errors. Do visit http://tortoisesvn.tigris.org/TortoiseMerge.html for an intuitive five minutes tutorial on TortoiseMerge.

M2 Eclipse

For installation instructions, see the Maven Integration section below on this page.

PyDev

PyDev is Eclipse plug-in for Python development.
info: http://pydev.sourceforge.net/index.html.
download: http://pydev.sourceforge.net/download.html

Maven Integration

  • Integration with Eclipse
    • (for Eclipse 3.4 Classic version) Update your Eclipse platform so there is Equinox Provisioning Platform in Installed Software (Help->Software Updates)
    • download the M2 Eclipse Plug-in: http://m2eclipse.sonatype.org/update/
      • minimal package requirements for running the project - Maven Integration for Eclipse, Maven Embedder, Maven POM XML Editor
      • Note: make sure that Eclipse runs with JDK not JRE (see Window-Preferences-Java-Installed JREs, edit eclipse.ini with -vm <path to javaw executable file> or set correct PATH and JAVA_HOME variables)
    • Install JavaHL from Help->Software Updates in Eclipse
    • once you have integrated Maven with your Eclipse, in the Package Explorer appears a new "Maven" menu. From there you can:
      • Update Dependencies: you can force a refresh of the Maven Dependencies container and force downloading of artifact snapshots (regardless of the Maven repository refresh policy) by using the "Update Dependencies"
      • Update Project Configuration: can be used to refresh or recreate the Eclipse project configuration based on the content of the Maven pom.xml, for example, when changes in pom.xml affect the project structure (folders settings, plugins that dynamically add folders or have other configuration).

Deploying a project in a repository

Information about deploying a project in the repository you can find at PLATFORM_STANDARDS_REPOSITORY

Additional information

Optional accounts and tools

Accounts:

Tools:

Extras

Properties

  • For understanding what properties are and looking at some examples of how to use them, read this manual: PRO_LIB_CORE_TUTORIAL.
  • the examples are located in "Code Examples with different Properties Kinds" section.
  • In order to see different properties templates for eclipse, look at PRO_LIB_CORE_CODE_TEMPLATES.

NetBeans Step by step

Testing

In order to read about rules for writing good tests, and some information about unit/integration/system tests, visit PLATFORM_STANDARDS_AUTO_TESTS.

Comments

  • When installing M2 Eclipse Plug-in remove the "Maven Integration for AJDT", otherwise there are missing dependencies and the instalation can not continue. (pac)
  • You should exclude "Maven POM Editor" when installing the M2 Eclipse Plug-in - the same reason as in the first comment. JavaHL is required for SVN only, not M2. --boyan@2009-01-12