Skip to content

andreas-prouza/obi-extension

Repository files navigation

OBI README

Object builder for i (OBI) is an automatic build tool.

Buy me a beer

Notice: Currently only the Beta version is available. Final release will be available soon.

Features

  • Individual source lists with source descriptions

    img

  • 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

    img

  • 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

    img

Requirements


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.

img

Following steps you need to do

  1. 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

  2. If you are working in a Team you should use git

    1. Create a git repository (on your IBM i, gitlab, github, gitea, ...)
    2. Add the project folder to this git repository
    3. Clone the git repo on your PC
  3. In vscode open the project folder

  4. Switch to the OBI view

    You will see the welcome screen

  5. Initialize the project with OBI

    A new folder .obi will be created including some initial config files

  6. Take a look into the config to define some mandatory settings (server, user, ifs locations, ...)

    User specific settings (like IFS remote directory, SSH password, ...) can be defined/overwritten in the User configuration area.

  7. Check if it works with Show changes

    You should see a list of sources, ready to compile.

  8. 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 changes action only shows changed sources.

  9. 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

    (Remember the path. You need to set it in your project config)

  10. 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)

  11. Sync all changes to your git repo

If no OBI config could be found, you will see the welcome screen:

For more information

Happy ever after!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages