OBI: Object Builder for i
April 20, 2026 ยท View on GitHub
- OBI: Object Builder for i
- Features
- Requirements
- The concept
- Following steps you need to do
- Further information
OBI: Object Builder for i
Object builder for i (OBI) is an automatic build tool.
Features
-
Use different profiles for your build settings (LIBL, target lib, build cmd, ...)

-
Quick search

-
Individual source lists

-
Open source filter as table
There you can filter, sort
-
Maintain source descriptions

-
Check for changes
It checks all sources which have changed since last compilie.
The hash value of the source will be used to check if it has changed. -
Check for dependencies
All objects which depend on the changed source will also be compiled (in correct order)
E.g. if a table or view has changed, all objects which use them will be compiled too

-
Compile in correct order
Tables before programs etc. based on the dependency list
-
See which objects has been compiled and their details
- Command
- joblog
- spool file
- error output

Requirements
- On IBM i SSH is necessary
https://github.com/andreas-prouza/ibm-i-build/blob/main/docs/pages/SSH.md - You need to clone the OBI project on your IBM i:
https://github.com/andreas-prouza/obi
The concept
The idea is to work with your sources locally on your PC.
Only for compile process, sources will be synchronised to the IFS.
Because you work locally, you need to sync your changes with other developers. --> This is where git came in.

Following steps you need to do
First start
-
On your PC create an empty project folder
-
In vscode open that folder
-
Switch to the OBI view
You will see the welcome screen.
Here you can initialize the project with OBI
This creates a new folder
.obiincluding some initial config files -
Then OBI opens the config where you need to define some mandatory settings (server, user credentials, ifs locations, ...)

Project configurationcontains settings shared with all team membersThe
User configurationarea overwrites theProject configurationwith the users specific settings (like SSH user & password, ...).When you finished configuration, save it and your project gets reloaded automatically.
-
Now, OBI is ready. It comes with an sample source in the
Source Filtersarea
-
On your IBM i Clone OBI from GitHub somewhere in the IFS and run the setup script.
git clone https://github.com/andreas-prouza/obi /ifs/path/obi cd /ifs/path/obi ./setup.sh(Copy the path in your project config)

Start migrating your source to OBI
-
GIT
If you are working in a Team you should use git- Create a git repository (on your IBM i, gitlab, github, gitea, ...)
- Add the project folder to this git repository
- Clone the git repo on your PC
-
Copy source to IFS
Get your Sources to IFS (to your project folder) You can use my RPG program to get this job done: https://github.com/andreas-prouza/ibm-i-build-obi/blob/main/src/prouzalib/qrpglesrc/cpysrc2ifs.sqlrpgle.pgm -
Reset the compiled object list OBI can check which sources have changed and need to be built.
Therefore, a hash value is stored for each source.
From now, the
Show changesaction only shows changed sources. -
When you are motivated, you can create a dependency list.
With a dependency list OBI creates the correct build order and includes all dependend objects. (E.g. for SRVPGM, files, ...) (See dependency list)
-
Sync all changes to your git repo
If no OBI config could be found, you will see the welcome screen:
Further information
- Source dependencies
- SSH setup
- OBI: the build tool running on IBM i
- OBI: detailed description
- OBI: vscode extension
Happy ever after!