Upgrading to the latest BMC Helix Innovation Studio SDK


If you are using the BMC Helix Innovation Studio SDK to build and deploy applications and libraries, you must upgrade BMC Helix Innovation Studio SDK and any application projects that you created by using the earlier version of BMC Helix Innovation Studio SDK.

Important

These steps are not required for pure codeless development by using BMC Helix Innovation Studio .  

To upgrade to the latest BMC Helix Innovation Studio SDK

  1. After you receive a notification that your BMC Helix Innovation Studio has been updated,  download the BMC Helix Innovation Studio SDK ZIP file (com.bmc.arsys.rx.sdk-25.1.02.zip).
  2. Install Node.js version 16.20.1 and Yarn version v1.22.19. For more information, see To install Node.js and To install Yarn.
  3. The development environment has changed to OpenJDK. To install OpenJDK, see Setting-up-your-IDE-and-installing-BMC-Helix-Innovation-Studio-SDK
  4. Comment the maven-default-http-blocker to avoid the following error on HTTP download:
    Could not transfer artifact com.bmc.arsys.mojo:is-build-helper-maven-plugin:pom:1.0 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [bmcmanaged-nexus-tps (http://<server>:<port>/nexus/content/repositories/BMCRemedyManagedRepo, default, releases+snapshots)

    <!--    

    <mirror>
          <id>maven-default-http-blocker</id>
          <mirrorOf>external:http:*</mirrorOf>
          <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
          <url>http://0.0.0.0/</url>
          <blocked>true</blocked>
    </mirror>

    -->
  5. Some Maven repositories might not be available over HTTP. If your maven compilation fails due to the error, Return code is: 501 , ReasonPhrase:HTTPS Required, add the following entry in the <mirrors> section in the settings.xml file located in your <maven installation>/conf directory. 
    For more information, see Creating-a-Project-using-Maven-and-the-Archetype.

    <mirror>
    <id>central-over-https</id>
    <mirrorOf>central</mirrorOf>
    <name>Maven Central Repository</name>
    <url>https://repo.maven.apache.org/maven2</url>
    </mirror>
  6. Rename your current SDK folder to create a backup.
    For example, rename it to com.bmc.arsys.rx.sdk-25.1.01.BACKUP.
  7. At the location where you want to install the SDK, create a new SDK folder and extract the BMC Helix Innovation Studio SDK ZIP file (com.bmc.arsys.rx.sdk-25.1.02.zip).
  8. Add an environment variable, RX_SDK_HOME, that points to the sdk folder location.
  9. Find the .m2 folder (usually located in your user directory, such as %USERPROFILE%\.m2\repository\com\bmc on windows). Delete the arsys and rx folders located there.
  10. Install BMC Helix Innovation Studio SDK in your Maven repository by using the following commands:

    \com.bmc.arsys.rx.sdk-25.1.02> cd lib
    \com.bmc.arsys.rx.sdk-25.1.02\lib> mvn clean install
  11. Update the archetype-catalog.xml file to delete the earlier archetype versions (for example 23.3.04) and make sure the archetype-catalog.xml file has the archetype version as 25.1.02-SNAPSHOT.

    The archetype-catalog.xml file might be located at the following locations:

    • .m2
    • .m2/repository

    For example: 

    <archetype>    
    <groupId>com.bmc.arsys</groupId>
    <artifactId>rx-sdk-archetype-application</artifactId>
    <version>25.1.02-SNAPSHOT</version>
    <description>Rx SDK application archetype</description>
    </archetype>

To upgrade your application or library by using the SDK from version 25.1.01 to 25.1.02

To upgrade your applications or libraries created by using the SDK from version 25.1.01 to 25.1.02, perform the following steps:

  1. Change the version of the following parameter in the parent pom.xml file located in the project folder:

    Current version

    Updated version

    <rx-sdk.version>25.1.01-SNAPSHOT</rx-sdk.version><rx-sdk.version>25.1.02-SNAPSHOT</rx-sdk.version>
  2. Delete the content of the following folders:
    • /bundle/src/main/webapp/scripts/
    • /bundle/src/main/webapp/tools/
    • /bundle/src/main/webapp/apps/
    • /bundle/src/main/webapp/dist/
    • /bundle/src/main/webapp/styles/
    • /bundle/src/main/webapp/node_modules/
  3. Delete the following file: 
    /bundle/src/main/webapp/yarn.lock
  4. Build, export, and deploy your application project. For example:

    myproj> mvn clean install -Pexport -Pdeploy
  5. Verify that your application functions correctly.

To upgrade your application or library by using the SDK version 25.1.00 to 25.1.01

To upgrade your applications or libraries created by using the SDK from version 25.1.00 to 25.1.01, perform the following steps:

  1. Change the version of the following parameter in the parent pom.xml file located in the project folder:

    Current version

    Updated version

    <rx-sdk.version>25.1.00-SNAPSHOT</rx-sdk.version>
    <rx-sdk.version>25.1.01-SNAPSHOT</rx-sdk.version>
  2. Delete the content of the following folders:
    • /bundle/src/main/webapp/scripts/
    • /bundle/src/main/webapp/tools/
    • /bundle/src/main/webapp/apps/
    • /bundle/src/main/webapp/dist/
    • /bundle/src/main/webapp/styles/
    • /bundle/src/main/webapp/node_modules/
  3. Delete the following file: 
    /bundle/src/main/webapp/yarn.lock
  4. Build, export, and deploy your application project. For example:

    myproj> mvn clean install -Pexport -Pdeploy
  5. Verify that your application functions correctly.

To upgrade your application or library by using the SDK version 23.3.xx to 25.1.00

To upgrade your applications or libraries created by using the SDK from version 23.3.04 to 25.1.00, perform the following steps:

  1. Change the version of the following parameter in the parent pom.xml file located in the project folder:

    Current version

    Updated version

    <rx-sdk.version>23.3.04-SNAPSHOT</rx-sdk.version>
    <rx-sdk.version>25.1.00-SNAPSHOT</rx-sdk.version>
  2. Delete the content of the following folders:
    • /bundle/src/main/webapp/scripts/
    • /bundle/src/main/webapp/tools/
    • /bundle/src/main/webapp/apps/
    • /bundle/src/main/webapp/dist/
    • /bundle/src/main/webapp/styles/
    • /bundle/src/main/webapp/node_modules/
  3. Delete the following file: 
    /bundle/src/main/webapp/yarn.lock
  4. Build, export, and deploy your application project. For example:

    myproj> mvn clean install -Pexport -Pdeploy

     

  5. Verify that your application functions correctly.

Troubleshooting

This section describes the steps to resolve issues that you might encounter when upgrading your applications or libraries to version 25.1.00.

View Component or View Action is not available in the palette

A View component and Action is not visible in BMC Helix Innovation Studio palette or in the button action list, and/or is not executed at runtime. Also an Initializer is not executed at runtime.

To resolve this issue, verify the following points: 

  • A View Component, Action, or Initializer is not visible in BMC Helix Innovation Studio palette or button action list, and is not executed at runtime.
  • The View Component, View Action, and Initializer must be declared in the manifest file. To declare the components, make sure the following tasks are complete:

Build issue with browserslist

When you build a coded bundle and the following error is displayed:

./libs/foo/src/lib/styles/foo.scss - Error: Module build failed {from ./node_modules/@angular-devkit/build-angular/node_modules/mii-css-extract-plugin/dist/loader.js}; HookWebpackError: Module build failed {from ./node_modules/@angular-devkit/build-angular/node_modules/postcss-loader/dist/cjs.js};

BrowserlistError: Unknown version 104 of android

To resolve this issue, perform the following steps:

  1. Locate and delete the yarn.lock file from the /bundle/src/main/webapp location.
  2. Run the following command:

    mvn clean install

Build issue with yarn cache

When you build a coded bundle and the following error is displayed:

error an unexpected error occurred: "There should only be one folder in a package cache (got in C:\\Users\\Administrator\\AppDainfog report with the information provided in "C:\\foo\\bundle\\src\\main\\webapp\\yarn-error.log".

To resolve the issue, clear the yarn cache by running the following command:

yarn cache clean

Issues with unit test cases

If the custom application uses third-party libraries defined in the bundle/src/main/webapp/libs/<library-name>/package.json file, and includes unit tests, the following error is displayed during the build:

Error: Need to call TestBed.initTestEnvironment() first

Warning

The following steps are necessary due to an issue with Yarn 1.x. Applying these steps will automatically install Yarn 4.

To resolve the issue, you must enable local yarn by performing the following steps:

  1. Set the environment variable YARN_IGNORE_NODE=1.
  2. Set the enableLocalYarn flag to true in package.json file from /bundle/src/main/webapp/ location.

    "config": {
        "enableLocalYarn": true
      }
  3. Remove the preinstall script from the package.json file from /bundle/src/main/webapp/ location.
  4. Update the build commands in the bundle\pom.xml file.

    Example

    Update the following code:

    <execution>
       <id>run-yarn-install</id>
       <phase>generate-sources</phase>
       <goals>
           <goal>exec</goal>
       </goals>
       <configuration>
           <executable>yarn</executable>
           <workingDirectory>${project.basedir}/src/main/webapp</workingDirectory>
           <arguments>
               <argument>install</argument>
           </arguments>
       </configuration>
    </execution>

    To

    <execution>
       <id>run-pre-install</id>
       <phase>generate-sources</phase>
       <goals>
           <goal>exec</goal>
       </goals>
       <configuration>
           <executable>node</executable>
           <workingDirectory>${project.basedir}/src/main/webapp</workingDirectory>
           <arguments>
               <argument>preinstall.js</argument>
           </arguments>
       </configuration>
    </execution>
    <execution>
       <id>run-yarn-install</id>
       <phase>generate-sources</phase>
       <goals>
           <goal>exec</goal>
       </goals>
       <configuration>
           <executable>yarn</executable>
           <workingDirectory>${project.basedir}/src/main/webapp</workingDirectory>
           <arguments>
               <argument>install</argument>
           </arguments>
       </configuration>
    </execution>
    <execution>
       <id>run-post-install</id>
       <phase>generate-sources</phase>
       <goals>
           <goal>exec</goal>
       </goals>
       <configuration>
           <executable>yarn</executable>
           <workingDirectory>${project.basedir}/src/main/webapp</workingDirectory>
           <arguments>
               <argument>run</argument>
               <argument>postinstall</argument>
           </arguments>
       </configuration>
    </execution>
  5. Exclude the following files from the source control from /bundle/src/main/webapp/ location.
    • .yarn/*
    • !.yarn/releases
  1. Add the following files in the source control:
    • .yarn/releases/yarn-4.0.0.cjs
    • .yarnrc.yml
    • yarn.lock
  2. Delete the node_modules and tools, folders, and the yarn.lock file from the /bundle/src/main/webapp/ location.

  3. Run the following command:

    mvn clean install

 

.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*