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)