{"id":15720660,"url":"https://github.com/l-a-marchetti/bomulus","last_synced_at":"2025-04-28T15:49:47.754Z","repository":{"id":250859443,"uuid":"834741720","full_name":"L-A-Marchetti/BOMulus","owner":"L-A-Marchetti","description":"📑 BOMulus is a Go application with a GTK-based GUI that allows users to compare and analyze BOM files. It provides version control functionality to identify added, deleted, and updated lines between two BOMs.","archived":false,"fork":false,"pushed_at":"2024-10-25T07:46:57.000Z","size":2086,"stargazers_count":11,"open_issues_count":12,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-25T08:36:20.815Z","etag":null,"topics":["bom","diff","golang","gtk","gui","version-control"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/L-A-Marchetti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-28T08:09:33.000Z","updated_at":"2024-10-19T14:36:43.000Z","dependencies_parsed_at":"2024-07-30T13:47:42.764Z","dependency_job_id":"e0b7be30-534d-4626-aa6f-74f39cd6a382","html_url":"https://github.com/L-A-Marchetti/BOMulus","commit_stats":null,"previous_names":["l-a-marchetti/bomulus"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-A-Marchetti%2FBOMulus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-A-Marchetti%2FBOMulus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-A-Marchetti%2FBOMulus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-A-Marchetti%2FBOMulus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/L-A-Marchetti","download_url":"https://codeload.github.com/L-A-Marchetti/BOMulus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251342689,"owners_count":21574242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bom","diff","golang","gtk","gui","version-control"],"created_at":"2024-10-03T21:59:45.660Z","updated_at":"2025-04-28T15:49:47.736Z","avatar_url":"https://github.com/L-A-Marchetti.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BOMulus\n\n![BOMulus](https://github.com/L-A-Marchetti/BOMulus/blob/95c7d5c4541d3207057e962b0ebcc7c5b016dbb6/assets/logo.png)\n\nBOMulus 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.\n\n## Features\n\n- 🖱️ Drag and drop interface for loading two BOM files\n- 📊 Simple version control to compare BOMs\n- ➕ Identifies INSERT, DELETE, and UPDATE changes\n- 📋 Tabular output with rearrangeable columns for better visibility \n- 🎨 Color-coded schema for easy change identification\n\n## 📦 Installing BOMulus\n\nTo install BOMulus, download the latest release from the [GitHub Releases page](https://github.com/L-A-Marchetti/BOMulus/releases).\n\n## 🔧 Development\n\n### 📖 Prerequisites\n\n- Go 1.8 or newer\n- GTK 3.6-3.22\n- GLib 2.36-2.40\n- Cairo 1.10 or 1.12\n\n### 🔌 Installing Dependencies\n\n#### Linux\nFollow the instructions [here](https://github.com/gotk3/gotk3/wiki/Installing-on-Linux) to install GTK and other dependencies.\n\n#### macOS\nFollow the instructions [here](https://github.com/gotk3/gotk3/wiki/Installing-on-macOS) to install GTK and other dependencies.\n\n#### Windows\nFollow the instructions [here](https://github.com/gotk3/gotk3/wiki/Installing-on-Windows) to install GTK and other dependencies.\n\n### ⚙️ Setting up the Development Environment\n\n1. Install Go and GTK dependencies as mentioned in the Installation section.\n\n2. Clone the repository:\n\n```bash\ngit clone https://github.com/L-A-Marchetti/BOMulus.git\ncd BOMulus\n```\n\n3. Install the required Gotk3 (GTK bindings for Golang) Go package:\n\n```bash\ngo get github.com/gotk3/gotk3@v0.6.5-0.20240618185848-ff349ae13f56\n```\n\n### 🔨 Building\n\n## Linux\n\nUse the provided Makefile to build the project:\n\n```bash\nmake\n```\n\nThis will create the BOMulus binary in the `build` directory and `run` it.\nYou can also use `build`, `run` or `clean` after make.\n\n## Windows\n\nYou can use the `win-build.ps1` script to automate the build and the dependencies copying:\n\n```powershell\n.\\win-build.ps1 -version \"\u003cversion\u003e\"\n```\n\nYou won't be able to launch the script if Execution_Policies are not set correctly:\n\n```powershell\nGet-ExecutionPolicy\n```\n\nif it's `Restricted`:\n\n```powershell\nSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\n```\n\n## Build the Windows installer\n\nYou can build easily the Windows installer by using the `.iss` script `win-installer-setup.iss` or you can simply follow these steps:\n\nSet the version as an env variable:\n\n```powershell\n$env:APP_VERSION = \"\u003cversion\u003e\"\n```\n\nThen execute the installer compilation (you'll probably need to add iscc to your system env path):\n\n```powershell\niscc win-installer-setup.iss\n```\n\n### 🚀 Running\n\n## Linux\n\nTo run the application:\n\n```bash\nmake run\n```\n\nOr directly:\n\n```bash\n./BOMulus\n```\n\n## Windows\n\nYou can double click or :\n\n```powershell\nstart BOMulus.exe\n```\n\n## 🌸 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n#\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl-a-marchetti%2Fbomulus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fl-a-marchetti%2Fbomulus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl-a-marchetti%2Fbomulus/lists"}