Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - automate image build: (7 Items)
   
automate image build  
I have several projects created using the Momentics "QNX System Builder Project" new project wizard.

This makes life pretty easy managing content of images.

I have automated building the binaries of all our projects, now I need to automate building them into images.  I am 
doing this on a separate build machine (to developers machines) via a command line.

Can anyone tell me how this is done?

I realise that the command line utility makeifs would be used for this, however I do not want to resort to writing a 
manual parser of the project.bld file which seems to contain all the info about what to put in a mkifs file.
Momentics seems to use magic plugins to convert the project.bld combined with the startup.bsh file to create a mkxfs 
file.

Cheers

Adrian
Re: automate image build  
Hi Adrian,

in the project's context menu in the IDE, choose "Export...", then, from the destination tree, "QNX / System Builder 
Project to Mkxfs Build File(s)". That will generate a ".mkifs" file which you can feed into mkifs.

Cheers,
- Thomas 
Re: automate image build  
Hi, Adrian,

The mksbp ("MaKe System Builder Project) utility is designed for this.  
In your automated build, check out your code into an IDE workspace and run:

   % mksbp </path/to/workspace> <project-name>

to build your project using the IDE in "head-less" mode, exactly as it 
would be built in an interactive session.

http://www.qnx.com/developers/docs/6.4.1/neutrino/utilities/m/mksbp.html

HTH,

Christian


On 04/03/10 01:17 AM, Adrian Higgins wrote:
> I have several projects created using the Momentics "QNX System Builder Project" new project wizard.
>
> This makes life pretty easy managing content of images.
>
> I have automated building the binaries of all our projects, now I need to automate building them into images.  I am 
doing this on a separate build machine (to developers machines) via a command line.
>
> Can anyone tell me how this is done?
>
> I realise that the command line utility makeifs would be used for this, however I do not want to resort to writing a 
manual parser of the project.bld file which seems to contain all the info about what to put in a mkifs file.
> Momentics seems to use magic plugins to convert the project.bld combined with the startup.bsh file to create a mkxfs 
file.
>
> Cheers
>
> Adrian
>
>
>
> _______________________________________________
>
> General
> http://community.qnx.com/sf/go/post48762
>
>    

Re: automate image build  
This seems like a great tool...IF you have manually imported all your projects into an IDE workspace.

What I want is to automate building each image from source.
I want to be able to checkout the projects and build the image.
I do not want to have to first manually import all the projects into an IDE.

One way around this is to version control the .metadata directory.
This seems like a very bad idea.

Any further thoughts on this issue?
Re: automate image build  
Hi, Adrian,

You are quite correct:  version control of the .metadata/ directory is a very bad idea.  It is large and highly volatile
.

Your only real alternative is to export your System Builder project to a mkifs buildfile and create a small makefile to 
build it with mkifs and the other relevant utilities.  But, then you would have the problem of maintaining the buildfile
, re-exporting it from System Builder whenever you make changes.  At least the makefile wouldn't need maintenance ...

Cheers,

Christian
Re: automate image build  
Hi, Adrian,

Note that you will only have to import your System Builder project (and its dependencies) into the workspace once.  
Thereafter, you can simply replace the contents of all projects with your checkout in each automated build.  There 
shouldn't be any need to import into the workspace again (unless, of course, you add more projects).

HTH,

Christian


On 12/04/10 02:32 AM, Adrian Higgins wrote: 

	This seems like a great tool...IF you have manually imported all your projects into an IDE workspace.
	
	What I want is to automate building each image from source.
	I want to be able to checkout the projects and build the image.
	I do not want to have to first manually import all the projects into an IDE.
	
	One way around this is to version control the .metadata directory.
	This seems like a very bad idea.
	
	Any further thoughts on this issue?
	
	
	
	_______________________________________________
	
	General
	http://community.qnx.com/sf/go/post51447
	
	  



-- 
Christian W. Damus
Software Developer, IDE Team
QNX Software Systems <http://www.qnx.com/>;  
Re: automate image build  
Thanks Christian

This is less than ideal, there would be no way (well I'm sure there's a way, but not easy) to know if the previously 
created one-off workspace is valid...i.e. has anyone added a project to the workspace?

Due to this and other issues (PRE_TARGET causes command line to not build) I'm considering resorting to automating IDE 
itself via the GUI (AutoHotKey or something similar).  I REALLY don't want to go down this path, for what should be 
obvious reasons.  But at this point I'm not sure I have any robust options.

Cheers

Adrian

> Hi, Adrian,
> 
> Note that you will only have to import your System Builder project (and its 
> dependencies) into the workspace once.  Thereafter, you can simply replace the
>  contents of all projects with your checkout in each automated build.  There 
> shouldn't be any need to import into the workspace again (unless, of course, 
> you add more projects).
> 
> HTH,
> 
> Christian
> 
> 
> On 12/04/10 02:32 AM, Adrian Higgins wrote: 
> 
> 	This seems like a great tool...IF you have manually imported all your 
> projects into an IDE workspace.
> 	
> 	What I want is to automate building each image from source.
> 	I want to be able to checkout the projects and build the image.
> 	I do not want to have to first manually import all the projects into an IDE.
> 	
> 	One way around this is to version control the .metadata directory.
> 	This seems like a very bad idea.
> 	
> 	Any further thoughts on this issue?
> 	
> 	
> 	
> 	_______________________________________________
> 	
> 	General
> 	http://community.qnx.com/sf/go/post51447
> 	
> 	  
> 
> 
> 
> -- 
> Christian W. Damus
> Software Developer, IDE Team
> QNX Software Systems <http://www.qnx.com/>;