Skip to content

Commit f270c94

Browse files
Merge branch 'main' into 0-go-cg-docs
2 parents 174f375 + 6492d81 commit f270c94

File tree

171 files changed

+7030
-1082
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

171 files changed

+7030
-1082
lines changed

.dockerignore

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,54 @@
1-
/build/docker
1+
/build/docker
2+
/assets/
3+
4+
# From gitignore:
5+
.vscode
6+
.idea
7+
coverage.out
8+
coverage.html
9+
node_modules
10+
debricked
11+
debricked.exe
12+
dist/
13+
/debricked-go-dependencies.txt
14+
/gomod.debricked.lock
15+
/.env
16+
test/resolve/testdata/pip/requirements.txt.venv/
17+
test/resolve/testdata/pip/requirements.txt.pip.debricked.lock
18+
internal/cmd/scan/testdata/npm/yarn.lock
19+
internal/file/embedded/supported_formats.json
20+
internal/resolution/pm/gradle/.gradle-init-script.debricked.groovy
21+
internal/resolution/pm/nuget/testdata/invalid_dependency/obj
22+
internal/resolution/pm/nuget/testdata/valid/obj
23+
internal/resolution/pm/nuget/testdata/valid/packages.config.nuget.debricked.lock
24+
internal/callgraph/language/java11/testdata/mvnproj/target
25+
test/resolve/testdata/composer/composer.lock
26+
test/resolve/testdata/npm/yarn.lock
27+
test/resolve/testdata/npm/package-lock.json
28+
test/resolve/testdata/bower/bower.debricked.lock
29+
test/resolve/testdata/bower/bower_components/
30+
test/resolve/testdata/nuget/packages.lock.json
31+
test/resolve/testdata/nuget/csproj/packages.lock.json
32+
test/resolve/testdata/nuget/packagesconfig/packages.config.nuget.debricked.lock
33+
test/resolve/testdata/nuget/obj
34+
test/resolve/testdata/nuget/**/obj
35+
debricked.fingerprints.txt
36+
test/resolve/testdata/gomod/gomod.debricked.lock
37+
test/resolve/testdata/maven/maven.debricked.lock
38+
test/callgraph/**/maven.debricked.lock
39+
internal/file/testdata/**/go.sum
40+
internal/file/testdata/**/gomod.debricked.lock
41+
internal/file/testdata/**/yarn-error.log
42+
internal/scan/composer/**/yarn.lock
43+
internal/scan/testdata/**/yarn.lock
44+
internal/scan/testdata/**/package-lock.json
45+
internal/scan/testdata/**/debricked.fingerprints.wfp
46+
test/resolve/testdata/gradle/*/**
47+
**.gradle-init-script.debricked.groovy
48+
test/resolve/testdata/gradle/gradle.debricked.lock
49+
/mvnproj/target
50+
debricked-call-graph.*
51+
internal/scan/testdata/npm/result.json
52+
/internal/file/testdata/misc/yarn.lock
53+
/internal/callgraph/finder/javafinder/testdata/guava/maven.debricked.lock
54+
/internal/resolution/pm/maven/testdata/guava/maven.debricked.lock

.github/workflows/codescene.yml

Lines changed: 0 additions & 61 deletions
This file was deleted.

.github/workflows/debricked.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ jobs:
1414
- uses: actions/checkout@v4
1515
- uses: actions/setup-go@v5
1616
with:
17-
go-version: '1.20'
17+
go-version: '1.23.0'
1818
- name: Pull Supported Formats
1919
run: |
2020
cd cmd/debricked
2121
go generate -v -x
22-
- run: |
23-
go run cmd/debricked/main.go scan -t ${{ secrets.DEBRICKED_TOKEN }} -e "pkg/**" -e "test/**" -e "**/testdata/**"
22+
- uses: GuillaumeFalourd/[email protected]
23+
with:
24+
command_line: go run cmd/debricked/main.go scan -t ${{ secrets.DEBRICKED_TOKEN }} -e "pkg/**" -e "test/**" -e "**/testdata/**"
25+
contains: AUTOMATION RULE
26+
expected_result: PASSED

.github/workflows/docker.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ jobs:
2222
steps:
2323
- name: Checkout
2424
uses: actions/checkout@v4
25+
with:
26+
fetch-depth: '50'
2527

2628
- name: Set up QEMU
2729
uses: docker/setup-qemu-action@v3

.github/workflows/release.yml

Lines changed: 58 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -9,69 +9,91 @@ permissions:
99
contents: write
1010

1111
jobs:
12-
soot-wrapper:
12+
calculate-checksum:
1313
runs-on: ubuntu-latest
14-
strategy:
15-
matrix:
16-
java-version: [ 11, 17, 21 ]
14+
outputs:
15+
next_latest_tag: ${{ steps.next-latest-tag.outputs.next_latest_tag }}
16+
prev_hash: ${{ steps.calc-checksum.outputs.prev_hash }}
17+
hash: ${{ steps.calc-checksum.outputs.hash }}
1718
steps:
1819
- uses: actions/checkout@v4
1920
with:
20-
repository: 'debricked/soot-wrapper'
21+
fetch-depth: 30
22+
fetch-tags: true
23+
ref: ${{ github.event.repository.default_branch }}
24+
sparse-checkout: .
2125

26+
- name: Get next latest tag
27+
id: next-latest-tag
28+
run: |
29+
CURRENT_TAG=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r '.tag_name')
30+
PREVIOUS_TAG=$(git describe --tags --abbrev=0 $CURRENT_TAG^ --exclude release*)
31+
echo "next_latest_tag=$PREVIOUS_TAG" >> $GITHUB_OUTPUT
32+
33+
- uses: actions/checkout@v4
34+
with:
35+
repository: 'debricked/soot-wrapper'
36+
2237
- name: Calculate checksum
2338
id: calc-checksum
2439
run: |
25-
TAG=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r '.tag_name')
26-
curl -LJO https://github.com/${{ github.repository }}/releases/download/${TAG}/soot-wrapper-rev-hash.txt
40+
curl -LJO https://github.com/${{ github.repository }}/releases/download/${{ steps.next-latest-tag.outputs.next_latest_tag }}/soot-wrapper-rev-hash.txt
2741
28-
echo "release_tag=$TAG" >> $GITHUB_OUTPUT
2942
echo "hash=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
3043
if [ ! -f soot-wrapper-rev-hash.txt ]; then
3144
touch soot-wrapper-rev-hash.txt
3245
fi
3346
echo "prev_hash=$(cat soot-wrapper-rev-hash.txt)" >> $GITHUB_OUTPUT
3447
48+
- name: Store soot-wrapper revision hash
49+
run: |
50+
echo ${{ steps.calc-checksum.outputs.hash }} > soot-wrapper-rev-hash.txt
51+
52+
- name: Upload file containing soot-wrapper revision hash
53+
uses: actions/upload-artifact@v4
54+
with:
55+
name: soot-wrapper-rev-hash.txt
56+
path: soot-wrapper-rev-hash.txt
57+
overwrite: 'true'
58+
59+
soot-wrapper:
60+
needs: calculate-checksum
61+
runs-on: ubuntu-latest
62+
strategy:
63+
matrix:
64+
java-version: [ 11, 17, 21 ]
65+
steps:
66+
- uses: actions/checkout@v4
67+
with:
68+
repository: 'debricked/soot-wrapper'
69+
3570
- name: Pull JAR from previous release if already built
36-
if: steps.calc-checksum.outputs.hash == steps.calc-checksum.outputs.prev_hash
71+
if: needs.calculate-checksum.outputs.hash == needs.calculate-checksum.outputs.prev_hash
3772
run: |
38-
curl -LJO https://github.com/${{ github.repository }}/releases/download/${{ steps.calc-checksum.outputs.release_tag }}/soot-wrapper-${{ matrix.java-version }}.zip
73+
curl -LJO https://github.com/${{ github.repository }}/releases/download/${{ needs.calculate-checksum.outputs.next_latest_tag }}/soot-wrapper-${{ matrix.java-version }}.zip
3974
env:
4075
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4176

4277
- name: Set up JDK ${{ matrix.java-version }}
43-
if: steps.calc-checksum.outputs.hash != steps.calc-checksum.outputs.prev_hash
78+
if: needs.calculate-checksum.outputs.hash != needs.calculate-checksum.outputs.prev_hash
4479
uses: actions/setup-java@v4
4580
with:
4681
java-version: ${{ matrix.java-version }}
4782
distribution: 'adopt'
4883

4984
- name: Build with Maven
50-
if: steps.calc-checksum.outputs.hash != steps.calc-checksum.outputs.prev_hash
85+
if: needs.calculate-checksum.outputs.hash != needs.calculate-checksum.outputs.prev_hash
5186
run: |
5287
cd java/common/
53-
mvn clean package -X -DskipTests
88+
mvn clean package -X -DskipTests -Pjava${{ matrix.java-version }}
5489
5590
- name: Create archive with generated JARs
56-
if: steps.calc-checksum.outputs.hash != steps.calc-checksum.outputs.prev_hash
91+
if: needs.calculate-checksum.outputs.hash != needs.calculate-checksum.outputs.prev_hash
5792
run: |
5893
cd java/common/target/
59-
zip -r soot-wrapper-${{ matrix.java-version }}.zip *.jar
94+
zip soot-wrapper-${{ matrix.java-version }}.zip SootWrapper.jar # Use only the jar which includes dependencies
6095
mv soot-wrapper-${{ matrix.java-version }}.zip ../../../soot-wrapper-${{ matrix.java-version }}.zip
6196
62-
- name: Store soot-wrapper revision hash
63-
if: steps.calc-checksum.outputs.hash != steps.calc-checksum.outputs.prev_hash
64-
run: |
65-
echo ${{ steps.calc-checksum.outputs.hash }} > soot-wrapper-rev-hash.txt
66-
67-
- name: Upload file containing soot-wrapper revision hash
68-
if: steps.calc-checksum.outputs.hash != steps.calc-checksum.outputs.prev_hash
69-
uses: actions/upload-artifact@v4
70-
with:
71-
name: soot-wrapper-rev-hash.txt
72-
path: soot-wrapper-rev-hash.txt
73-
overwrite: 'true'
74-
7597
- name: Upload the archive
7698
uses: actions/upload-artifact@v4
7799
with:
@@ -89,9 +111,14 @@ jobs:
89111

90112
- run: git fetch --force --tags
91113

114+
- name: Install UPX
115+
uses: crazy-max/ghaction-upx@v3
116+
with:
117+
install-only: true
118+
92119
- uses: actions/setup-go@v5
93120
with:
94-
go-version: '>=1.20'
121+
go-version: '1.23.0'
95122
cache: true
96123

97124
- name: Import GPG signing key
@@ -106,7 +133,7 @@ jobs:
106133
cd cmd/debricked
107134
go generate -v -x
108135
109-
- uses: goreleaser/goreleaser-action@v5
136+
- uses: goreleaser/goreleaser-action@v6
110137
with:
111138
distribution: goreleaser
112139
version: latest
@@ -175,7 +202,7 @@ jobs:
175202
useradd -m aur
176203
177204
# Setup SSH access to aur.archlinux.org
178-
- uses: webfactory/ssh-agent@v0.8.0
205+
- uses: webfactory/ssh-agent@v0.9.0
179206
with:
180207
ssh-private-key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
181208

.github/workflows/test.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
name: CLI
1212
strategy:
1313
matrix:
14-
os: [ 'ubuntu-latest', 'windows-latest', 'macos-12' ]
14+
os: [ 'ubuntu-latest', 'windows-latest', 'macos-13' ]
1515
runs-on: ${{ matrix.os }}
1616
steps:
1717
- name: Set git to use LF
@@ -24,7 +24,7 @@ jobs:
2424
- name: Set up Go
2525
uses: actions/setup-go@v5
2626
with:
27-
go-version: '1.20'
27+
go-version: '1.23.0'
2828

2929
- name: Install Bower
3030
run: |
@@ -75,7 +75,7 @@ jobs:
7575
- name: Set up Go
7676
uses: actions/setup-go@v5
7777
with:
78-
go-version: '1.20'
78+
go-version: '1.23.0'
7979

8080
- name: Pull Supported Formats
8181
run: |
@@ -92,7 +92,8 @@ jobs:
9292
distribution: 'temurin'
9393

9494
- name: Install Debricked CLI
95-
run: go install -ldflags "-X main.version=${GITHUB_REF#refs/heads/}" ./cmd/debricked
95+
run: |
96+
go install -ldflags "-X main.version=${{ secrets.DEBRICKED_VERSION }}" ./cmd/debricked
9697
9798
- name: Callgraph E2E
9899
run: ./scripts/test_e2e_callgraph_java_version.sh ${{matrix.java}}
@@ -136,12 +137,12 @@ jobs:
136137
- uses: actions/checkout@v4
137138
- uses: actions/setup-go@v5
138139
with:
139-
go-version: '1.20'
140+
go-version: '1.23.0'
140141
- name: Pull Supported Formats
141142
run: |
142143
cd cmd/debricked
143144
go generate -v -x
144145
- name: golangci-lint
145146
uses: golangci/golangci-lint-action@v4
146147
with:
147-
version: v1.52
148+
version: v1.62

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,6 @@ test/resolve/testdata/gradle/gradle.debricked.lock
4545
/mvnproj/target
4646
debricked-call-graph.*
4747
internal/scan/testdata/npm/result.json
48+
/internal/file/testdata/misc/yarn.lock
49+
/internal/callgraph/finder/javafinder/testdata/guava/maven.debricked.lock
50+
/internal/resolution/pm/maven/testdata/guava/maven.debricked.lock

0 commit comments

Comments
 (0)