Jump to content
News about the LabVIEW Wiki! Read more... ×
Sign in to follow this  
cjcilino

Component Builder: an extensible system to build software organized as hierarchical reuse libraries

Recommended Posts

Component_Builder_5_31_2018.zipIN PROGRESS!!!

Overview

At Cirrus Logic, I'm responsible for creating applications and frameworks to improve the efficiency of our validation department and ultimately lower the cost of validation. In order to quickly and efficiently turn source into applications and frameworks for distribution, a build system was necessary to abstract away the conversion of source into the different types of deliverables (VIPackages, Executables, dlls, ect) consumed by my end users, as well as abstract away the build order of our hierarchical reuse libraries that are used across applications and frameworks.

 

Many have undertaken to solve this problem. I don't claim to have created a silver bullet. But I do hope that the system I've put together (and am releasing as open source) will act as a starting point for you to extend and customize to meet your needs. I've endeavored to employ good software development principles including separation of concerns, and the SMoRES principles.

 

I'll be the first to volunteer that it isn't perfect and as always, our best software is constantly a work in progress. However, I believe the build system is at a stage to be at least moderately helpful to a handful of people in our community. 

 

Description

At NIWeek 2018 I gave a presentation on the build system. You can find the pdf of the presentation here: https://event.crowdcompass.com/niweek2018/activity/rQM8g1QHz2 and I've attached the PDF of the presentation below.

 

The Application's UI

The UI is designed to guide someone through the build process, allowing them to select what components or exports they would like to build, if and how they would like to be notified about the build, auto submission options, and source code control. I've attached a small video titled "Build UI Demo.mp4" below.

UML and APIs

 

Assumptions

Source Organization

Other Assumptions

Application Architecture

Extension

 

Software Requirements

LabVIEW 2014

LabVIEW Container

AQ Character Lineator

 

 

Steps to Implement or Execute Code

 

Additional Information or References

 

Component_Builder_10_11_2018.zip

Component_Builder_5_31_2018.zip

Build UI Demo.mp4

Save Time by Building Your Source With Build Abstraction Layers.pdf

builder UML.png

 

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site, you agree to our Terms of Use.