https://github.com/sake92/sbt-build-extract
https://github.com/sake92/sbt-build-extract
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sake92/sbt-build-extract
- Owner: sake92
- License: mit
- Created: 2025-02-14T17:18:18.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-18T14:35:57.000Z (over 1 year ago)
- Last Synced: 2025-06-25T23:37:30.572Z (about 1 year ago)
- Language: Scala
- Size: 20.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sbt-build-extract
Extracts build structure of sbt projects.
## Usage
Add to your `project/plugins.sbt`:
```scala
addSbtPlugin("ba.sake" % "sbt-build-extract" % "0.0.2")
libraryDependencies += "ba.sake" %% "sbt-build-extract-core" % "0.0.2"
```
then run
```bash
sbt> exportBuildStructure
```
This will generate files inside `target/build-export` folder, for example:
```
myproject1.json
myproject2.json
```
Each of these files contains the build structure of a subproject in JSON format.
For example if `myproject1` depends on `myproject2`, the `myproject1.json` file will contain something like this:
```json
{
"artifactClassifier": null,
"artifactName": "hepek",
"artifactType": "jar",
"base": "/projects/hepek",
"description": "Hepek SSG",
"developers": [
{
"email": "sakib@sake.ba",
"id": "sake92",
"name": "Sakib Hadžiavdić",
"url": "https://sake.ba"
}
],
"externalDependencies": [
{
"organization": "org.scala-lang",
"name": "scala3-library",
"revision": "3.3.4",
"extraAttributes": {},
"configurations": null,
"excludes": [],
"crossVersion": "binary"
},
{
"organization": "org.scalameta",
"name": "munit",
"revision": "1.0.2",
"extraAttributes": {},
"configurations": "test",
"excludes": [],
"crossVersion": "binary"
}
],
"homepage": "https://sake92.github.io/hepek",
"id": "hepekSSG",
"interProjectDependencies": [
{
"project": "myproject2",
"configuration": "default"
}
],
"javacOptions": [
],
"licenses": [
{
"name": "Apache-2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0"
}
],
"name": "hepek",
"organization": "ba.sake",
"repositories": [
"https://oss.sonatype.org/content/repositories/snapshots"
],
"scalacOptions": [
"-deprecation",
"-Yretain-trees",
"-Wunused:all"
],
"scalaVersion": "3.3.4",
"scmInfo": {
"browseUrl": "https://github.com/sake92/hepek",
"connection": "scm:git:git@github.com:sake92/hepek.git",
"devConnection": null
},
"version": "0.0.1-SNAPSHOT"
}
```