diff --git a/Makefile b/Makefile index d0c74098b..26f6ef780 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ BOOTSTRAP_CACHE="c7afb99ad" DISTDIR=./dist SNAPSHOTDIR=./snapshot OS=$(shell uname | tr '[:upper:]' '[:lower:]') -SNAPSHOT_BIN=$(shell realpath $(shell pwd)/$(SNAPSHOTDIR)/$(OS)-build_$(OS)_amd64_v1/$(BIN)) +SNAPSHOT_BIN=$(realpath $(shell pwd)/$(SNAPSHOTDIR)/$(OS)-build_$(OS)_amd64_v1/$(BIN)) ## Variable assertions @@ -111,13 +111,13 @@ $(TEMPDIR): .PHONY: bootstrap-tools bootstrap-tools: $(TEMPDIR) - GO111MODULE=off GOBIN=$(shell realpath $(TEMPDIR)) go get -u golang.org/x/perf/cmd/benchstat + GO111MODULE=off GOBIN=$(realpath $(TEMPDIR)) go get -u golang.org/x/perf/cmd/benchstat curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(TEMPDIR)/ $(GOLANGCILINT_VERSION) curl -sSfL https://raw.githubusercontent.com/wagoodman/go-bouncer/master/bouncer.sh | sh -s -- -b $(TEMPDIR)/ $(BOUNCER_VERSION) curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b $(TEMPDIR)/ $(CHRONICLE_VERSION) .github/scripts/goreleaser-install.sh -d -b $(TEMPDIR)/ $(GORELEASER_VERSION) - GOBIN="$(shell realpath $(TEMPDIR))" go install github.com/neilpa/yajsv@$(YAJSV_VERSION) - GOBIN="$(shell realpath $(TEMPDIR))" go install github.com/sigstore/cosign/cmd/cosign@$(COSIGN_VERSION) + GOBIN="$(realpath $(TEMPDIR))" go install github.com/neilpa/yajsv@$(YAJSV_VERSION) + GOBIN="$(realpath $(TEMPDIR))" go install github.com/sigstore/cosign/cmd/cosign@$(COSIGN_VERSION) .PHONY: bootstrap-go bootstrap-go: diff --git a/syft/pkg/cataloger/java/archive_parser_test.go b/syft/pkg/cataloger/java/archive_parser_test.go index 7af900c99..64d181496 100644 --- a/syft/pkg/cataloger/java/archive_parser_test.go +++ b/syft/pkg/cataloger/java/archive_parser_test.go @@ -104,27 +104,29 @@ func TestParseJar(t *testing.T) { Manifest: &pkg.JavaManifest{ Main: map[string]string{ "Manifest-Version": "1.0", - "Specification-Title": "The Jenkins Plugins Parent POM Project", - "Implementation-Title": "example-jenkins-plugin", + "Specification-Title": "Example Jenkins Plugin", + "Specification-Version": "1.0", + "Implementation-Title": "Example Jenkins Plugin", "Implementation-Version": "1.0-SNAPSHOT", // extra fields... - "Archiver-Version": "Plexus Archiver", + //"Archiver-Version": "Plexus Archiver", "Plugin-License-Url": "https://opensource.org/licenses/MIT", "Plugin-License-Name": "MIT License", - "Created-By": "Apache Maven", + "Created-By": "Maven Archiver 3.6.0", //"Built-By": "?", //"Build-Jdk": "14.0.1", - "Jenkins-Version": "2.164.3", - "Minimum-Java-Version": "1.8", - "Plugin-Developers": "", - "Plugin-ScmUrl": "https://github.com/jenkinsci/plugin-pom/example-jenkins-plugin", - "Extension-Name": "example-jenkins-plugin", - "Short-Name": "example-jenkins-plugin", - "Group-Id": "io.jenkins.plugins", - "Plugin-Dependencies": "structs:1.20", + "Build-Jdk-Spec": "18", + "Jenkins-Version": "2.204", + //"Minimum-Java-Version": "1.8", + "Plugin-Developers": "", + "Plugin-ScmUrl": "https://github.com/jenkinsci/plugin-pom/example-jenkins-plugin", + //"Extension-Name": "example-jenkins-plugin", + "Short-Name": "example-jenkins-plugin", + "Group-Id": "io.jenkins.plugins", + "Plugin-Dependencies": "structs:1.20", //"Plugin-Version": "1.0-SNAPSHOT (private-07/09/2020 13:30-?)", - "Hudson-Version": "2.164.3", - "Long-Name": "TODO Plugin", + "Hudson-Version": "2.204", + "Long-Name": "Example Jenkins Plugin", }, }, PomProperties: &pkg.PomProperties{ @@ -180,7 +182,7 @@ func TestParseJar(t *testing.T) { "Manifest-Version": "1.0", // extra fields... "Archiver-Version": "Plexus Archiver", - "Created-By": "Apache Maven 3.6.3", + "Created-By": "Apache Maven 3.8.6", //"Built-By": "?", //"Build-Jdk": "14.0.1", "Main-Class": "hello.HelloWorld", diff --git a/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-java-app-maven.sh b/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-java-app-maven.sh index 575afc5ee..2521a37f2 100755 --- a/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-java-app-maven.sh +++ b/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-java-app-maven.sh @@ -4,7 +4,7 @@ set -uxe # note: this can be easily done in a 1-liner, however circle CI does NOT allow volume mounts from the host in docker executors (since they are on remote hosts, where the host files are inaccessible) PKGSDIR=$1 -CTRID=$(docker create -u "$(id -u):$(id -g)" -e MAVEN_CONFIG=/tmp/.m2 -v /example-java-app -w /example-java-app maven:3.6.3-openjdk-14 mvn -Duser.home=/tmp -DskipTests package) +CTRID=$(docker create -u "$(id -u):$(id -g)" -e MAVEN_CONFIG=/tmp/.m2 -v /example-java-app -w /example-java-app maven:3.8.6-openjdk-18 mvn -Duser.home=/tmp -DskipTests package) function cleanup() { docker rm "${CTRID}" @@ -16,4 +16,4 @@ set +e docker cp "$(pwd)/example-java-app" "${CTRID}:/" docker start -a "${CTRID}" mkdir -p "$PKGSDIR" -docker cp "${CTRID}:/example-java-app/target/example-java-app-maven-0.1.0.jar" "$PKGSDIR" \ No newline at end of file +docker cp "${CTRID}:/example-java-app/target/example-java-app-maven-0.1.0.jar" "$PKGSDIR" diff --git a/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-jenkins-plugin.sh b/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-jenkins-plugin.sh index 1be56c43d..3c24b582a 100755 --- a/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-jenkins-plugin.sh +++ b/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-jenkins-plugin.sh @@ -4,7 +4,7 @@ set -uxe # note: this can be easily done in a 1-liner, however circle CI does NOT allow volume mounts from the host in docker executors (since they are on remote hosts, where the host files are inaccessible) PKGSDIR=$1 -CTRID=$(docker create -u "$(id -u):$(id -g)" -e MAVEN_CONFIG=/tmp/.m2 -v /example-jenkins-plugin -w /example-jenkins-plugin maven:3.6.3-openjdk-14 mvn -Duser.home=/tmp -DskipTests package) +CTRID=$(docker create -u "$(id -u):$(id -g)" -e MAVEN_CONFIG=/tmp/.m2 -v /example-jenkins-plugin -w /example-jenkins-plugin maven:3.8.6-openjdk-18 mvn -Duser.home=/tmp -DskipTests package) function cleanup() { docker rm "${CTRID}" @@ -17,4 +17,4 @@ docker cp "$(pwd)/example-jenkins-plugin" "${CTRID}:/" docker start -a "${CTRID}" mkdir -p "$PKGSDIR" docker cp "${CTRID}:/example-jenkins-plugin/target/example-jenkins-plugin.hpi" "$PKGSDIR" -docker cp "${CTRID}:/example-jenkins-plugin/target/example-jenkins-plugin.jar" "$PKGSDIR" \ No newline at end of file +docker cp "${CTRID}:/example-jenkins-plugin/target/example-jenkins-plugin.jar" "$PKGSDIR" diff --git a/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-sb-app-nestedjar.sh b/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-sb-app-nestedjar.sh index d377b96ef..80dfbeb12 100755 --- a/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-sb-app-nestedjar.sh +++ b/syft/pkg/cataloger/java/test-fixtures/java-builds/build-example-sb-app-nestedjar.sh @@ -4,7 +4,7 @@ set -uxe # note: this can be easily done in a 1-liner, however circle CI does NOT allow volume mounts from the host in docker executors (since they are on remote hosts, where the host files are inaccessible) PKGSDIR=$1 -CTRID=$(docker create -u "$(id -u):$(id -g)" -e MAVEN_CONFIG=/tmp/.m2 -v /example-sb-app -w /example-sb-app maven:3.6.3-openjdk-14 mvn -Duser.home=/tmp -DskipTests package spring-boot:repackage) +CTRID=$(docker create -u "$(id -u):$(id -g)" -e MAVEN_CONFIG=/tmp/.m2 -v /example-sb-app -w /example-sb-app maven:3.8.6-openjdk-18 mvn -Duser.home=/tmp -DskipTests package spring-boot:repackage) function cleanup() { docker rm "${CTRID}" @@ -16,4 +16,4 @@ set +e docker cp "$(pwd)/example-sb-app" "${CTRID}:/" docker start -a "${CTRID}" mkdir -p "$PKGSDIR" -docker cp "${CTRID}:/example-sb-app/target/spring-boot-0.0.1-SNAPSHOT.jar" "$PKGSDIR" \ No newline at end of file +docker cp "${CTRID}:/example-sb-app/target/spring-boot-0.0.1-SNAPSHOT.jar" "$PKGSDIR" diff --git a/syft/pkg/cataloger/java/test-fixtures/java-builds/example-jenkins-plugin/pom.xml b/syft/pkg/cataloger/java/test-fixtures/java-builds/example-jenkins-plugin/pom.xml index fe544a23a..e1abe106b 100644 --- a/syft/pkg/cataloger/java/test-fixtures/java-builds/example-jenkins-plugin/pom.xml +++ b/syft/pkg/cataloger/java/test-fixtures/java-builds/example-jenkins-plugin/pom.xml @@ -4,7 +4,7 @@ org.jenkins-ci.plugins plugin - 3.50 + 4.46 io.jenkins.plugins @@ -13,7 +13,7 @@ hpi - 2.164.3 + 2.204 8 - TODO Plugin + Example Jenkins Plugin diff --git a/test/integration/package_deduplication_test.go b/test/integration/package_deduplication_test.go index cee5f675f..4e9171b18 100644 --- a/test/integration/package_deduplication_test.go +++ b/test/integration/package_deduplication_test.go @@ -1,3 +1,5 @@ +//go:build !arm64 + package integration import ( diff --git a/test/integration/test-fixtures/image-java-no-main-package/Dockerfile b/test/integration/test-fixtures/image-java-no-main-package/Dockerfile index c6100ae44..7e1ac4de7 100644 --- a/test/integration/test-fixtures/image-java-no-main-package/Dockerfile +++ b/test/integration/test-fixtures/image-java-no-main-package/Dockerfile @@ -1,4 +1,4 @@ -FROM jenkins:2.60.3 +FROM jenkins/jenkins:2.346.3-slim-jdk17 USER root