BOMulus is a Go application with a GTK-based GUI that allows users to compare and analyze Bill of Materials (BOM) files. It provides version control functionality to identify added, deleted, and updated lines between two BOMs.
- 🖱️ Drag and drop interface for loading two BOM files
- 📊 Simple version control to compare BOMs
- ➕ Identifies INSERT, DELETE, and UPDATE changes
- 📋 Tabular output with rearrangeable columns for better visibility
- 🎨 Color-coded schema for easy change identification
To install BOMulus, download the latest release from the GitHub Releases page.
- Go 1.8 or newer
- GTK 3.6-3.22
- GLib 2.36-2.40
- Cairo 1.10 or 1.12
Follow the instructions here to install GTK and other dependencies.
Follow the instructions here to install GTK and other dependencies.
Follow the instructions here to install GTK and other dependencies.
-
Install Go and GTK dependencies as mentioned in the Installation section.
-
Clone the repository:
git clone https://github.com/L-A-Marchetti/BOMulus.git
cd BOMulus
- Install the required Gotk3 (GTK bindings for Golang) Go package:
go get github.com/gotk3/gotk3@v0.6.5-0.20240618185848-ff349ae13f56
Use the provided Makefile to build the project:
make
This will create the BOMulus binary in the build
directory and run
it.
You can also use build
, run
or clean
after make.
You can use the win-build.ps1
script to automate the build and the dependencies copying:
.\win-build.ps1 -version "<version>"
You won't be able to launch the script if Execution_Policies are not set correctly:
Get-ExecutionPolicy
if it's Restricted
:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
You can build easily the Windows installer by using the .iss
script win-installer-setup.iss
or you can simply follow these steps:
Set the version as an env variable:
$env:APP_VERSION = "<version>"
Then execute the installer compilation (you'll probably need to add iscc to your system env path):
iscc win-installer-setup.iss
To run the application:
make run
Or directly:
./BOMulus
You can double click or :
start BOMulus.exe
Contributions are welcome! Please feel free to submit a Pull Request.