Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: corretto
java-version: 8
java-version: 25

- name: Setup Gradle
uses: gradle/gradle-build-action@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: corretto
java-version: 8
java-version: 25

- name: Setup Gradle
uses: gradle/gradle-build-action@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: corretto
java-version: 8
java-version: 25

- name: Setup Gradle
uses: gradle/gradle-build-action@v3
Expand Down
98 changes: 71 additions & 27 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,36 +1,80 @@
//--- Boilerplate
buildscript {
repositories {
mavenCentral()
maven {
name = "forge"
url = "https://maven.minecraftforge.net/"
}
maven {
name = "iiMavenReleases"
url = uri("https://maven.iiteam.net/releases")
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
/**
* Team Immersive Intelligence Mk. X Build System template.
*/
plugins {
id 'java'
id 'java-library'
id 'maven-publish'
id 'idea'
id 'org.jetbrains.gradle.plugin.idea-ext' version '1.4.1'
id 'com.gtnewhorizons.retrofuturagradle' version '2.0.2'
id 'com.diffplug.spotless' version '8.6.0' apply false
}
import org.jetbrains.gradle.ext.Gradle

}
dependencies {
classpath("com.anatawa12.forge:ForgeGradle:2.3-1.0.+") {
changing = true
}
// The ancient pact must be honoured as soon as the root build script is evaluated.
def mkxGradlephant = rootProject.file('gradle/docs/gradlephant.txt')
if (mkxGradlephant.isFile())
logger.lifecycle('\n' + mkxGradlephant.getText('UTF-8'))
else
logger.warn('[Mk.X] Gradlephant banner missing: {}', mkxGradlephant)

classpath('xyz.vdeltagabriel:GradleUtils:2.1.0')
}
apply from: rootProject.file('gradle/scripts/helpers.gradle')

mkxAssertProperties('mod_version', 'mod_group', 'mod_package', 'mod_id', 'mod_name')

version = mkxString('mod_version')
group = mkxString('mod_group')

base {
archivesName.set(mkxString('archives_base_name', mkxString('mod_id')))
}

// Apply boilerplate code
apply from: rootProject.file('gradle/boilerplate.gradle')
apply from: rootProject.file('gradle/scripts/cleanroom.gradle')

def customGradle = rootProject.file('custom.gradle')
if (customGradle.exists()) {
logger.lifecycle('[Mk.X] applying local custom.gradle')
apply from: customGradle
}

//--- Dependencies
gradle.ext.mkxScriptSwitches.each { propertyName, scriptPath ->
mkxApplyScript(propertyName as String, scriptPath as String)
}

repositories {
if (mkxBool('ii_script_ide', false)) {
idea.project.settings.runConfigurations {
'Setup Mod Workspace'(Gradle) {
taskNames = ['setupDecompWorkspace','mkxAfterSync']
}
'Run Client'(Gradle) {
taskNames = ['runClient -Dforge.logging.markers=REGISTRIES -Dforge.logging.console.level=debug']
}
'Run Client 2'(Gradle) {
taskNames = ['runClient -Dforge.logging.markers=REGISTRIES -Dforge.logging.console.level=debug --username=TestSubject']
}
'Run Server'(Gradle) {
taskNames = ['runServer']
}
'Build Mod Jar'(Gradle) {
taskNames = ['build']
}
}
}

tasks.register('mkxSetupDocs') {
group = 'help'
description = 'Prints gradle/docs/setup.txt.'
doLast {
def setupDocument = rootProject.file('gradle/docs/setup.txt')
if (!setupDocument.isFile())
throw new GradleException("Mk. X setup document is missing: ${setupDocument}")
println setupDocument.getText('UTF-8')
}
}

tasks.named('build').configure {
doLast {
logger.lifecycle('[Mk.X] artifacts written to {}', layout.buildDirectory.dir('libs').get().asFile)
}
}
143 changes: 96 additions & 47 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,49 +1,98 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
# This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs=-Xmx3G
# Script definitions - DO NOT CHANGE
getOr=
logFile=
printDocs=
#MCMOD.INFO
mcmod_Name=Immersive Intelligence
mcmod_URL=https://www.curseforge.com/minecraft/mc-mods/immersive-intelligence
mcmod_Description=Adds new machines related to data, logistics, warfare and intelligence.
mcmod_Developer=Team Immersive Intelligence
mcmod_Contributors=Pabilo8,Carver,SchäferdCZ,Bastian,GabrielV
#Forge Data
modForge=1.12.2-14.23.5.2847
modMappings=snapshot_20171003
#Project Data
modVersion=0.3.1-dev5
modGroup=pl.pabilo8
modName=immersiveintelligence
# Private Team II Maven
#ii_MavenUser=
#ii_MavenToken=
# Boilerplate Script Settings
ii_useModworksPreprocessor=true
ii_useJUnit=true
ii_printSourceSets=true
ii_printOutputDir=true
# CoreJar Script Settings
ii_generateCoreJar=true
modATPath=immersiveintelligence_at.cfg
modASMPath=pl/pabilo8/immersiveintelligence/common/asm/**
modASMClass=pl.pabilo8.immersiveintelligence.common.asm.IILoadingPlugin
# Jar Signing
ii_enableSigning=true
timestamp_url=
ksalias=
keystore=
storepass=
keypass=
# II Maven
ii_authToIIMaven=false
iiMavenReleasesUsername=
iiMavenReleasesPassword
# Gradlephant Banner
ii_gradlephantTitle=A mod brought to you by Team II
ii_gradlephantLink=Check out our Github: https://github.com/Team-Immersive-Intelligence/ImmersiveIntelligence
# Gradle
org.gradle.jvmargs=-Xmx3G -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.caching=true

# Minecraft / Forge / mappings
minecraft_version=1.12.2
forge_version=14.23.5.2847
mapping_channel=snapshot
mapping_version=20171004
use_dependency_at_files=true
minecraft_username=Pabilo8

# Project identity
mod_version=0.3.1-dev5
mod_group=pl.pabilo8
mod_package=pl.pabilo8.immersiveintelligence
mod_id=immersiveintelligence
mod_name=Immersive Intelligence
mod_description=Adds new machines related to data, logistics, warfare and intelligence.
mod_url=https://github.com/Team-Immersive-Intelligence/ImmersiveIntelligence
mod_update_json=
mod_logo_path=assets/immersiveintelligence/logo.png
mod_authors=Pabilo8, GabrielV, Carver, SchäferdCZ, Bastian, Team Immersive Intelligence
mod_credits=Immersive Intelligence and Engineering Department communities.
archives_base_name=ImmersiveIntelligence

# Access transformer support
use_access_transformer=true
access_transformer_locations=immersiveintelligence_at.cfg

# Mk. X script switches
ii_script_repositories=true
ii_script_ide=true
ii_script_lombok=true
ii_script_modworks=true
ii_script_junit=true
ii_script_spotless=false
ii_script_dependencies=true
ii_script_corejar=true
ii_script_signing=true
ii_script_publishing=true

# Modern Java syntax via Jabel. Bytecode is still emitted for Java 8.
ii_use_modern_java_syntax=true
ii_modern_java_language=21

generate_sources_jar=true
generate_javadocs_jar=true
show_testing_output=false

# Team II Maven
ii_maven_url=https://maven.iiteam.net/releases
ii_auth_to_maven=true
# Available channels: releases, private, snapshots
ii_maven_channel=releases
ii_maven_username=
ii_maven_password=

# Dependency versions
immersive_engineering_version=0.12-92-559
jei_version=4.16.1.1013
crafttweaker_version=1.12-4.1.20.698
lombok_version=1.18.46
junit_version=5.10.2
minecraft_junit_version=1.5.1
jmeasure_version=1.0.0
modworks_version=1.1.3
mockito_version=4.11.0
mirage_version=2.0.3-rc3-SNAPSHOT
baubles_version=2518667
cc_tweaked_version=1.89.2
opencomputers_version=MC1.12.2-1.7.5.221
tough_as_nails_version=2710969
terrafirmacraft_version=3645502
immersive_petroleum_version=3382321
immersive_posts_version=2951672
immersive_technology_version=3658279
mysticalmechanics_version=3006392
bwm_suite_version=5702821
reauth_version=4408001
computercraft_version=1.80pr1

# Core-jar script settings
corejar_plugin_class=pl.pabilo8.immersiveintelligence.common.asm.IILoadingPlugin
corejar_include_patterns=pl/pabilo8/immersiveintelligence/common/asm/**
corejar_library_path=META-INF/libraries

# Jar signing
ii_enable_signing=true
signing_storetype=pkcs12
signing_alias=
signing_keystore=
signing_storepass=
signing_keypass=
signing_timestamp_url=


Loading
Loading