https://github.com/active-group/lein-bom
Generate a BOM file from a project.clj.
https://github.com/active-group/lein-bom
Last synced: about 2 months ago
JSON representation
Generate a BOM file from a project.clj.
- Host: GitHub
- URL: https://github.com/active-group/lein-bom
- Owner: active-group
- License: other
- Created: 2021-03-02T13:07:59.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-08-07T11:52:30.000Z (almost 3 years ago)
- Last Synced: 2025-01-16T15:13:45.643Z (over 1 year ago)
- Language: Clojure
- Size: 36.1 KB
- Stars: 0
- Watchers: 15
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lein-bom
A Leiningen plugin to collect dependencies in the fantasy format called BOM.
[](https://clojars.org/de.active-group/lein-bom)
## Usage
Check out this repository and, from within the root directory of this project,
run:
```shell
lein install
```
Then put the following into the `project.clj` file of the project you
want to generate a BOM for
```clojure
:plugins [[de.active-group/lein-bom "0.2.5-SNAPSHOT"]]
```
and then run, also in that project's root dir:
```shell
lein bom
```
If you want to explicitly ignore some dependencies, you can specify them as
arguments after the call to lein bom.
Example: If you want to ignore `org.clojure/clojure` and
`org.clojure/clojurescript` in the output, run
```shell
lein bom org.clojure/clojure org.clojure/clojurescript
```
This will hopefully generate `bom.json` -- this file contains the bom
entries for this project. Dependencies that are specified in
`project.clj` under `:dependencies` will be included, but please read
the following note carefully.
### Note on `profiles.clj`
The `leiningen` internals always merge everything specified in the
`:dependencies` in your `profiles.clj` (located at
`~/.lein/profiles.clj` on non-Windows). If you need the project's
dependencies *without* your personal ones you need to temporarily
remove them from your `profiles.clj`. In the future, perhaps we will
find a way around this.
## License
Copyright © 2021 Active Group GmbH
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the Eclipse
Public License, v. 2.0 are satisfied: GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or (at your
option) any later version, with the GNU Classpath Exception which is available
at https://www.gnu.org/software/classpath/license.html.