/* * This file is part of Applied Energistics 2. * Copyright (c) 2013 - 2015, AlgorithmX2, All rights reserved. * * Applied Energistics 2 is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Applied Energistics 2 is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Applied Energistics 2. If not, see . */ buildscript { repositories { maven { url = 'https://files.minecraftforge.net/maven' } jcenter() mavenCentral() } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true } } plugins { id "maven-publish" id "com.diffplug.gradle.spotless" version "4.3.0" id "org.sonarqube" version "2.8" id "jacoco" } apply plugin: 'net.minecraftforge.gradle' apply plugin: "eclipse" repositories { mavenLocal() jcenter() mavenCentral() } sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 compileJava { sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 } // ensure everything uses UTF-8 and not some random codepage chosen by gradle compileJava.options.encoding = 'UTF-8' tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } // Create version number version = version_major + "." + version_minor + "." + version_patch ext.pr = System.getenv('PR_NUMBER') ?: "" if (ext.pr) { version = version + "+pr." + ext.pr } ext.branch = System.getenv('BRANCH') ?: "" if (ext.branch) { version = version + "+branch." + ext.branch } ext.release = System.getenv('RELEASE') ?: "" if (ext.release) { version = ext.release.substring(1) } // Maven group and artifact name group = artifact_group archivesBaseName = artifact_basename sourceSets { api main { compileClasspath += sourceSets.api.output runtimeClasspath += sourceSets.api.output resources { srcDir 'src/generated/resources' } } test { compileClasspath += sourceSets.api.output runtimeClasspath += sourceSets.api.output java { exclude '**/*' } } } configurations { apiCompile.extendsFrom(compile) } apply from: 'gradle/scripts/dependencies.gradle' apply from: 'gradle/scripts/spotless.gradle' minecraft { mappings channel: "snapshot", version: project.mcp_mappings accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') runs { client { property 'forge.logging.console.level', 'debug' workingDirectory project.file('run') mods { appliedenergistics2 { source sourceSets.main source sourceSets.api } } } server { property 'forge.logging.console.level', 'debug' workingDirectory project.file('run') mods { appliedenergistics2 { source sourceSets.main source sourceSets.api } } } data { property 'forge.logging.console.level', 'debug' workingDirectory project.file('run') args '--mod', 'appliedenergistics2', '--all', '--output', file('src/generated/resources/') mods { appliedenergistics2 { source sourceSets.main source sourceSets.api } } } } } apply from: 'gradle/scripts/artifacts.gradle' publishing { publications { maven(MavenPublication) { groupId = project.group artifactId = project.archivesBaseName version = project.version from components.java } } repositories { maven { credentials { username System.getenv("GITHUB_ACTOR") password System.getenv("GITHUB_TOKEN") } name = "GitHubPackages" url = "https://maven.pkg.github.com/AppliedEnergistics/Applied-Energistics-2" } } }