Assuming you cannot or wish not to keep using Windows, I believe you should be able to use a customed image with your compiler installed in it. Texas Instruments and/or Gitlab may be able to provide more specific help for this step.
Once you have a successful build using your image and this specific compiler, you should be able to perform the analysis. Note, however, that we do not support TI C2000 on Linux using the build wrapper. To mitigate this, you should be able to use a compilation database for the analysis instead. This page explains how to use the compilation database: C/C++/Objective-C | SonarQube Docs
Of course, should you have any issues or questions at this point we’ll be happy to help.
Currently we do the following steps with the SonarQube server.
we build the source using the TI C2000 compiler called by the windows build_wrapper on our local PC. This will generate the needed build_wrapper_output json file.
After this we start the sonar scanner and it will connect with our sonarqube server and perform the analysis.
the analysis can be reviewed at the server
we also have solarlint included in Code Composer (Eclipse IDE of TI)
We are now moving our atlassian products (Jira, Bitbucket) to the cloud so we don’t need a local server for this.
We also wan’t to use SonarCloud instead of SonarQube server.
We want to compile the code in the cloud to generate the output for the sonar scanner. The TI souce cannot be compiled using GCC so it needs to use it’s own compiler.
Question 1: So can step 1 be done by sonarcloud?
Question 2: Is it possible to install the linux (or windows) version of C2000 compiler in the cloud. So we can call the compiler from within the bitbucket-pipelines.yml file.
Question 3: Can we use autotools for this?
Question 4: Or do we need to generate the build_wrapper_output file locally. Add this to the repository. Commit and push it to bitbucket and run sonar scanner in the cloud.
Thanks for sharing these specific details and I’m glad you managed to install the compiler in your Linux environment.
Let me first take a step back in case you missed the edit of my first post: C2000 on Linux isn’t supported by the C/C++/Objective-C analyser when using build wrapper as described on C/C++/Objective-C | SonarCloud Documentation.
With Bitbucket Cloud projects the actual analysis is performed in your build environment (cloud CI, local machine, etc.). This means you have to configure your build process to perform the analysis on each build and communicate the results up to SonarCloud.
In other words, when Bitbucket offers the ability to run your pipeline on Windows, you may have little to change. This is unfortunately not yet possible although planned on their side. Cloud Roadmap | Atlassian
This doesn’t necessarily mean you’re out of luck with Bitbucket pipelines.
Instead of relying on the build wrapper, you should be able to use a compilation database instead of the build wrapper to drive the analysis. C/C++/Objective-C | SonarCloud Documentation describes how to configure the scanner to use the compilation database.
Or do we need to generate the build_wrapper_output file locally. Add this to the repository. Commit and push it to bitbucket and run sonar scanner in the cloud.
Unfortunately, this is unlikely going to work because absolute paths to sources, headers and so on wouldn’t be the same.