Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vuln func java (gradle) #83

Draft
wants to merge 99 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
7a20816
Add resolution
viktigpetterr Feb 3, 2023
7e3d9ac
Add job concurrency
viktigpetterr Feb 23, 2023
57f53b8
Add first iteration of resolving algorithm
ProgHaj Feb 13, 2023
f60983c
Improve initial pip iteration
debricked-nils Feb 14, 2023
2dddd39
Increate test coverage and improve resolve output
debricked-nils Feb 15, 2023
ea6c82b
Add pip install functionality
debricked-nils Feb 16, 2023
018497b
Delete processing, move parsePip to job
ProgHaj Feb 20, 2023
b0027fc
Improve factory-mock and related tests
ProgHaj Feb 20, 2023
6423721
Fix PATH problem for windows
ProgHaj Feb 21, 2023
cb848f4
Fix issue with not using the created venv
ProgHaj Feb 23, 2023
bac7dbb
Update tests to use parameter as command
ProgHaj Feb 23, 2023
f2be079
Remove activate venv in favor of new logic
ProgHaj Feb 23, 2023
b29fb70
Change naming convention of pip files and improve error output
nilszeilon Feb 23, 2023
9456cde
Add end to end test for pip resolution
nilszeilon Feb 23, 2023
42c5708
Add phony to makefile commands
emilwareus Feb 27, 2023
61dcc78
Resolve python version
emilwareus Feb 27, 2023
3b060df
Refactor MakeCreateVenvCmd and restructure mock to increase test cove…
ProgHaj Feb 27, 2023
3fad6f5
Update pip resolve to use status channels
ProgHaj Feb 27, 2023
74428b2
Update file batch factory to match against regex
ProgHaj Feb 28, 2023
524eb71
Create go based e2e testing
viktigpetterr Feb 28, 2023
15c0164
Adjust to project code conventions
viktigpetterr Feb 28, 2023
20b7900
Create `wire` pkg
viktigpetterr Feb 28, 2023
9b2cdf3
Colorize successfully uploaded files
viktigpetterr Mar 1, 2023
abb1ede
Update debricked.yml to use --resolve
viktigpetterr Mar 1, 2023
702ef6e
Add resolution use-cases
viktigpetterr Mar 1, 2023
fdce0c2
Fix minor issues with go resolver
ProgHaj Mar 7, 2023
b2a4262
Extract common job implementations to the `job` pkg
viktigpetterr Mar 1, 2023
f5f44d8
Create job error structure
viktigpetterr Mar 1, 2023
f43b19a
Create cli-resolution docker stage
viktigpetterr Mar 9, 2023
4c9367b
Add `cli-resolution` stage to docker.yml
viktigpetterr Mar 13, 2023
253588e
Add comment to install script
nilszeilon Feb 28, 2023
76222c0
Add root resolution of pom.xml files
nilszeilon Mar 6, 2023
9aaacbc
Add interface around vifraa/gopom parser
nilszeilon Mar 6, 2023
0881872
Add interface around pom parser/handler + tests
nilszeilon Mar 7, 2023
f37f539
Remove empty lines
nilszeilon Mar 8, 2023
56550e5
Rename PomX to PomService
nilszeilon Mar 8, 2023
16fe54e
Add filter for unparsable pom.xml files
nilszeilon Mar 8, 2023
f6a39bb
Fix test to be os agnostic
nilszeilon Mar 8, 2023
3288331
Change childMap to boolean values, add ground truth to module parsing…
nilszeilon Mar 8, 2023
fe9ae4b
Adjust to project code conventions
viktigpetterr Mar 13, 2023
355da88
Exlude test/** from debricked.yml
viktigpetterr Mar 13, 2023
00658ea
Update cmd tests to use constructors properly
viktigpetterr Mar 13, 2023
4759bad
Update default test coverage threshold to 95%
viktigpetterr Mar 13, 2023
6bcdf90
Fix baseJob.file always using 'file' as name
ProgHaj Mar 13, 2023
373ab74
Add pip case in strategy_factory_test.go
viktigpetterr Mar 14, 2023
2413638
Add missing test case, when resolution has errs in `Resolve`
viktigpetterr Mar 14, 2023
6dd7db8
Remove successfully resolved files from the error output of resolutio…
viktigpetterr Mar 14, 2023
cef7dcd
Render all jobs at once to avoid empty spinners
viktigpetterr Mar 14, 2023
5f0e2ec
Output error messages in pm packages
viktigpetterr Mar 15, 2023
a9614e3
Beautify the error messages in resolution_error_list.go
viktigpetterr Mar 16, 2023
ed31fa8
Update templates to use `--resolve` by default
viktigpetterr Mar 17, 2023
ab786ab
Sort resolution jobs by file path in ascending order
viktigpetterr Mar 20, 2023
14150e2
Truncate file paths with more than 3 path parts and with more than 50…
viktigpetterr Mar 20, 2023
ca7bf8a
Rename different generated lock files to use debricked lock file nami…
viktigpetterr Mar 20, 2023
4bf4fac
Make requirements.txt regex in Manifests less permissive
viktigpetterr Mar 21, 2023
508b7c6
Use `--fail-at-end` in the maven command
viktigpetterr Mar 22, 2023
bd707b7
Add removal of pip virtualenv after finishing job.
nilszeilon Apr 3, 2023
0565399
Add interface PipCleanup and tests
nilszeilon Apr 3, 2023
a96ac83
Refactor, new function generateLockContent
nilszeilon Apr 3, 2023
d10159b
Refactor, new function writeLockFile
nilszeilon Apr 4, 2023
8df6f91
Move err logging from writeLockContent to job.Run()
viktigpetterr Apr 4, 2023
47bde54
Move IPipCleaner to NewJob
viktigpetterr Apr 4, 2023
2a68615
Shorten pip message statuses
viktigpetterr Apr 4, 2023
e457ee0
Resolution gradle cmd (#62)
nilszeilon Apr 11, 2023
1cdd786
Update go.mod and go.sum
viktigpetterr Apr 11, 2023
6c3e96c
Change showing dir to showing main build file in job, fix execution o…
ProgHaj May 8, 2023
f73ea28
Update error message when getting permission denied
ProgHaj May 8, 2023
6328c77
Add tests and fix failing
ProgHaj May 8, 2023
183666d
Change error handling when fallback succeeds with permission error
ProgHaj May 10, 2023
f6bc041
Change gradle output file name.
debricked-nils May 12, 2023
ac4372e
Remove extra gradle init groovy file
ProgHaj May 12, 2023
17b4275
move io to new package
ProgHaj Apr 27, 2023
0015c92
add initial callgraph logic
ProgHaj Apr 27, 2023
e475b61
Add initial cli callgraph logic
ProgHaj Apr 27, 2023
389eb59
Add first iteration of resource management
ProgHaj May 2, 2023
d2bdc32
Add first iteration of find files
ProgHaj May 7, 2023
09f9156
Add initial functionality to build maven callgraphs for java projects
ProgHaj May 8, 2023
6b59380
Add first iteration of auto choosing gcd dir of classfiles
ProgHaj May 8, 2023
08d43d0
Add first iteration of working mvn callgraph generation w embeded jar
ProgHaj May 9, 2023
8059e0e
Add first iteration of gradle build dependencies
ProgHaj May 9, 2023
227142f
Update and add debricked-groovy script to gradle finder
ProgHaj May 9, 2023
6643250
Change to not build mvn/gradle but tries to copy
ProgHaj May 9, 2023
e6e1367
Update embeded location, fix general gradle logic
ProgHaj May 9, 2023
d81eb90
Add error management of no classes but roots found
ProgHaj May 10, 2023
b369d2d
Add CallGraph to scanner
ProgHaj May 10, 2023
965f3c1
Update spinner manager to support multiple actions in messages
ProgHaj May 10, 2023
bdde55b
Delete util folder of java11
ProgHaj May 10, 2023
daae391
Add first iteration of tests
ProgHaj May 10, 2023
a5c0a32
Fix more test coverage
ProgHaj May 14, 2023
6e48198
Fix problem with blocking chan
ProgHaj May 14, 2023
cd3884d
Add error msg when roots are found while classfiles are 0
ProgHaj May 14, 2023
46ceb84
Fix failing tests
ProgHaj May 14, 2023
2d41031
Remove prints and niceify
ProgHaj May 15, 2023
abb9260
Fix problem with multiple running callgraphs
ProgHaj May 15, 2023
26591f1
Add callgraph generate fixtures
ProgHaj May 15, 2023
032bc49
Fix failing tests
ProgHaj May 15, 2023
42720df
Delete .requirements.txt.pip.debricked.lock
ProgHaj May 16, 2023
53e2b7e
Remove gradle parts
ProgHaj May 16, 2023
1fd1ffc
Add gradle parts
ProgHaj May 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/codescene.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ name: CodeScene

on:
pull_request:
branches:
- main

jobs:
delta-analysis:
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/debricked.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,4 @@ jobs:
restore-keys: |
${{ runner.os }}-go-
- run: |
printf "$(go mod graph)\n\n$(go list -mod=readonly -e -m all)" > .debricked-go-dependencies.txt
- run: |
go run cmd/debricked/main.go scan -t ${{ secrets.DEBRICKED_TOKEN }} -e "pkg/**"
go run cmd/debricked/main.go scan -t ${{ secrets.DEBRICKED_TOKEN }} -e "pkg/**" -e "test/**" --resolve
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
name: 'Push Docker images'
strategy:
matrix:
stage: [ 'cli', 'scan' ]
stage: [ 'cli', 'scan', 'cli-resolution']
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ debricked
dist/
/.debricked-go-dependencies.txt
/.env
test/resolve/testdata/pip/requirements.txt.venv/
test/resolve/testdata/pip/.requirements.txt.debricked.lock
pkg/scan/testdata/npm/yarn.lock
pkg/resolution/pm/gradle/.gradle-init-script.debricked.groovy
18 changes: 18 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,17 +1,35 @@
.PHONY: install
install:
bash scripts/install.sh

.PHONY: lint
lint:
bash scripts/lint.sh

.PHONY: test
test:
bash scripts/test_cli.sh

.PHONY: test-docker
test-docker:
bash scripts/test_docker.sh cli

.PHONY: test-e2e
test-e2e:
bash scripts/test_e2e.sh

.PHONY: test-e2e-docker
docker-build-dev:
docker build -f build/docker/Dockerfile -t debricked/cli-dev:latest --target dev .

.PHONY: docker-build-cli
docker-build-cli:
docker build -f build/docker/Dockerfile -t debricked/cli:latest --target cli .

.PHONY: docker-build-scan
docker-build-scan:
docker build -f build/docker/Dockerfile -t debricked/cli-scan:latest --target scan .

.PHONY: docker-build-cli-resolution
docker-build-cli-resolution:
docker build -f build/docker/Dockerfile -t debricked/cli-resolution:latest --target cli-resolution .
23 changes: 23 additions & 0 deletions build/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,26 @@ COPY --from=dev /cli/debricked /usr/bin/debricked

FROM cli AS scan
ENTRYPOINT [ "debricked", "scan" ]

FROM cli AS cli-resolution
RUN apk --no-cache --update add \
openjdk8-jre \
python3 \
py3-scipy \
py3-pip \
go

ENV MAVEN_VERSION 3.9.0
ENV MAVEN_HOME /usr/lib/mvn
ENV PATH $MAVEN_HOME/bin:$PATH
RUN wget http://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz && \
tar -zxvf apache-maven-$MAVEN_VERSION-bin.tar.gz && \
rm apache-maven-$MAVEN_VERSION-bin.tar.gz && \
mv apache-maven-$MAVEN_VERSION $MAVEN_HOME

ENV GRADLE_VERSION 8.0.2
ENV GRADLE_HOME /usr/lib/gradle
ENV PATH $GRADLE_HOME/gradle-$GRADLE_VERSION/bin:$PATH
RUN wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip && \
unzip gradle-$GRADLE_VERSION-bin.zip -d $GRADLE_HOME && \
rm gradle-$GRADLE_VERSION-bin.zip \
3 changes: 2 additions & 1 deletion cmd/debricked/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ import (
"os"

"github.com/debricked/cli/pkg/cmd/root"
"github.com/debricked/cli/pkg/wire"
)

var version string // Set at compile time

func main() {
if err := root.NewRootCmd(version).Execute(); err != nil {
if err := root.NewRootCmd(version, wire.GetCliContainer()).Execute(); err != nil {
os.Exit(1)
}
}
77 changes: 0 additions & 77 deletions examples/templates/Argo/Go/argo.yml

This file was deleted.

78 changes: 0 additions & 78 deletions examples/templates/Argo/Gradle/argo.yml

This file was deleted.

78 changes: 0 additions & 78 deletions examples/templates/Argo/Maven/argo.yml

This file was deleted.

5 changes: 1 addition & 4 deletions examples/templates/Argo/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
# Argo Workflows
- [Default template](Default/argo.yml)
- [Maven template](Maven/argo.yml)
- [Gradle template](Gradle/argo.yml)
- [Go template](Go/argo.yml)
- [Default template](argo.yml)
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ spec:
image: debricked/cli
workingDir: /repository
command:
- debricked scan
- debricked scan --resolve
env:
- name: DEBRICKED_TOKEN
value: "{{inputs.parameters.debricked-token}}"
Expand Down
24 changes: 0 additions & 24 deletions examples/templates/Azure/Go/azure-pipelines.yml

This file was deleted.

Loading