IBM Support

PI67919: BUILD FORGE 8.0.0.4: ADAPTORS USING BOUNDARY MATCHES (^$) ARE NOT PROCESSED UNDER MATCH PATTERNS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When using <match> element tag in the XML adaptor code and you
    are using boundary matchers (^[carat] and $), as part of the
    regex, Build Forge will not process the regex boundary matchers
    correctly.
    
    Steps to replicate:
    
    1. Create a Project
    2. Create an adaptor (e.g adp1) with the code as seen below
    3. Create a step in the project and in the source section add:
    
    .source adp1
    
    4. Run the project
    
    
    -------------------------------- start adaptor
    code--------------------------------
    
    
    <?xml version="1.0"?>
    <!-- (c) Copyright by IBM Corp. and other(s) [2012], 2013 All
    Rights Reserved. -->
    <!DOCTYPE PROJECT_INTERFACE SYSTEM "interface.dtd">
    <PROJECT_INTERFACE IFTYPE="Source" INSTANCE="7.02">
    <!-- Adapter for running JBE to accept/fetch from Jazz Source
    Control using RTC 3.0 and beyond. -->
    <template>
        <env name="Current_Date" value=".date %d-%m-%y.%H:%M:%S" />
        <env name="Last_Run" value="01-01-05.00:00:00" />
        <env name="BFServer" value="$BF_SERVER"/>
        <env name="Build_Engine_Path" value="default"/>
        <env name="Repository_Address"
    value="https://localhost:9443/jazz" />
        <env name="Build_User" value="build" />
        <env name="Build_Password" value="build" />
        <env name="buildResultUuid" value="" />
        <env name="engineUUID" value="default"/>
        <env name="Fetch_Dir"
    value="${BF_PROJECTNAME_PHYS}/${BF_TAG}"/>
    
    </template>
    <interface name="AntTask">
        <run command="command1" params="" server="$BFServer" dir="/"
    timeout="360"/>
    </interface>
    
    <command name="command1">
        <execute>
            echo "Path: R_5.01.15.2_DEV"
            echo "URL:
    https://svn.svnserver.com/svnrepos/16854_file/BF/branches/R_5.01
    .15.2_DEV"
            echo "Relative URL: ?/BF/branches/R_5.01.15.2_DEV"
            echo "Repository Root:
    https://svn.svnserver.com/svnrepos/16854_file"
            echo "Repository UUID:
    c84d49a0-6580-11e6-8b77-86f30ca893d3"
            echo "Revision: 256"
            echo "Node Kind: directory"
            echo "Last Changed Author: jakeefe"
            echo "Last Changed Rev: 215"
            echo "Last Changed Date: 2016-05-06 13:20:45 -0500 (Fri,
    6 May 2016)"
        </execute>
        <resultsblock>
            <match pattern="?Last Changed Rev: (\d+)$">
                <setenv name="NextRev" value="$SVN_LAST_REV+1"
    eval="true" type="temp" />
                <setenv name="HeadRev" value="$1" type="temp"/>
                <setenv name="Changes" value="$1>=$NextRev?$1:''"
    eval="true" type="temp"/>
                <setenv group="[ADAPTOR]" name="SVN_LAST_REV"
    value="$HeadRev"/>
                <setenv name="SVN_LAST_REV" value="$HeadRev"/>
                <setenv group="[ADAPTOR]" name="SVN_LAST_DATE"
    value="$HeadDate"/>
                <setenv name="CodeChange"
    value="$1>=$NextRev?true:false" eval="true" type="temp"/>
                <!-- <setenv name="CodeChange" value="true"
    type="temp"/> -->
            </match>
            <match pattern="?Last Changed Date: (\S+ \S+ \S+) \(">
                <setenv name="HeadDate" value="$1" type="temp"/>
                <setenv group="[ADAPTOR]" name="SVN_LAST_DATE"
    value="$HeadDate"/>
            </match>
            </resultsblock>
    </command>
    </PROJECT_INTERFACE>
    
    -------------------------------- end adaptor
    code----------------------------------
    
    
    Expected result:
    
    Two matches should be found and the variables are processed
    appropriately.
    
    CRRBF0892I: Line ["Last Changed Rev: 215"] matched pattern 'Last
    Changed Rev: (\d+)'.
    
    CRRBF0892I: Line ["Last Changed Date: 2016-05-06 13:20:45 -0500
    (Fri, 6 May 2016)"] matched pattern 'Last Changed Date: (\S+ \S+
    \S+) \('.
    
    Actual result:
    
    No matches are found and none of the expected variable changes
    are performed.
    

Local fix

  • Remove any carat (^) or dollar symbols ($) under the match
    regular expression patterns.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * The issue occurs on all supported platforms.                 *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Boundary matches in adaptors are not processed properly.     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to Build Forge 8.0.0.6                               *
    ****************************************************************
    

Problem conclusion

  • Fix delivered in Build Forge 8.0.0.6
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI67919

  • Reported component name

    RATIONAL BUILDF

  • Reported component ID

    5724S2700

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-08-22

  • Closed date

    2018-01-08

  • Last modified date

    2018-01-08

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    RATIONAL BUILDF

  • Fixed component ID

    5724S2700

Applicable component levels

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSB2MV","label":"Rational Build Forge"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
04 May 2022