Bug 946083 - Part 1: Delete .class files when (re-)building a Java JAR. r=glandium

This cleans up stale .class files, so they don't get packaged into the
.jar files that Proguard consumes.
This commit is contained in:
Nick Alexander 2014-02-10 21:43:00 -08:00
parent 01e16e28ef
commit d848739427

View File

@ -83,9 +83,17 @@ ifdef JAVA_JAR_TARGETS #{
# Arg 3: List of extra jars to link against. We do not use VPATH so
# jars must be relative to $(CURDIR).
# Arg 4: Additional JAVAC_FLAGS.
# Note: Proguard fails when stale .class files corresponding to
# removed inner classes are present in the object directory. These
# stale class files get packaged into the .jar file, which then gets
# processed by Proguard. To work around this, we always delete any
# existing jarfile-classes directory and start fresh.
define java_jar_template
$(1): $(2) $(3)
$$(REPORT_BUILD)
@$$(RM) -rf $(1:.jar=)-classes
@$$(NSINSTALL) -D $(1:.jar=)-classes
@$$(if $$(filter-out .,$$(@D)),$$(NSINSTALL) -D $$(@D))
$$(JAVAC) $$(JAVAC_FLAGS)\