| 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: 'scala' | 
 | apply plugin: 'forge' | 
 | apply plugin: 'maven-publish' | 
 |  | 
 | file "build.properties" withReader { | 
 |     def prop = new Properties() | 
 |     prop.load(it) | 
 |     ext.config = new ConfigSlurper().parse prop | 
 | } | 
 |  | 
 | version = "${config.oc.version}" | 
 | group = "li.cil.oc" | 
 | archivesBaseName = "OpenComputers" | 
 |  | 
 | if (System.getenv("BUILD_NUMBER") != null) | 
 |     version += ".${System.getenv("BUILD_NUMBER")}" | 
 |  | 
 | if (config.oc.subversion != null && config.oc.subversion != "") | 
 |     version += "-${config.oc.subversion}" | 
 |  | 
 | ext.simpleVersion = version | 
 | version = "MC${config.minecraft.version}-${project.version}" | 
 |  | 
 | runClient { | 
 |     jvmArgs '-Dfml.coreMods.load=li.cil.oc.common.launch.TransformerLoader' | 
 | } | 
 | runServer { | 
 |     jvmArgs '-Dfml.coreMods.load=li.cil.oc.common.launch.TransformerLoader' | 
 | } | 
 |  | 
 | repositories { | 
 |     maven { | 
 |         name = "bc" | 
 |         url = "http://mod-buildcraft.com/" | 
 |     } | 
 |     maven { | 
 |         name = "chickenbones" | 
 |         url = "http://chickenbones.net/maven/" | 
 |     } | 
 |     maven { | 
 |         name = "ic2" | 
 |         url = "http://maven.ic2.player.to/" | 
 |     } | 
 |     maven { | 
 |         name = "mobius" | 
 |         url = "http://mobiusstrip.eu/maven" | 
 |     } | 
 |     maven { | 
 |         name = "ue" | 
 |         url = "http://calclavia.com/maven/" | 
 |     } | 
 | } | 
 |  | 
 | configurations { | 
 |   provided | 
 |     shade | 
 |     compile.extendsFrom provided, shade | 
 | } | 
 |  | 
 | dependencies { | 
 |     provided "codechicken:CodeChickenLib:${config.minecraft.version}-${config.ccl.version}:dev" | 
 |     provided "codechicken:ForgeMultipart:${config.minecraft.version}-${config.fmp.version}:dev" | 
 |     provided "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" | 
 |     provided "codechicken:WR-CBE:1.6.4-${config.wrcbe.version}:dev" | 
 |     provided "com.mod-buildcraft:buildcraft:${config.bc.version}:dev" | 
 |     provided "dev.calclavia.universalelectricity:universal-electricity:+:dev" | 
 |     provided "mcp.mobius.waila:Waila:1.5.+:dev" | 
 |     provided "net.industrial-craft:industrialcraft-2:${config.ic2.version}:api" | 
 |     compile 'com.google.code.findbugs:jsr305:1.3.9' // Annotations used by google libs. | 
 |     shade files('libs/OpenComputers-JNLua.jar', 'libs/OpenComputers-LuaJ.jar') | 
 | } | 
 |  | 
 | idea.module.scopes.PROVIDED.plus += configurations.provided | 
 | eclipse.classpath.plusConfigurations += configurations.provided | 
 |  | 
 | minecraft { | 
 |     version = "${config.minecraft.version}-${config.forge.version}" | 
 |  | 
 |     replaceIn "li/cil/oc/OpenComputers.scala" | 
 |     replace "@VERSION@", project.simpleVersion | 
 | } | 
 |  | 
 | processResources { | 
 |     from(sourceSets.main.resources.srcDirs) { | 
 |         include 'mcmod.info' | 
 |         expand 'version': project.simpleVersion, 'mcversion': config.minecraft.version | 
 |     } | 
 |     from(sourceSets.main.resources.srcDirs) { | 
 |         include 'application.conf' | 
 |         filter { line -> | 
 |             line.replaceAll("@VERSION@", project.simpleVersion) | 
 |         } | 
 |     } | 
 |     from(sourceSets.main.resources.srcDirs) { | 
 |         exclude 'mcmod.info' | 
 |         exclude 'application.conf' | 
 |     } | 
 | } | 
 |  | 
 | jar { | 
 |     configurations.shade.each { dep -> | 
 |         from(project.zipTree(dep)){ | 
 |             exclude 'META-INF', 'META-INF/**' | 
 |         } | 
 |     } | 
 |     classifier = 'universal' | 
 |     manifest { | 
 |         attributes FMLCorePlugin: "li.cil.oc.common.launch.TransformerLoader" | 
 |         attributes FMLCorePluginContainsFMLMod: "true" | 
 |     } | 
 | } | 
 |  | 
 | javadoc { | 
 |     include 'li/cil/oc/api/**' | 
 | } | 
 |  | 
 | // because the normal default jar task has been modified to be obfuscated | 
 | task deobfJar(type: Jar) { | 
 |     from sourceSets.main.output | 
 |     configurations.shade.each { dep -> | 
 |         from(project.zipTree(dep)){ | 
 |             exclude 'META-INF', 'META-INF/**' | 
 |         } | 
 |     } | 
 |     classifier = 'dev' | 
 |     manifest { | 
 |         attributes FMLCorePlugin: "li.cil.oc.common.launch.TransformerLoader" | 
 |         attributes FMLCorePluginContainsFMLMod: "true" | 
 |     } | 
 | } | 
 |  | 
 | task apiJar(type: Jar) { | 
 |     from sourceSets.main.output | 
 |     from sourceSets.main.java | 
 |     classifier = 'api' | 
 |     include 'li/cil/oc/api/**' | 
 | } | 
 |  | 
 | task javadocJar(type: Jar, dependsOn: javadoc) { | 
 |     from 'build/docs/javadoc' | 
 |     classifier 'javadoc' | 
 | } | 
 |  | 
 | artifacts { | 
 |     archives deobfJar | 
 |     archives apiJar | 
 |     archives javadocJar | 
 | } | 
 |  | 
 | publishing { | 
 |     publications { | 
 |         mavenJava(MavenPublication) { | 
 |             artifact jar | 
 |             artifact apiJar | 
 |             artifact javadocJar | 
 |             artifact deobfJar { classifier 'dev' } | 
 |         } | 
 |     } | 
 |     repositories { | 
 |         maven { | 
 |             url "${config.maven.url}" | 
 |         } | 
 |     } | 
 | } |