Wish Automation hooks for the B4i build process

b4x-de

Active Member
Licensed User
Longtime User
I would like to suggest an improvement for B4i that would make it easier to integrate larger B4i projects into a professional build workflow.

The B4i IDE performs several steps before the actual build is done by the builder. It prepares the Xcode project, generates the required project and library metadata files, writes them to the expected locations, and then sends the prepared project to a builder running on macOS.

My wish would be to make this process accessible from outside the IDE, either as one complete automated process or, perhaps even better, as separate documented steps.

For example, it would be very useful to have something like this:

  1. A way to trigger the preparation of the Xcode project from outside the IDE. This step would generate the same output that the IDE currently generates, including the required XML files and project files.

  2. A way to send an already prepared project to the builder in a documented way. This does not necessarily have to be a full API. Even a documented POST request, endpoint, and set of required parameters for the Local Builder would already be very helpful.

  3. Ideally, a way to retrieve the build result and logs in a predictable format.

My main interest is not the hosted builder. A solution that works with the Local Builder would already be sufficient. The important point is that the process could be triggered and controlled by external tools.

The background is that larger B4i projects can consist of many libraries and layers. In our case, this can easily mean more than ten libraries that need to be rebuilt, updated, referenced, and tested consistently. When several developers work on the same project, it becomes increasingly difficult to make sure that all local environments are in exactly the same state.

For small- and medium-sized team projects, a central build pipeline would be very valuable. It could rebuild the required libraries, prepare the B4i project, send it to the Local Builder, and deploy the result into a test environment. This would make builds more reproducible and would help detect problems earlier.

So the wish is not necessarily only a separate “B4i Builder” tool, but more generally a supported and documented way to automate the existing B4i build workflow.

I understand that iOS builds are more complex because of certificates, provisioning profiles, Xcode, and the requirement for macOS. Still, even a limited solution for the Local Builder would already be a big improvement for larger B4i projects and team-based development.

This is only meant as a suggestion for improving professional B4i workflows, especially when projects consist of multiple internal libraries and need to be built consistently by automated tools. Thank you!
 

hatzisn

Expert
Licensed User
Longtime User
Here is what I thought (and asked for in the past) in the past. It is quite similar:

 

hatzisn

Expert
Licensed User
Longtime User

b4x-de

Active Member
Licensed User
Longtime User
After reading @hatzisn's replies, I think I may have expressed myself unclearly regarding my request. I'm not talking about remote access to the IDE. I'm referring to traditional build automation in a CI/CD pipeline. I also came across this post by @Alberto Iglesias from 2019, who had already implemented pipeline automation for B4A and was also asking for a solution for B4i.
 

hatzisn

Expert
Licensed User
Longtime User
After reading @hatzisn's replies, I think I may have expressed myself unclearly regarding my request. I'm not talking about remote access to the IDE. I'm referring to traditional build automation in a CI/CD pipeline. I also came across this post by @Alberto Iglesias from 2019, who had already implemented pipeline automation for B4A and was also asking for a solution for B4i.

Well actually I was referring to cli use.
 
Top