1
0
mirror of https://github.com/chylex/Java-Checker.git synced 2025-06-04 02:34:08 +02:00

Push Java7Checker

This commit is contained in:
chylex 2014-12-12 23:46:15 +01:00
parent e1809605a1
commit a698aabeff
5 changed files with 172 additions and 0 deletions

69
build.gradle Normal file
View File

@ -0,0 +1,69 @@
buildscript {
repositories {
mavenCentral()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
}
}
apply plugin: 'forge'
version = ""
group= "chylex.java7check" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "Java7Checker"
minecraft {
version = "1.7.10-10.13.0.1184"
assetDir = "eclipse/assets"
}
jar {
manifest {
attributes 'FMLCorePlugin': 'chylex.java7check.JavaCheckerCoremod'
}
}
dependencies {
// you may put jars on which you depend on in ./libs
// or you may define them like so..
//compile "some.group:artifact:version:classifier"
//compile "some.group:artifact:version"
// real examples
//compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
//compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
// for more info...
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html
}
processResources
{
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
// replace version and mcversion
expand 'version':project.version, 'mcversion':project.minecraft.version
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}

View File

@ -0,0 +1,28 @@
package chylex.java7check;
import java.util.Map;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
public class JavaCheckerCoremod implements IFMLLoadingPlugin{
@Override
public String[] getASMTransformerClass(){
return null;
}
@Override
public String getAccessTransformerClass(){
return null;
}
@Override
public String getModContainerClass(){
return null;
}
@Override
public String getSetupClass(){
return "chylex.java7check.report.JavaCheckerReporter";
}
@Override
public void injectData(Map<String,Object> data){}
}

View File

@ -0,0 +1,41 @@
package chylex.java7check.report;
import java.util.Map;
import javax.swing.JOptionPane;
import org.apache.commons.lang3.JavaVersion;
import org.apache.commons.lang3.SystemUtils;
import cpw.mods.fml.relauncher.FMLRelaunchLog;
import cpw.mods.fml.relauncher.IFMLCallHook;
public final class JavaCheckerReporter implements IFMLCallHook{
@Override
public Void call() throws Exception{
if (!SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7)){
FMLRelaunchLog.severe(getConsoleReport());
JOptionPane.showMessageDialog(null, "<html>"+getWindowReport()+"</html>","Outdated Java",JOptionPane.ERROR_MESSAGE);
throw new OutdatedJavaException();
}
return null;
}
@Override
public void injectData(Map<String,Object> data){}
static String getConsoleReport(){
return new StringBuilder(242).append("\n")
.append("\n!! DO NOT REPORT !!\n\n")
.append("One of the mods requires Java 1.7 or newer, you are using ").append(SystemUtils.JAVA_VERSION).append(".\n")
.append("Visit https://java.com/download/ for the latest version.\n")
.append("Please, uninstall the old version first to prevent further issues.")
.append("\n\n!! DO NOT REPORT !!\n")
.toString();
}
static String getWindowReport(){
return new StringBuilder(230)
.append("One of the mods requires Java 1.7 or newer, you are using ").append(SystemUtils.JAVA_VERSION).append(".<br>")
.append("Visit <span style=\"color:red\">https://java.com/download/</span> for the latest version.<br>")
.append("Please, uninstall the old version first to prevent further issues.")
.toString();
}
}

View File

@ -0,0 +1,20 @@
package chylex.java7check.report;
import java.io.PrintStream;
import java.io.PrintWriter;
public class OutdatedJavaException extends RuntimeException{
public OutdatedJavaException(){
setStackTrace(new StackTraceElement[0]);
}
@Override
public StackTraceElement[] getStackTrace(){
return new StackTraceElement[0];
}
@Override
public void printStackTrace(PrintStream s){}
@Override
public void printStackTrace(PrintWriter w){}
}

View File

@ -0,0 +1,14 @@
[
{
"modid": "Java7Checker",
"name": "Java 7 Checker",
"description": "If you see this description inside Minecraft, then you're fine!",
"version": "1.0",
"url": "",
"updateUrl": "",
"authorList": ["chylex"],
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]