github.com/anchore/syft@v1.38.2/syft/pkg/cataloger/java/test-fixtures/java-builds/Makefile (about) 1 PKGSDIR=packages 2 FINGERPRINT_FILE=$(PKGSDIR).fingerprint 3 4 ifndef PKGSDIR 5 $(error PKGSDIR is not set) 6 endif 7 8 9 .DEFAULT_GOAL := fixtures 10 11 # requirement 1: 'fixtures' goal to generate any and all test fixtures 12 fixtures: jars archives native-image 13 14 # requirement 2: 'fingerprint' goal to determine if the fixture input that indicates any existing cache should be busted 15 fingerprint: $(FINGERPRINT_FILE) 16 17 jars: $(PKGSDIR)/example-java-app-maven-0.1.0.jar $(PKGSDIR)/example-java-app-gradle-0.1.0.jar $(PKGSDIR)/example-jenkins-plugin.hpi $(PKGSDIR)/spring-boot-0.0.1-SNAPSHOT.jar 18 19 archives: $(PKGSDIR)/example-java-app-maven-0.1.0.zip $(PKGSDIR)/example-java-app-maven-0.1.0.tar $(PKGSDIR)/example-java-app-maven-0.1.0.tar.gz $(PKGSDIR)/example-java-app-maven-0.1.0.tgz 20 21 native-image: $(PKGSDIR)/example-java-app $(PKGSDIR)/gcc-amd64-darwin-exec-debug 22 23 # jars within archives... 24 25 $(PKGSDIR)/example-java-app-maven-0.1.0.zip: $(PKGSDIR)/example-java-app-maven-0.1.0.jar 26 zip $(PKGSDIR)/example-java-app-maven-0.1.0.zip $(PKGSDIR)/example-java-app-maven-0.1.0.jar 27 28 $(PKGSDIR)/example-java-app-maven-0.1.0.tar: $(PKGSDIR)/example-java-app-maven-0.1.0.jar 29 tar -cvf $(PKGSDIR)/example-java-app-maven-0.1.0.tar $(PKGSDIR)/example-java-app-maven-0.1.0.jar 30 31 $(PKGSDIR)/example-java-app-maven-0.1.0.tar.gz: $(PKGSDIR)/example-java-app-maven-0.1.0.jar 32 tar -czvf $(PKGSDIR)/example-java-app-maven-0.1.0.tar.gz $(PKGSDIR)/example-java-app-maven-0.1.0.jar 33 34 $(PKGSDIR)/example-java-app-maven-0.1.0.tgz: $(PKGSDIR)/example-java-app-maven-0.1.0.tar.gz 35 tar -czf $(PKGSDIR)/example-java-app-maven-0.1.0.tgz $(PKGSDIR)/example-java-app-maven-0.1.0.jar 36 37 # Nested jar... 38 39 $(PKGSDIR)/spring-boot-0.0.1-SNAPSHOT.jar: 40 ./build-example-sb-app-nestedjar.sh $(PKGSDIR) 41 42 clean-nestedjar: 43 rm -rf example-sb-app/target 44 45 # Maven... 46 $(PKGSDIR)/example-java-app-maven-0.1.0.jar: 47 ./build-example-java-app-maven.sh $(PKGSDIR) 48 49 clean-maven: 50 rm -rf example-java-app/\? \ 51 example-java-app/target \ 52 example-java-app/dependency-reduced-pom.xml 53 54 # Gradle... 55 $(PKGSDIR)/example-java-app-gradle-0.1.0.jar: 56 ./build-example-java-app-gradle.sh $(PKGSDIR) 57 58 clean-gradle: 59 rm -rf example-java-app/.gradle \ 60 example-java-app/build 61 62 # Jenkins plugin 63 $(PKGSDIR)/example-jenkins-plugin.hpi , $(PKGSDIR)/example-jenkins-plugin.jar: 64 ./build-example-jenkins-plugin.sh $(PKGSDIR) 65 66 clean-jenkins: 67 rm -rf example-jenkins-plugin/target \ 68 example-jenkins-plugin/dependency-reduced-pom.xml \ 69 example-jenkins-plugin/*.exploding 70 71 # Native Image... 72 $(PKGSDIR)/example-java-app: $(PKGSDIR)/example-java-app-maven-0.1.0.jar 73 ./build-example-java-app-native-image.sh $(PKGSDIR) 74 75 $(PKGSDIR)/gcc-amd64-darwin-exec-debug: 76 ./build-example-macho-binary.sh $(PKGSDIR) 77 78 # requirement 3: we always need to recalculate the fingerprint based on source regardless of any existing fingerprint 79 .PHONY: $(FINGERPRINT_FILE) 80 $(FINGERPRINT_FILE): 81 @find example-* build-* Makefile -type f -exec sha256sum {} \; | sort -k2 > $(FINGERPRINT_FILE) 82 @#cat $(FINGERPRINT_FILE) | sha256sum | awk '{print $$1}' 83 84 # requirement 4: 'clean' goal to remove all generated test fixtures 85 clean: clean-examples 86 rm -rf $(PKGSDIR) $(FINGERPRINT_FILE) 87 88 clean-examples: clean-gradle clean-maven clean-jenkins clean-nestedjar 89 90 .PHONY: maven gradle clean clean-gradle clean-maven clean-jenkins clean-examples clean-nestedjar jars archives