The problem we are trying to address is how to modularise the the content in GitHub while working within the iProject limitations (iProjects are linked to a specific Library on the IBM i so we cannot sub-tree below that). I did notice ‘related iProjects’ selection in the project properties but not sure how that works? Also please note that while using the IFS would offer some easement it does add a lot more restrictions for ILE based content compilation.
The following is one way to set up the iProject and GitHub content in a way that allows it to integrate together with minimal problems. Again while this is the way we have set it up, I am sure there are plenty of others.
First create a new workspace in RDi (we have called it newIRP)
Now you can open the Workbench and start to configure the connection to the IBM i that you are going to use. Once the connection has been defined and tested create a couple of new libraries on the system to accept the iProject content. We have used IRP for the Database_services and IRPT for the Transport_Services content.
Next we need to clone the repository into the local PC directory. It is suggested that you isolate the content and do not use the default paths supplied by git. In our case we added to a new directory D:\Projects\intNew (we have already copied the code to D:\Projects\intERPrise as part of the ongoing development activity for the repository) so we retrieved a new clone copy.
NOTE: We are cloning our branch ‘Chris_Transport’ not the master as the new directory structure is being updated as part of this branch.
Now that we have the git content store on our PC we need to set up the iProjects to link the content with the IBM i. The 2 libraries we have created above will be used to store the content. The fact that we have 3 levels in the repository allows us to easily link the relevant content with libraries on the IBM i. If in the future we add new module directories in git hub you just need to add a new project and link to a relevant library.
Open the iProject perspective in RDi (Window,Perspective,Open,i Projects).
Create a new project for each sub-directory in the repository, we have called the iProject the same name as the sub directory to keep things simple.
Do the same for the Transport Services, the library we will link to is IRPT.
You should now see 2 iProjects defined in the iProjects perspective.
Now we need to push this content to the IBM i so it is stored in the libraries we have defined.
The content should now exist on the IBM i. You can use either remote explorer or iProjects to update and compile the code etc. If you use Remote Explorer you need to remember to always select ‘Add to iProject’ (right click the file) once you have updated it or the changes will not be seen by git or the iProject.
Everything is now set up to allow easy management via iProjects and git.
I would suggest you review the MiWorkPlace editor as a suitable alternative to RDi. It will be made available for free to anyone who continuously contributes to this project.