test/make/TestJavaCompilation.gmk
changeset 28600 09dd1740f176
parent 25854 98ce0879ab4c
child 29312 f3f859137ce6
equal deleted inserted replaced
28597:b2f9702efbe9 28600:09dd1740f176
    47 JAR1_FILE := $(OUTPUT_DIR)/jar1.jar
    47 JAR1_FILE := $(OUTPUT_DIR)/jar1.jar
    48 JAR1_MANIFEST := $(OUTPUT_DIR)/jar1_manifest
    48 JAR1_MANIFEST := $(OUTPUT_DIR)/jar1_manifest
    49 
    49 
    50 clean-jar1:
    50 clean-jar1:
    51 	$(RM) -r $(OUTPUT_DIR)/_jar1* $(OUTPUT_DIR)/jar1*
    51 	$(RM) -r $(OUTPUT_DIR)/_jar1* $(OUTPUT_DIR)/jar1*
       
    52 
       
    53 $(JAR1_MANIFEST): | $(OUTPUT_DIR)/_jar1_created
       
    54 	$(ECHO) "Test-Attribute: value" > $(JAR1_MANIFEST)
    52 
    55 
    53 $(OUTPUT_DIR)/_jar1_created: $(DEPS)
    56 $(OUTPUT_DIR)/_jar1_created: $(DEPS)
    54 	$(RM) -r $(JAR1_SRC_ROOT)
    57 	$(RM) -r $(JAR1_SRC_ROOT)
    55 	$(RM) $(JAR1_FILE)
    58 	$(RM) $(JAR1_FILE)
    56 	$(RM) -r $(JAR1_UNZIP)
    59 	$(RM) -r $(JAR1_UNZIP)
    59 	$(MKDIR) -p $(JAR1_SRC_ROOT)/dir2
    62 	$(MKDIR) -p $(JAR1_SRC_ROOT)/dir2
    60 	$(MKDIR) -p $(JAR1_SRC_ROOT)/META-INF
    63 	$(MKDIR) -p $(JAR1_SRC_ROOT)/META-INF
    61 	$(TOUCH) $(JAR1_SRC_ROOT)/dir1/file1.class
    64 	$(TOUCH) $(JAR1_SRC_ROOT)/dir1/file1.class
    62 	$(TOUCH) $(JAR1_SRC_ROOT)/dir2/file2.class
    65 	$(TOUCH) $(JAR1_SRC_ROOT)/dir2/file2.class
    63 	$(TOUCH) $(JAR1_SRC_ROOT)/META-INF/metafile
    66 	$(TOUCH) $(JAR1_SRC_ROOT)/META-INF/metafile
    64 	$(ECHO) "Test-Attribute: value" > $(JAR1_MANIFEST)
       
    65 	$(TOUCH) $@
    67 	$(TOUCH) $@
    66 
    68 
    67 $(eval $(call SetupArchive,BUILD_JAR1, \
    69 $(eval $(call SetupArchive,BUILD_JAR1, \
    68     $(OUTPUT_DIR)/_jar1_created, \
    70     $(OUTPUT_DIR)/_jar1_created, \
    69     SRCS := $(JAR1_SRC_ROOT), \
    71     SRCS := $(JAR1_SRC_ROOT), \
    75 	$(MKDIR) -p $(JAR1_UNZIP)
    77 	$(MKDIR) -p $(JAR1_UNZIP)
    76 	$(CD) $(JAR1_UNZIP) && $(UNZIP) $(JAR1_FILE) $(LOG_DEBUG)
    78 	$(CD) $(JAR1_UNZIP) && $(UNZIP) $(JAR1_FILE) $(LOG_DEBUG)
    77 	$(DIFF) -r $(JAR1_SRC_ROOT)/dir1 $(JAR1_UNZIP)/dir1
    79 	$(DIFF) -r $(JAR1_SRC_ROOT)/dir1 $(JAR1_UNZIP)/dir1
    78 	$(DIFF) -r $(JAR1_SRC_ROOT)/dir2 $(JAR1_UNZIP)/dir2
    80 	$(DIFF) -r $(JAR1_SRC_ROOT)/dir2 $(JAR1_UNZIP)/dir2
    79 	$(DIFF) -r $(JAR1_SRC_ROOT)/META-INF/metafile $(JAR1_UNZIP)/META-INF/metafile
    81 	$(DIFF) -r $(JAR1_SRC_ROOT)/META-INF/metafile $(JAR1_UNZIP)/META-INF/metafile
    80 	if [ "`$(GREP) 'Test-Attribute: value' $(JAR1_MANIFEST)`" = "" ]; then \
    82 	if [ "`$(GREP) 'Test-Attribute: value' $(JAR1_UNZIP)/META-INF/MANIFEST.MF`" = "" ]; then \
    81 	  $(ECHO) "Could not find Test-Attribute in manifest of $(JAR1_FILE)"; \
    83 	  $(ECHO) "Could not find Test-Attribute in manifest of $(JAR1_FILE)"; \
    82 	  exit 1; \
    84 	  exit 1; \
    83 	fi
    85 	fi
    84 	$(TOUCH) $@
    86 	$(TOUCH) $@
    85 
    87 
    86 create-jar2: $(OUTPUT_DIR)/_jar1_verified
    88 create-jar2: $(OUTPUT_DIR)/_jar1_verified
    87 TEST_TARGETS += $(OUTPUT_DIR)/_jar1_verified
    89 TEST_TARGETS += $(OUTPUT_DIR)/_jar1_verified
    88 
    90 
    89 # Change a source file and call this makefile again to force the jar to be 
    91 # Change a source file and call this makefile again to force the jar to be 
    90 # updated. 
    92 # updated. 
    91 $(OUTPUT_DIR)_jar1_updated: $(OUTPUT_DIR)/_jar1_verified
    93 $(OUTPUT_DIR)/_jar1_updated: $(OUTPUT_DIR)/_jar1_verified
    92 	$(ECHO) updated > $(JAR1_SRC_ROOT)/dir1/file1.class
    94 	$(ECHO) updated > $(JAR1_SRC_ROOT)/dir1/file1.class
    93 	$(ECHO) updated > $(JAR1_SRC_ROOT)/META-INF/metafile
    95 	$(ECHO) updated > $(JAR1_SRC_ROOT)/META-INF/metafile
    94 	$(TOUCH) $(OUTPUT_DIR)/_jar1_created
    96 	$(TOUCH) $(OUTPUT_DIR)/_jar1_created
    95 	+$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar1_verified
    97 	+$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar1_verified
    96 	$(TOUCH) $@
    98 	$(TOUCH) $@
    97 
    99 
    98 update-jar1: $(OUTPUT_DIR)_jar1_updated
   100 update-jar1: $(OUTPUT_DIR)_jar1_updated
    99 TEST_TARGETS += $(OUTPUT_DIR)_jar1_updated
   101 
   100 
   102 # Change the manifest file and call this makefile again to force the jar
   101 .PHONY: clean-jar1 create-jar1 update-jar1
   103 # to be updated
       
   104 $(OUTPUT_DIR)/_jar1_updated_manifest: $(OUTPUT_DIR)/_jar1_updated
       
   105 	$(ECHO) "Test-Attribute: foobar" > $(JAR1_MANIFEST)
       
   106 	+$(MAKE) -f $(THIS_FILE) $(BUILD_JAR1)
       
   107 	$(RM) -r $(JAR1_UNZIP)
       
   108 	$(MKDIR) -p $(JAR1_UNZIP)
       
   109 	$(CD) $(JAR1_UNZIP) && $(UNZIP) $(JAR1_FILE) $(LOG_DEBUG)
       
   110 	if [ "`$(GREP) 'Test-Attribute: foobar' $(JAR1_UNZIP)/META-INF/MANIFEST.MF`" = "" ]; then \
       
   111 	  $(ECHO) "Could not find Test-Attribute in manifest of $(JAR1_FILE)"; \
       
   112 	  exit 1; \
       
   113 	fi
       
   114 	$(TOUCH) $@
       
   115 
       
   116 update-jar1-manifest: $(OUTPUT_DIR)/_jar1_updated_manifest
       
   117 
       
   118 TEST_TARGETS += $(OUTPUT_DIR)/_jar1_updated $(OUTPUT_DIR)/_jar1_updated_manifest
       
   119 
       
   120 .PHONY: clean-jar1 create-jar1 update-jar1 update-jar1-manifest
   102 
   121 
   103 ################################################################################
   122 ################################################################################
   104 # Test: jar2
   123 # Test: jar2
   105 # Creates a jar file based on 2 source roots
   124 # Creates a jar file based on 2 source roots
   106 
   125 
   137 	$(TOUCH) $@
   156 	$(TOUCH) $@
   138 
   157 
   139 create-jar2: $(OUTPUT_DIR)/_jar2_verified
   158 create-jar2: $(OUTPUT_DIR)/_jar2_verified
   140 TEST_TARGETS += $(OUTPUT_DIR)/_jar2_verified
   159 TEST_TARGETS += $(OUTPUT_DIR)/_jar2_verified
   141 
   160 
   142 $(OUTPUT_DIR)_jar2_updated: $(OUTPUT_DIR)/_jar2_verified
   161 $(OUTPUT_DIR)/_jar2_updated: $(OUTPUT_DIR)/_jar2_verified
   143 	$(ECHO) updated > $(JAR2_SRC_ROOT1)/dir1/file1.class
   162 	$(ECHO) updated > $(JAR2_SRC_ROOT1)/dir1/file1.class
   144 	$(TOUCH) $(OUTPUT_DIR)/_jar2_created
   163 	$(TOUCH) $(OUTPUT_DIR)/_jar2_created
   145 	+$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar2_verified
   164 	+$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar2_verified
   146 	$(TOUCH) $@
   165 	$(TOUCH) $@
   147 
   166 
   148 update-jar2: $(OUTPUT_DIR)_jar2_updated
   167 update-jar2: $(OUTPUT_DIR)/_jar2_updated
   149 TEST_TARGETS += $(OUTPUT_DIR)_jar2_updated
   168 TEST_TARGETS += $(OUTPUT_DIR)/_jar2_updated
   150 
   169 
   151 .PHONY: clean-jar2 create-jar2 update-jar2
   170 .PHONY: clean-jar2 create-jar2 update-jar2
   152 
   171 
   153 ################################################################################
   172 ################################################################################
   154 # Test: jar3
   173 # Test: jar3
   198 	$(TOUCH) $@
   217 	$(TOUCH) $@
   199 
   218 
   200 create-jar3: $(OUTPUT_DIR)/_jar3_verified
   219 create-jar3: $(OUTPUT_DIR)/_jar3_verified
   201 TEST_TARGETS += $(OUTPUT_DIR)/_jar3_verified
   220 TEST_TARGETS += $(OUTPUT_DIR)/_jar3_verified
   202 
   221 
   203 $(OUTPUT_DIR)_jar3_updated: $(OUTPUT_DIR)/_jar3_verified
   222 $(OUTPUT_DIR)/_jar3_updated: $(OUTPUT_DIR)/_jar3_verified
   204 	$(ECHO) updated > $(JAR3_SRC_ROOT2)/extra-file
   223 	$(ECHO) updated > $(JAR3_SRC_ROOT2)/extra-file
   205 	$(TOUCH) $(OUTPUT_DIR)/_jar3_created
   224 	$(TOUCH) $(OUTPUT_DIR)/_jar3_created
   206 	+$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar3_verified
   225 	+$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar3_verified
   207 	$(TOUCH) $@
   226 	$(TOUCH) $@
   208 
   227 
   209 update-jar3: $(OUTPUT_DIR)_jar3_updated
   228 update-jar3: $(OUTPUT_DIR)/_jar3_updated
   210 TEST_TARGETS += $(OUTPUT_DIR)_jar3_updated
   229 TEST_TARGETS += $(OUTPUT_DIR)/_jar3_updated
   211 
   230 
   212 .PHONY: clean-jar3 create-jar3 update-jar3
   231 .PHONY: clean-jar3 create-jar3 update-jar3
   213 
   232 
   214 ################################################################################
   233 ################################################################################
   215 
   234