Skip to content

jenkinsci/starteam-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This plugin requires a little extra attention to build.  As far as I can tell,
Borland does not publish their SDK in a maven repo.  In order to build, you
need to download the SDK from
http://www.borland.com/products/downloads/download_starteam.html.

Then:

tar xzvf st-sdk-runtime-11.0.0.66-java-unix32.tar.gz
cd sdk/lib
mvn install:install-file -DgroupId=com.borland -DartifactId=starteam110 -Dpackaging=jar -Dversion=11 -Dfile=starteam110.jar

After that, the mvn targets should work as you generally expect them to.

TIP: Use mvn -o to build in offline mode after you've done an initial mvn install.  The -o option
     forces m2 to use jars from your local repository instead of the internet, which saves tons
     of time.

***************************************************
**                   UNIT TESTS                  **
***************************************************

To pass the unit tests you will need to set up a test repository to run against.
You will also need to configure your settings.xml file (found in $HOME/.m2/ on
unix and %USERPROFILE%\.m2\ on windows).  Here are some instructions for setting
up both.

Repository setup:

   1. Create a repository
          * My repository is named "Hudson Plugin Test"
   2. Add a file to the root folder of the repository
          *  My test file is named "testfile.txt"
   3. Modify test file and check in the changes
   2. Label the repository with the label name "hudsonTestLabelBefore"
   3. Modify "testfile.txt" again and check in the changes
   4. Label the repository with the label name "hudsonTestLabel"
   5. Modify "testfile.txt" again and check in the changes
   6. Label the repository with the label name "hudsonTestLabelAfter"
   7. Create a promotion state called "hudsonPromotionState" and point it at "hudsonTestLabel"

sample settings.xml:
<settings>
    <profiles>
        <profile>
        <id>hudson</id>
            <properties>
                <test.starteam.hostname>exampleHostname</test.starteam.hostname>
                <test.starteam.hostport>examplePort</test.starteam.hostport>
                <test.starteam.projectname>Hudson Plugin Test</test.starteam.projectname>
                <test.starteam.viewname>Hudson Plugin Test</test.starteam.viewname>
                <test.starteam.foldername>Hudson Plugin Test</test.starteam.foldername>
                <test.starteam.username>exampleUser</test.starteam.username>
                <test.starteam.password>examplePassword</test.starteam.password>
                <test.starteam.labelname>hudsonTestLabel</test.starteam.labelname>
                <test.starteam.promotionname>hudsonPromotionState</test.starteam.promotionname>
                <test.starteam.changedate>2013/5/14 14:46:27</test.starteam.changedate>
                <test.starteam.dateinpast>2013/5/14 14:44:03</test.starteam.dateinpast>
                <test.starteam.testfile>Hudson Plugin Test/testfile.txt</test.starteam.testfile>
            </properties>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>hudson</activeProfile>
      </activeProfiles>
      <pluginGroups>
        <pluginGroup>org.jvnet.hudson.tools</pluginGroup>
    </pluginGroups>
</settings>

Set changedate to the time of hudsonTestLabelAfter or later.
Set dateinpast to the time of the first change to testfile.txt.
Set real values for exampleHostname, examplePort, exampleUser, and examplePassword.

***************************************************
**                  KNOWN ISSUES                 **
***************************************************

When developing with eclipse a situation can arise where
StarTeamSCMTest:testConfigRoundTrip fails with a NullSCM error.  I'm not sure
what causes this but the problem seems to be fixable by cleaning and building
on the command line.