Ensure that the encoding is set to UTF-8
This commit is contained in:
		
							parent
							
								
									b2228e3175
								
							
						
					
					
						commit
						ba4b9289e2
					
				
					 1 changed files with 10 additions and 0 deletions
				
			
		|  | @ -24,10 +24,14 @@ | ||||||
| 
 | 
 | ||||||
| package net.fabricmc.loom.configuration; | package net.fabricmc.loom.configuration; | ||||||
| 
 | 
 | ||||||
|  | import java.nio.charset.StandardCharsets; | ||||||
|  | 
 | ||||||
| import org.gradle.api.Project; | import org.gradle.api.Project; | ||||||
| import org.gradle.api.plugins.JavaPlugin; | import org.gradle.api.plugins.JavaPlugin; | ||||||
| import org.gradle.api.plugins.JavaPluginConvention; | import org.gradle.api.plugins.JavaPluginConvention; | ||||||
|  | import org.gradle.api.tasks.AbstractCopyTask; | ||||||
| import org.gradle.api.tasks.SourceSet; | import org.gradle.api.tasks.SourceSet; | ||||||
|  | import org.gradle.api.tasks.compile.JavaCompile; | ||||||
| import org.gradle.api.tasks.javadoc.Javadoc; | import org.gradle.api.tasks.javadoc.Javadoc; | ||||||
| import org.gradle.jvm.tasks.Jar; | import org.gradle.jvm.tasks.Jar; | ||||||
| 
 | 
 | ||||||
|  | @ -156,6 +160,12 @@ public final class CompileConfiguration { | ||||||
| 		// Add the "dev" jar to the "namedElements" configuration | 		// Add the "dev" jar to the "namedElements" configuration | ||||||
| 		p.artifacts(artifactHandler -> artifactHandler.add(Constants.Configurations.NAMED_ELEMENTS, p.getTasks().getByName("jar"))); | 		p.artifacts(artifactHandler -> artifactHandler.add(Constants.Configurations.NAMED_ELEMENTS, p.getTasks().getByName("jar"))); | ||||||
| 
 | 
 | ||||||
|  | 		// Ensure that the encoding is set to UTF-8, no matter what the system default is | ||||||
|  | 		// this fixes some edge cases with special characters not displaying correctly | ||||||
|  | 		// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html | ||||||
|  | 		p.getTasks().withType(AbstractCopyTask.class).configureEach(abstractCopyTask -> abstractCopyTask.setFilteringCharset(StandardCharsets.UTF_8.name())); | ||||||
|  | 		p.getTasks().withType(JavaCompile.class).configureEach(javaCompile -> javaCompile.getOptions().setEncoding(StandardCharsets.UTF_8.name())); | ||||||
|  | 
 | ||||||
| 		if (p.getPluginManager().hasPlugin("org.jetbrains.kotlin.kapt")) { | 		if (p.getPluginManager().hasPlugin("org.jetbrains.kotlin.kapt")) { | ||||||
| 			// If loom is applied after kapt, then kapt will use the AP arguments too early for loom to pass the arguments we need for mixin. | 			// If loom is applied after kapt, then kapt will use the AP arguments too early for loom to pass the arguments we need for mixin. | ||||||
| 			throw new IllegalArgumentException("fabric-loom must be applied BEFORE kapt in the plugins { } block."); | 			throw new IllegalArgumentException("fabric-loom must be applied BEFORE kapt in the plugins { } block."); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue