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 to the latest 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.2.01.zip).
  2. Install Node.js version 20.15.1 and Yarn version v1.22.22. 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. 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. 
    Some Maven repositories might not be available over HTTP.
    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.2.00.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.2.01.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.2.01> cd lib
    \com.bmc.arsys.rx.sdk-25.2.01\lib> mvn clean install
  11. Update the archetype-catalog.xml file to delete the earlier archetype versions (for example 25.2.00) and make sure the archetype-catalog.xml file has the archetype version as 25.2.01-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.2.01-SNAPSHOT</version>
    <description>Rx SDK application archetype</description>
    </archetype>

To upgrade your application or library by using the SDK from version 25.2.00 to 25.2.01

To upgrade your applications or libraries created by using the SDK from version 25.2.00 to 25.2.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.2.00-SNAPSHOT</rx-sdk.version>
    <rx-sdk.version>25.2.01-SNAPSHOT</rx-sdk.version>
  2. Update the bundle/pom.xml file and search for <artifactId>maven-resources-plugin</artifactId> with id copy-resources
    and add the <include>*config_public-path*</include> below <include>*${project.artifactId}*</include>.
  3. 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/
  4. Delete the following file: 
    /bundle/src/main/webapp/yarn.lock
  5. Use the APAPT CSS variable. The _variables.scss is no longer included in BMC Helix Innovation Studio SDK, so scss import of a variable will not function. 
    For example,
    Before:
    .foo { color: $gray-500; }
    After:
    .foo { color: var(--gray-500); }
  6. (Optional) The @import syntax has been deprecated for the CSS stylesheet. Update your CSS file to use @use syntax.
    For more information, see https://sass-lang.com/blog/import-is-deprecated/  and https://sass-lang.com/documentation/at-rules/import/.
  7. Build, export, and deploy your application project. For example:

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

To upgrade your application or library by using the SDK from version 25.1.xx to 25.2.00

To upgrade your applications or libraries created by using the SDK from version 25.1.02 to 25.2.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>25.1.02-SNAPSHOT</rx-sdk.version>
    <rx-sdk.version>25.2.00-SNAPSHOT</rx-sdk.version>
  2. Update the bundle/pom.xml file and search for <artifactId>maven-resources-plugin</artifactId> with id copy-resources
    and add the <include>*config_public-path*</include> below <include>*${project.artifactId}*</include>.
  3. 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/
  4. Delete the following file: 
    /bundle/src/main/webapp/yarn.lock
  5. Use the APAPT CSS variable. The _variables.scss is no longer included in BMC Helix Innovation Studio SDK, so scss import of a variable will not function. 
    For example,
    Before:
    .foo { color: $gray-500; }
    After:
    .foo { color: var(--gray-500); }
  6. (Optional) The @import syntax has been deprecated for the CSS stylesheet. Update your CSS file to use @use syntax.
    For more information, see https://sass-lang.com/blog/import-is-deprecated/  and https://sass-lang.com/documentation/at-rules/import/.
  7. (Optional) Perform this step only if you are running unit test cases. Update the unit test configuration.
    1. Remove the content of bundle/src/main/webapp/jest.preset.js.
    2. Remove the preset property from bundle/src/main/webapp/libs/<library-name>/jest.config.js.
    3. Update the transformIgnorePatterns property from bundle/src/main/webapp/libs/<library-name>/jest.config.js.
      For example,
      Before:
      'node_modules/(?!.*.mjs$)'

      After:
      'node_modules/(?!.*.mjs$|d3*)'
    4. Update the scripts of the package.json file under webapp directory with
      "test": "yarn run nx-high-memory run-many --target=test --all --parallel --code-coverage --exclude=shell"
  8. Build, export, and deploy your application project. For example:

    myproj> mvn clean install -Pexport -Pdeploy
  9. 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.2.00.

View Component or View Action is not available in the palette

You might encounter the following issues:

  • A View component and Action are not visible in the BMC Helix Innovation Studio palette or in the button action list and/or are not executed at runtime. 
  • 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, complete the following tasks:

Build issue with browserslist

When you build a coded bundle, 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, 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

.

 

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