github.com/anchore/syft@v1.38.2/syft/pkg/cataloger/java/test-fixtures/jar-metadata/Makefile (about) 1 CACHE_DIR = cache 2 CACHE_PATH = $(shell pwd)/cache 3 FINGERPRINT_FILE=$(CACHE_DIR).fingerprint 4 5 ifndef CACHE_DIR 6 $(error CACHE_DIR is not set) 7 endif 8 9 JACKSON_CORE = jackson-core-2.15.2 10 SBT_JACKSON_CORE = com.fasterxml.jackson.core.jackson-core-2.15.2 11 OPENSAML_CORE = opensaml-core-3.4.6 12 API_ALL_SOURCES = api-all-2.0.0-sources 13 SPRING_INSTRUMENTATION = spring-instrumentation-4.3.0-1.0 14 MULTIPLE_MATCHING = multiple-matching-2.11.5 15 ORG_MULTIPLE_THENAME = org.multiple-thename 16 MICRONAUT_AOP = micronaut-aop-4.9.11 17 COMMONS_LANG3 = commons-lang3-3.12.0 18 19 .DEFAULT_GOAL := fixtures 20 21 # requirement 1: 'fixtures' goal to generate any and all test fixtures 22 fixtures: $(CACHE_DIR) 23 24 # requirement 2: 'fingerprint' goal to determine if the fixture input that indicates any existing cache should be busted 25 fingerprint: $(FINGERPRINT_FILE) 26 27 $(CACHE_DIR): $(CACHE_DIR)/$(JACKSON_CORE).jar $(CACHE_DIR)/$(SBT_JACKSON_CORE).jar $(CACHE_DIR)/$(OPENSAML_CORE).jar $(CACHE_DIR)/$(API_ALL_SOURCES).jar $(CACHE_DIR)/$(SPRING_INSTRUMENTATION).jar $(CACHE_DIR)/$(MULTIPLE_MATCHING).jar $(CACHE_DIR)/$(MICRONAUT_AOP).jar $(CACHE_DIR)/$(COMMONS_LANG3).jar 28 29 $(CACHE_DIR)/$(JACKSON_CORE).jar: 30 mkdir -p $(CACHE_DIR) 31 cd $(JACKSON_CORE) && zip -r $(CACHE_PATH)/$(JACKSON_CORE).jar . 32 33 $(CACHE_DIR)/$(SBT_JACKSON_CORE).jar: 34 mkdir -p $(CACHE_DIR) 35 cd $(SBT_JACKSON_CORE) && zip -r $(CACHE_PATH)/$(SBT_JACKSON_CORE).jar . 36 37 $(CACHE_DIR)/$(OPENSAML_CORE).jar: 38 mkdir -p $(CACHE_DIR) 39 cd $(OPENSAML_CORE) && zip -r $(CACHE_PATH)/$(OPENSAML_CORE).jar . 40 41 $(CACHE_DIR)/$(API_ALL_SOURCES).jar: 42 mkdir -p $(CACHE_DIR) 43 cd $(API_ALL_SOURCES) && zip -r $(CACHE_PATH)/$(API_ALL_SOURCES).jar . 44 45 $(CACHE_DIR)/$(SPRING_INSTRUMENTATION).jar: 46 mkdir -p $(CACHE_DIR) 47 cd $(SPRING_INSTRUMENTATION) && zip -r $(CACHE_PATH)/$(SPRING_INSTRUMENTATION).jar . 48 49 $(CACHE_DIR)/$(MULTIPLE_MATCHING).jar: 50 mkdir -p $(CACHE_DIR) 51 cd $(MULTIPLE_MATCHING) && zip -r $(CACHE_PATH)/$(MULTIPLE_MATCHING).jar . 52 53 $(CACHE_DIR)/$(ORG_MULTIPLE_THENAME).jar: 54 mkdir -p $(CACHE_DIR) 55 cd $(ORG_MULTIPLE_THENAME) && zip -r $(CACHE_PATH)/$(ORG_MULTIPLE_THENAME).jar . 56 57 $(CACHE_DIR)/$(MICRONAUT_AOP).jar: 58 mkdir -p $(CACHE_DIR) 59 cd $(MICRONAUT_AOP) && zip -r $(CACHE_PATH)/$(MICRONAUT_AOP).jar . 60 61 $(CACHE_DIR)/$(COMMONS_LANG3).jar: 62 mkdir -p $(CACHE_DIR) 63 cd $(COMMONS_LANG3) && zip -r $(CACHE_PATH)/$(COMMONS_LANG3).jar . 64 65 # Jenkins plugins typically do not have the version included in the archive name, 66 # so it is important to not include it in the generated test fixture 67 $(CACHE_DIR)/gradle.hpi: 68 mkdir -p $(CACHE_DIR) 69 cd jenkins-plugins/gradle/2.11 && zip -r $(CACHE_PATH)/gradle.hpi . 70 71 # requirement 3: we always need to recalculate the fingerprint based on source regardless of any existing fingerprint 72 .PHONY: $(FINGERPRINT_FILE) 73 $(FINGERPRINT_FILE): 74 @find . ! -path '*/cache*' -type f -exec sha256sum {} \; | sort -k2 > $(FINGERPRINT_FILE) 75 @#cat $(FINGERPRINT_FILE) | sha256sum | awk '{print $$1}' 76 77 # requirement 4: 'clean' goal to remove all generated test fixtures 78 clean: 79 rm -rf $(CACHE_DIR)/* $(FINGERPRINT_FILE)