/* * 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 "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' } version = version_major + "." + version_minor + "." + version_patch group = artifact_group archivesBaseName = artifact_basename sourceSets { api main { java { include 'appeng/core/AppEng.java' include 'appeng/core/crash/CrashInfo.java' include 'appeng/core/CommonHelper.java' include 'appeng/core/crash/**' include 'appeng/core/AEConfig.java' include 'appeng/core/features/AEFeature.java' include 'appeng/core/settings/**' include 'appeng/util/ConfigManager.java' include 'appeng/core/settings/TickRates.java' include 'appeng/util/IConfigManagerHost.java' include 'appeng/services/export/ExportConfig.java' include 'appeng/client/ActionKey.java' include 'appeng/client/EffectType.java' include 'appeng/core/AELog.java' include 'appeng/core/Registration.java' include 'appeng/core/features/ItemDefinition.java' include 'appeng/util/inv/InvOperation.java' include 'appeng/core/features/registries/PartModels.java' include 'appeng/core/features/registries/PartModels.java' include 'appeng/core/api/definitions/ApiBlocks.java' include 'appeng/core/api/definitions/ApiItems.java' include 'appeng/items/tools/quartz/**' include 'appeng/items/AEBaseItem.java' include 'appeng/util/helpers/ItemComparisonHelper.java' include 'appeng/items/contents/QuartzKnifeObj.java' include 'appeng/core/ApiDefinitions.java' include 'appeng/core/Api.java' include 'appeng/decorative/solid/BlockQuartzOre.java' include 'appeng/bootstrap/**' include 'appeng/block/AEBaseBlock.java' include 'appeng/block/AEBaseBlockItem.java' include 'appeng/block/AEBaseTileBlock.java' include 'appeng/tile/AEBaseTile.java' include 'appeng/tile/AEBaseInvTile.java' include 'appeng/util/Platform.java' include 'appeng/util/SettingsFrom.java' include 'appeng/core/features/IStackSrc.java' include 'appeng/helpers/ICustomNameObject.java' include 'appeng/core/CreativeTab.java' include 'appeng/core/CreativeTabFacade.java' include 'appeng/decorative/AEDecorativeBlock.java' include 'appeng/decorative/solid/BlockQuartzPillar.java' include 'appeng/helpers/MetaRotation.java' include 'appeng/core/features/ActivityState.java' include 'appeng/core/features/BlockStackSrc.java' include 'appeng/core/features/ItemStackSrc.java' include 'appeng/core/features/BlockDefinition.java' include 'appeng/core/features/TileDefinition.java' include 'appeng/core/features/ColoredItemDefinition.java' include 'appeng/util/helpers/ItemHandlerUtil.java' include 'appeng/util/inv/IAEAppEngInventory.java' include 'appeng/decorative/solid/BlockChargedQuartzOre.java' include 'appeng/client/render/effects/ChargedOreFX.java' include 'appeng/bootstrap/components/BuiltInModelComponent.java' include 'appeng/bootstrap/components/ModelOverrideComponent.java' include 'appeng/client/render/model/GlassBakedModel.java' include 'appeng/decorative/solid/BlockQuartzGlass.java' include 'appeng/decorative/solid/GlassState.java' include 'appeng/client/render/model/GlassModel.java' include 'appeng/client/render/model/RenderHelper.java' include 'appeng/client/render/model/GlassModelLoader.java' // include 'appeng/client/ClientHelper.java' // include 'appeng/server/ServerHelper.java' include 'appeng/block/AEBaseBlock.java' include 'appeng/helpers/ICustomCollision.java' include 'appeng/client/ClientHelper.java' include 'appeng/server/ServerHelper.java' include 'appeng/core/CommonHelper.java' include 'appeng/helpers/IMouseWheelItem.java' } compileClasspath += sourceSets.api.output runtimeClasspath += sourceSets.api.output } test { compileClasspath += sourceSets.api.output runtimeClasspath += sourceSets.api.output } } configurations { apiCompile.extendsFrom(compile) } apply from: 'gradle/scripts/dependencies.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'