diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-02-21 21:58:11 +0800 | 
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-02-21 21:58:11 +0800 | 
| commit | 2e2554d9cf1bfbe35266b42a03948511acc71ab6 (patch) | |
| tree | fbc995046dafa58707891db8fc8c8c0ce3f43868 /src/main/java/net/fabricmc/loom | |
| parent | ce4a1cb2a37293d5704745df31b48d8fdae37da0 (diff) | |
| download | architectury-loom-2e2554d9cf1bfbe35266b42a03948511acc71ab6.tar.gz architectury-loom-2e2554d9cf1bfbe35266b42a03948511acc71ab6.tar.bz2 architectury-loom-2e2554d9cf1bfbe35266b42a03948511acc71ab6.zip | |
Add debug logging to publication modification, remove log spam in asset downloading.
Diffstat (limited to 'src/main/java/net/fabricmc/loom')
3 files changed, 32 insertions, 8 deletions
| diff --git a/src/main/java/net/fabricmc/loom/configuration/MavenPublication.java b/src/main/java/net/fabricmc/loom/configuration/MavenPublication.java index 92acad95..16cc4560 100644 --- a/src/main/java/net/fabricmc/loom/configuration/MavenPublication.java +++ b/src/main/java/net/fabricmc/loom/configuration/MavenPublication.java @@ -34,6 +34,7 @@ import org.gradle.api.artifacts.Configuration;  import org.gradle.api.artifacts.Dependency;  import org.gradle.api.artifacts.ExcludeRule;  import org.gradle.api.artifacts.ModuleDependency; +import org.gradle.api.logging.Logger;  import org.gradle.api.publish.Publication;  import org.gradle.api.publish.PublishingExtension; @@ -46,6 +47,14 @@ public final class MavenPublication {  	public static void configure(Project project) {  		project.afterEvaluate((p) -> { +			// add modsCompile to maven-publish +			PublishingExtension mavenPublish = p.getExtensions().findByType(PublishingExtension.class); + +			if (mavenPublish == null) { +				p.getLogger().info("No maven publications for project [" + p.getName() + "], skipping configuration."); +				return; +			} +  			for (RemappedConfigurationEntry entry : Constants.MOD_COMPILE_ENTRIES) {  				if (!entry.hasMavenScope()) {  					continue; @@ -53,23 +62,20 @@ public final class MavenPublication {  				Configuration compileModsConfig = p.getConfigurations().getByName(entry.getSourceConfiguration()); -				// add modsCompile to maven-publish -				PublishingExtension mavenPublish = p.getExtensions().findByType(PublishingExtension.class); - -				if (mavenPublish != null) { -					processEntry(entry, compileModsConfig, mavenPublish); -				} +				p.getLogger().info("Processing maven publication for project [" + p.getName() + "] of " + entry.getSourceConfiguration()); +				processEntry(p.getLogger(), entry, compileModsConfig, mavenPublish);  			}  		});  	} -	private static void processEntry(RemappedConfigurationEntry entry, Configuration compileModsConfig, PublishingExtension mavenPublish) { +	private static void processEntry(Logger logger, RemappedConfigurationEntry entry, Configuration compileModsConfig, PublishingExtension mavenPublish) {  		mavenPublish.publications((publications) -> {  			for (Publication publication : publications) {  				if (!(publication instanceof org.gradle.api.publish.maven.MavenPublication)) {  					continue;  				} +				logger.info("Processing maven publication [" + publication.getName() + "]");  				((org.gradle.api.publish.maven.MavenPublication) publication).pom((pom) -> pom.withXml((xml) -> {  					Node dependencies = GroovyXmlUtil.getOrCreateNode(xml.asNode(), "dependencies");  					Set<String> foundArtifacts = new HashSet<>(); @@ -85,9 +91,12 @@ public final class MavenPublication {  					for (Dependency dependency : compileModsConfig.getAllDependencies()) {  						if (foundArtifacts.contains(dependency.getGroup() + ":" + dependency.getName())) { +							logger.info("Found inserted artifact " + dependency.getGroup() + ":" + dependency.getName());  							continue;  						} +						logger.info("Inserting artifact " + dependency.getGroup() + ":" + dependency.getName()); +  						Node depNode = dependencies.appendNode("dependency");  						depNode.appendNode("groupId", dependency.getGroup());  						depNode.appendNode("artifactId", dependency.getName()); diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java index 6118df8a..be5b5b73 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java @@ -107,7 +107,7 @@ public class MinecraftAssetsProvider {  					} else {  						throw new GradleException("Asset " + entry.getKey() + " not found at " + file.getAbsolutePath());  					} -				} else { +				} else if (HashedDownloadUtil.requiresDownload(file, sha1, project.getLogger())) {  					toDownload++;  					if (progressBar[0] == null) { diff --git a/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java b/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java index da294b8e..97b5ea08 100644 --- a/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java +++ b/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java @@ -40,6 +40,21 @@ import org.gradle.api.logging.Logger;  import net.fabricmc.loom.LoomGradlePlugin;  public class HashedDownloadUtil { +	public static boolean requiresDownload(File to, String expectedHash, Logger logger) { +		if (LoomGradlePlugin.refreshDeps) { +			return true; +		} + +		if (to.exists()) { +			String sha1 = getSha1(to, logger); + +			// The hash in the sha1 file matches +			return !expectedHash.equals(sha1); +		} + +		return true; +	} +  	public static void downloadIfInvalid(URL from, File to, String expectedHash, Logger logger, boolean quiet) throws IOException {  		if (LoomGradlePlugin.refreshDeps) {  			delete(to); | 
