Upgraded buildscripts for minecraft 1.15.2
This commit is contained in:
+67
-71
@@ -18,25 +18,22 @@
|
|||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
maven { url = 'https://files.minecraftforge.net/maven' }
|
||||||
jcenter()
|
jcenter()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven {
|
|
||||||
name = "forge"
|
|
||||||
url = "http://files.minecraftforge.net/maven"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
|
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id "org.sonarqube" version "2.6"
|
id "org.sonarqube" version "2.8"
|
||||||
|
id "jacoco"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'net.minecraftforge.gradle.forge'
|
apply plugin: 'net.minecraftforge.gradle'
|
||||||
apply plugin: 'jacoco'
|
apply plugin: "eclipse"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
@@ -44,12 +41,10 @@ repositories {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|
||||||
apply from: 'gradle/scripts/dependencies.gradle'
|
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
apply from: 'gradle/scripts/artifacts.gradle'
|
compileJava {
|
||||||
apply from: 'gradle/scripts/optional.gradle'
|
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
|
}
|
||||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
||||||
targetCompatibility = JavaVersion.VERSION_1_8
|
|
||||||
|
|
||||||
// ensure everything uses UTF-8 and not some random codepage chosen by gradle
|
// ensure everything uses UTF-8 and not some random codepage chosen by gradle
|
||||||
compileJava.options.encoding = 'UTF-8'
|
compileJava.options.encoding = 'UTF-8'
|
||||||
@@ -57,65 +52,66 @@ tasks.withType(JavaCompile) {
|
|||||||
options.encoding = 'UTF-8'
|
options.encoding = 'UTF-8'
|
||||||
}
|
}
|
||||||
|
|
||||||
version = aeversion + "-" + aechannel + "-" + aebuild
|
version = version_major + "." + version_minor + "." + version_patch
|
||||||
group = aegroup
|
group = artifact_group
|
||||||
archivesBaseName = aebasename
|
archivesBaseName = artifact_basename
|
||||||
|
|
||||||
// Add Coremod Manifest
|
|
||||||
jar {
|
|
||||||
manifest {
|
|
||||||
attributes 'FMLAT': 'appeng_at.cfg'
|
|
||||||
}
|
|
||||||
|
|
||||||
from sourceSets.api.output
|
|
||||||
dependsOn apiClasses
|
|
||||||
|
|
||||||
// specify which files are really included, can control which APIs should be in
|
|
||||||
include "appeng/**"
|
|
||||||
include "assets/**"
|
|
||||||
include "mcmod.info"
|
|
||||||
include "pack.mcmeta"
|
|
||||||
include "META-INF/appeng_at.cfg"
|
|
||||||
}
|
|
||||||
|
|
||||||
minecraft {
|
|
||||||
version = minecraft_version + "-" + forge_version
|
|
||||||
|
|
||||||
replaceIn "AEConfig.java"
|
|
||||||
replaceIn "package-info.java"
|
|
||||||
|
|
||||||
replace "@version@", project.version
|
|
||||||
replace "@aeversion@", aeversion
|
|
||||||
replace "@aechannel@", aechannel
|
|
||||||
replace "@aebuild@", aebuild
|
|
||||||
|
|
||||||
// used when launching minecraft in dev env
|
|
||||||
runDir = "run"
|
|
||||||
mappings = mcp_mappings
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
api
|
api
|
||||||
main
|
main {
|
||||||
|
compileClasspath += sourceSets.api.output
|
||||||
|
runtimeClasspath += sourceSets.api.output
|
||||||
|
}
|
||||||
|
test {
|
||||||
|
compileClasspath += sourceSets.api.output
|
||||||
|
runtimeClasspath += sourceSets.api.output
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
processResources
|
configurations {
|
||||||
{
|
apiCompile.extendsFrom(compile)
|
||||||
// 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'
|
|
||||||
expand 'version': project.version, 'mcversion': project.minecraft.version
|
|
||||||
}
|
|
||||||
|
|
||||||
// copy everything else, thats not the mcmod.info
|
|
||||||
from(sourceSets.main.resources.srcDirs) {
|
|
||||||
exclude 'mcmod.info'
|
|
||||||
}
|
|
||||||
|
|
||||||
// move access transformer to META-INF
|
|
||||||
rename '(.+_at.cfg)', 'META-INF/$1'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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'
|
||||||
|
|||||||
+16
-18
@@ -1,35 +1,33 @@
|
|||||||
aeversion=rv6
|
version_major=0
|
||||||
aechannel=alpha
|
version_minor=0
|
||||||
aebuild=0
|
version_patch=0
|
||||||
aegroup=appeng
|
|
||||||
aebasename=appliedenergistics2
|
artifact_group=appeng
|
||||||
|
artifact_basename=appliedenergistics2
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Versions #
|
# Minecraft Versions #
|
||||||
#########################################################
|
#########################################################
|
||||||
minecraft_version=1.12.2
|
minecraft_release=1.15
|
||||||
mcp_mappings=snapshot_20171003
|
minecraft_version=1.15.2
|
||||||
forge_version=14.23.5.2768
|
mcp_mappings=20200411-1.15.1
|
||||||
|
forge_version=31.1.43
|
||||||
#########################################################
|
|
||||||
# Installable #
|
|
||||||
#########################################################
|
|
||||||
hwyla_version=1.8.26-B41_1.12.2
|
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Provided APIs #
|
# Provided APIs #
|
||||||
#########################################################
|
#########################################################
|
||||||
jei_version=4.13.0.219
|
jei_version=6.0.0.4
|
||||||
tesla_version=1.0.63
|
tesla_version=1.0.63
|
||||||
ic2_version=2.8.73-ex112
|
ic2_version=2.8.73-ex112
|
||||||
top_version=1.12-1.4.23-16
|
top_version=2.0.2-4
|
||||||
cofhcore_version=1.12.2-4.5.2.19
|
cofhcore_version=1.12.2-4.5.2.19
|
||||||
crafttweaker_version=4.1.8.9
|
crafttweaker_version=4.1.8.9
|
||||||
inventorytweaks_version=1.63
|
inventorytweaks_version=1.63
|
||||||
ctm_version=MC1.12.2-0.3.1.16
|
ctm_version=MC1.12.2-0.3.1.16
|
||||||
|
hwyla_version=1.8.26-B41_1.12.2
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Deployment #
|
# Deployment #
|
||||||
#########################################################
|
#########################################################
|
||||||
website_version=1.12.2
|
website_version=1.15.2
|
||||||
curse_versions=1.12.2
|
curse_versions=1.15.2
|
||||||
|
|||||||
@@ -28,40 +28,54 @@ javadoc {
|
|||||||
options.charSet = 'UTF-8'
|
options.charSet = 'UTF-8'
|
||||||
}
|
}
|
||||||
|
|
||||||
task javadocs(type: Javadoc) {
|
jar {
|
||||||
source = sourceSets.api.java
|
from sourceSets.main.output.classesDirs
|
||||||
include "appeng/api/**"
|
from sourceSets.api.output.classesDirs
|
||||||
|
from sourceSets.main.output.resourcesDir
|
||||||
|
from sourceSets.api.output.resourcesDir
|
||||||
|
|
||||||
// Due to ForgeGradle having to be a special snowflake,
|
manifest {
|
||||||
// we have to add some custom configurations to the normal compile configuration and hope it does not break.
|
attributes([
|
||||||
classpath = configurations.compile + configurations.forgeGradleMc + configurations.forgeGradleMcDeps
|
"Specification-Title": "Applied Energistics 2",
|
||||||
|
"Specification-Vendor": "TeamAppliedEnergistics",
|
||||||
|
"Specification-Version": "${project.version}",
|
||||||
|
"Implementation-Title": "${project.name}",
|
||||||
|
"Implementation-Version": "${project.version}",
|
||||||
|
"Implementation-Vendor" :"TeamAppliedEnergistics",
|
||||||
|
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
||||||
|
])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task javadocJar(type: Jar, dependsOn: javadocs) {
|
task javadocs(type: Javadoc) {
|
||||||
from javadoc.destinationDir
|
source = sourceSets.api.java
|
||||||
|
include "appeng/api/**"
|
||||||
|
}
|
||||||
|
|
||||||
classifier = 'javadoc'
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
||||||
|
classifier = "javadoc"
|
||||||
|
from javadoc.destinationDir
|
||||||
|
}
|
||||||
|
|
||||||
|
task sourcesJar(type: Jar) {
|
||||||
|
classifier = "sources"
|
||||||
|
from sourceSets.main.allJava
|
||||||
|
from sourceSets.api.allJava
|
||||||
}
|
}
|
||||||
|
|
||||||
task apiJar(type: Jar) {
|
task apiJar(type: Jar) {
|
||||||
from sourceSets.api.java
|
classifier = "api"
|
||||||
include "appeng/api/**"
|
from sourceSets.api.output
|
||||||
|
include "appeng/api/**"
|
||||||
|
|
||||||
from sourceSets.api.output
|
// TODO: when FG bug is fixed, remove allJava from the api jar.
|
||||||
include "appeng/api/**"
|
// https://github.com/MinecraftForge/ForgeGradle/issues/369
|
||||||
|
// Gradle should be able to pull them from the -sources jar.
|
||||||
classifier = 'api'
|
from sourceSets.api.allJava
|
||||||
}
|
|
||||||
|
|
||||||
task sourceJar(type: Jar, overwrite: true) {
|
|
||||||
from sourceSets.api.allSource
|
|
||||||
from sourceSets.main.allSource
|
|
||||||
|
|
||||||
classifier = 'sources'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
artifacts {
|
artifacts {
|
||||||
archives apiJar
|
archives javadocJar
|
||||||
archives javadocJar
|
archives sourcesJar
|
||||||
archives sourceJar
|
archives apiJar
|
||||||
}
|
}
|
||||||
@@ -64,10 +64,10 @@ repositories {
|
|||||||
url "http://maven.blamejared.com/"
|
url "http://maven.blamejared.com/"
|
||||||
}
|
}
|
||||||
|
|
||||||
//maven { // modmaven, maven proxy
|
maven { // modmaven, maven proxy
|
||||||
// name 'modmaven'
|
name 'modmaven'
|
||||||
// url "https://modmaven.k-4u.nl/"
|
url "https://modmaven.k-4u.nl/"
|
||||||
//}
|
}
|
||||||
|
|
||||||
maven {
|
maven {
|
||||||
name = "CurseForge"
|
name = "CurseForge"
|
||||||
@@ -80,25 +80,26 @@ configurations {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// installable runtime dependencies
|
minecraft([
|
||||||
mods "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
group : "net.minecraftforge",
|
||||||
mods "net.industrial-craft:industrialcraft-2:${ic2_version}:dev"
|
name : "forge",
|
||||||
mods "mcjty.theoneprobe:TheOneProbe-${minecraft_version}:${top_version}"
|
version: "${project.minecraft_version}-${project.forge_version}"
|
||||||
|
])
|
||||||
|
|
||||||
// compile against provided APIs
|
// compile against provided APIs
|
||||||
compileOnly "mezz.jei:jei_${minecraft_version}:${jei_version}:api"
|
compileOnly "mezz.jei:jei-${minecraft_version}:${jei_version}:api"
|
||||||
compileOnly "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
//compileOnly "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
||||||
compileOnly "net.darkhax.tesla:Tesla-1.12.2:${tesla_version}"
|
//compileOnly "net.darkhax.tesla:Tesla-1.12.2:${tesla_version}"
|
||||||
compileOnly "net.industrial-craft:industrialcraft-2:${ic2_version}:api"
|
//compileOnly "net.industrial-craft:industrialcraft-2:${ic2_version}:api"
|
||||||
compileOnly "mcjty.theoneprobe:TheOneProbe-1.12:${top_version}:api"
|
compileOnly "mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}:api"
|
||||||
compileOnly "cofh:CoFHCore:${cofhcore_version}:deobf"
|
//compileOnly "cofh:CoFHCore:${cofhcore_version}:deobf"
|
||||||
compileOnly "CraftTweaker2:CraftTweaker2-API:${crafttweaker_version}"
|
//compileOnly "CraftTweaker2:CraftTweaker2-API:${crafttweaker_version}"
|
||||||
compileOnly "inventory-tweaks:InventoryTweaks:${inventorytweaks_version}:api"
|
//compileOnly "inventory-tweaks:InventoryTweaks:${inventorytweaks_version}:api"
|
||||||
compileOnly "team.chisel.ctm:CTM:${ctm_version}"
|
//compileOnly "team.chisel.ctm:CTM:${ctm_version}"
|
||||||
|
|
||||||
// at runtime, use the full JEI jar
|
// at runtime, use the full JEI jar
|
||||||
runtime "mezz.jei:jei_${minecraft_version}:${jei_version}"
|
runtime "mezz.jei:jei-${minecraft_version}:${jei_version}"
|
||||||
|
|
||||||
// unit test dependencies
|
// unit test dependencies
|
||||||
testCompile "junit:junit:4.12"
|
testCompile "junit:junit:4.13"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of Applied Energistics 2.
|
|
||||||
* Copyright (c) 2013 - 2014, 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 <http://www.gnu.org/licenses/lgpl>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
task wrapper(type: Wrapper) {
|
|
||||||
gradleVersion = "2.14"
|
|
||||||
}
|
|
||||||
|
|
||||||
// HWYLA
|
|
||||||
task installHwyla(type: Copy, dependsOn: "deinstallHwyla") {
|
|
||||||
from { configurations.mods }
|
|
||||||
include "**/*Hwyla*.jar"
|
|
||||||
into file(minecraft.runDir + "/mods")
|
|
||||||
}
|
|
||||||
|
|
||||||
task deinstallHwyla(type: Delete) {
|
|
||||||
delete fileTree(dir: minecraft.runDir + "/mods", include: "*Hwyla*.jar")
|
|
||||||
}
|
|
||||||
|
|
||||||
// IC2
|
|
||||||
task installIC2(type: Copy, dependsOn: "deinstallIC2") {
|
|
||||||
from { configurations.mods }
|
|
||||||
include "**/*industrialcraft-2*.jar"
|
|
||||||
into file(minecraft.runDir + "/mods")
|
|
||||||
}
|
|
||||||
|
|
||||||
task deinstallIC2(type: Delete) {
|
|
||||||
delete fileTree(dir: minecraft.runDir + "/mods", include: "*industrialcraft-2*.jar")
|
|
||||||
}
|
|
||||||
|
|
||||||
// TOP
|
|
||||||
task installTop(type: Copy, dependsOn: ["deinstallTop"]) {
|
|
||||||
from { configurations.mods }
|
|
||||||
include "**/*TheOneProbe*.jar"
|
|
||||||
into file(minecraft.runDir + "/mods")
|
|
||||||
}
|
|
||||||
|
|
||||||
task deinstallTop(type: Delete) {
|
|
||||||
delete fileTree(dir: minecraft.runDir + "/mods", include: "*TheOneProbe*.jar")
|
|
||||||
}
|
|
||||||
|
|
||||||
Vendored
BIN
Binary file not shown.
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
# GUI rendering
|
|
||||||
public net.minecraft.client.gui.inventory.GuiContainer func_146977_a(Lnet/minecraft/inventory/Slot;)V # drawSlot
|
|
||||||
public net.minecraft.client.gui.GuiTextField func_146188_c(IIII)V # drawSelectionBox
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# GUI rendering
|
||||||
|
#public net.minecraft.client.gui.inventory.GuiContainer func_146977_a(Lnet/minecraft/inventory/Slot;)V # drawSlot
|
||||||
|
#public net.minecraft.client.gui.GuiTextField func_146188_c(IIII)V # drawSelectionBox
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
# There are several mandatory fields (#mandatory), and many more that are optional (#optional).
|
||||||
|
# The overall format is standard TOML format, v0.5.0.
|
||||||
|
# Note that there are a couple of TOML lists in this file.
|
||||||
|
# Find more information on toml format here: https://github.com/toml-lang/toml
|
||||||
|
|
||||||
|
# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml
|
||||||
|
modLoader="javafml" #mandatory
|
||||||
|
|
||||||
|
# A version range to match for said mod loader - for regular FML @Mod it will be the minecraft version (without the 1.)
|
||||||
|
loaderVersion="[31,)" #mandatory
|
||||||
|
|
||||||
|
# A URL to query for updates for this mod. See the JSON update specification <here>
|
||||||
|
#updateJSONURL="" #optional
|
||||||
|
|
||||||
|
# A URL to refer people to when problems occur with this mod
|
||||||
|
issueTrackerURL="https://github.com/AppliedEnergistics/Applied-Energistics-2/issues" #optional
|
||||||
|
|
||||||
|
# A URL for the "homepage" for this mod, displayed in the mod UI
|
||||||
|
displayURL="https://github.com/AppliedEnergistics/Applied-Energistics-2" #optional
|
||||||
|
|
||||||
|
# A file name (in the root of the mod JAR) containing a logo for display
|
||||||
|
#logoFile="examplemod.png" #optional
|
||||||
|
|
||||||
|
# A text field displayed in the mod UI
|
||||||
|
#credits="Thanks for this example mod goes to Java" #optional
|
||||||
|
|
||||||
|
# A text field displayed in the mod UI
|
||||||
|
authors="TeamAppliedEnergistics" #optional
|
||||||
|
|
||||||
|
# A list of mods - how many allowed here is determined by the individual mod loader
|
||||||
|
[[mods]] #mandatory
|
||||||
|
|
||||||
|
# The modid of the mod
|
||||||
|
modId="appliedenergistics2" #mandatory
|
||||||
|
|
||||||
|
# The version number of the mod
|
||||||
|
version="${file.jarVersion}" #mandatory
|
||||||
|
|
||||||
|
# A display name for the mod
|
||||||
|
displayName="Applied Energistics 2" #mandatory
|
||||||
|
|
||||||
|
# The description text for the mod (multi line!) (#mandatory)
|
||||||
|
description='''
|
||||||
|
A Mod about Matter, Energy and using them to conquer the world..
|
||||||
|
'''
|
||||||
|
|
||||||
|
# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional.
|
||||||
|
[[dependencies.jei]]
|
||||||
|
modId="forge" #mandatory
|
||||||
|
mandatory=true #mandatory
|
||||||
|
versionRange="[31.0.0,)" #mandatory
|
||||||
|
# An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory
|
||||||
|
ordering="NONE"
|
||||||
|
# Side this dependency is applied on - BOTH, CLIENT or SERVER
|
||||||
|
side="BOTH"
|
||||||
Reference in New Issue
Block a user