mirror of https://github.com/Minestom/Minestom.git
35 lines
1.1 KiB
Java
35 lines
1.1 KiB
Java
package net.minestom.codegen;
|
|
|
|
import com.google.gson.Gson;
|
|
import com.google.gson.GsonBuilder;
|
|
import com.squareup.javapoet.JavaFile;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.util.List;
|
|
import java.util.Locale;
|
|
|
|
public abstract class MinestomCodeGenerator {
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(MinestomCodeGenerator.class);
|
|
protected static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();
|
|
|
|
public abstract void generate();
|
|
|
|
protected void writeFiles(@NotNull List<JavaFile> fileList, File outputFolder) {
|
|
for (JavaFile javaFile : fileList) {
|
|
try {
|
|
javaFile.writeTo(outputFolder);
|
|
} catch (IOException e) {
|
|
LOGGER.error("An error occured while writing source code to the file system.", e);
|
|
}
|
|
}
|
|
}
|
|
|
|
protected static String toConstant(String namespace) {
|
|
return namespace.replace("minecraft:", "").toUpperCase(Locale.ROOT);
|
|
}
|
|
}
|