Multiproject template for ForgeGradle development environments

Overview

ForgeGradle Multiproject Template

This repository provides a template for multiproject development environments using ForgeGradle.

Project structure

This template builds upon the runenv template repo to provide the binding logic that makes the multiproject environment work.

The built-in examplelib and examplemod projects are standard Forge MDK projects, heavily trimmed down for the sake of simplicity, and are unaware that they exist within a multiproject environment.

Setup

To set up a multiproject development environment, just clone this repository.
Optionally, you may delete the .git directory and initialize your own git repo in its place.
It is advised to keep the runenv template as a submodule, which allows you to easily pull new versions down the line.

Customization

The most basic form of customization comes in the form of adding new projects to settings.gradle.
Just add new include 'YourProjectName' lines in the same place you find the predefined ones.

If you are authoring several mods that depend on each other, but you still want to be able to compile them on their own, this template also allows it.
For example, if one of your projects depends on fg.deobf("com.example:examplelib:1.2.3"), you can define a substitution in the root level buildscript: substitute module("com.example:examplelib") using project(":examplelib").
This will make it so whatever depended on that artifact will now depend on the project in your dev environment instead.
Make sure to also define an exclusion for the same module in the if statement above it. That will ensure that ForgeGradle doesn't try to unnecessarily resolve the artifact.

Further customization can be done by either modifying the runenv template, or the project('runenv') closure in the root level buildscript.

Generating runs

The run configurations for your multiproject environment should point to the runenv template.
You must run that project's gen<IDE>Runs task and use its classpath at runtime for all the projects to load.

For datagen, you may still use each project's individual runs.

Known issues and currently untested features

Please check the runenv template repository, as that will contain the latest information regarding compatibility. Further updates will most likely be pushed there.

Contributions

Pull requests adding extended feature support and bugfixes are welcome.
Please keep them simple if possible.

You might also like...

Te4j (Template Engine For Java) - Fastest and easy template engine

Te4j (Template Engine For Java) - Fastest and easy template engine

Te4j About the project Te4j (Template Engine For Java) - Fastest and easy template engine Pros Extremely fast (127k renders per second on 4790K) Easy

Nov 11, 2022

Template to speed up your development in React Native projects.

React Native SpaceShip I created this template with the purpose of leaving the development environment already configured for use. 🚀 How to use it in

Mar 23, 2022

jte is a secure and lightweight template engine for Java.

jte is a secure and lightweight template engine for Java.

jte is a secure and lightweight template engine for Java. All jte templates are compiled to Java class files, meaning jte adds essentially zero overhe

Dec 22, 2022

Java modern template engine

Jtwig Project Documentation Project Status Coverage Version jtwig-reflection jtwig-core jtwig-web jtwig-pluralization jtwig-spring jtwig-translate-ext

May 19, 2022

Java 8 optimized, memory efficient, speedy template engine producing statically typed, plain java objects

Java 8 optimized, memory efficient, speedy template engine producing statically typed, plain java objects

Rocker Templates by Fizzed Fizzed, Inc. (Follow on Twitter: @fizzed_inc) Sponsored by Rocker is proudly sponsored by Greenback. We love the service an

Dec 29, 2022

Generator fake objects from a template

Fixture Factory is a tool to help developers quickly build and organize fake objects for unit tests. The key idea is to create specification limits of

Dec 15, 2022

A plugin to add Silverstripe template support to PHPStorm and other JetBrains IDEs.

Idea Silverstripe Plugin ⚠️ Work in progress ⚠️ This plugin adds Silverstripe template support to PHPStorm and other JetBrains IDEs. Platform requirem

Sep 27, 2021

Flutter GetX模板代码生成 Gradle模式开发---Used to generate the template code of GetX framework

Flutter GetX模板代码生成 Gradle模式开发---Used to generate the template code of GetX framework

getx_template 语言: English | 中文简体 GetX usage Gold digging: Flutter GetX use --- simple charm! Renderings Plug-in effect Take a look at the effect diagr

Dec 23, 2022

Dataflow template which read data from Kafka (Support SSL), transform, and outputs the resulting records to BigQuery

Kafka to BigQuery Dataflow Template The pipeline template read data from Kafka (Support SSL), transform the data and outputs the resulting records to

Jun 1, 2021

An elegant Minecraft mod template for the Fabric mod loader

An elegant Minecraft mod template for the Fabric mod loader

Fabric Example Mod Lorem ipsum dolor sit amet Example is a Minecraft mod that lorem ipsum dolor sit amet. Ut mi lectus, egestas a justo nec, hendrerit

Dec 25, 2022

A Java-based template project for the FastJ Game Engine.

A Java-based template project for the FastJ Game Engine.

FastJ Java Template Program Requirements Java 16 JDK Basic understanding of Java Initial Setup Download the Template You have a few options for gettin

May 15, 2022

A template project for Keycloak Customizations

Keycloak Project Example Introduction This repository contains a project setup for keycloak based projects. This setup serves as a starting point to s

Jan 4, 2023

The shortest possible maven template / quickstarter for Java 16

The shortest possible Java 16 maven quickstarter The shortest possible Apache Maven template for Java 16 usage git clone https://github.com/AdamBien/j

Nov 8, 2021

Lobby System Template for a multiplayer java game, with chat and other features, using JavaFX and socket TCP (will be extended to UDP).

Lobby System Template for a multiplayer java game, with chat and other features, using JavaFX and socket TCP (will be extended to UDP).

JavaFX-MultiplayerLobbySystem JavaFX lobby system for multiplayer games with chat, ready toggle and kick buttons, using socket TCP by default. Demo Cr

May 8, 2022

A little template project to

A little template project to

FX Modules This is a little project that can be used as a template for modularized JavaFX projects. The main branch is based on JDK17, other version c

Dec 12, 2022

A tool to assemble Magic: The Gathering proxies from a set of template images

Proximity A tool to assemble Magic: The Gathering proxies from a set of template images. To get started, check out the wiki. Building Proximity can be

Oct 17, 2022

A template for Spring Boot REST API tested with JUnit 5 and Cucumber 6

demo-bdd Un template Spring Boot pour lancer un BDD/ATDD avec Cucumber 6 et JUnit 5. Maven et le JDK 17 seront nécessaires. Exécuter les tests Le proj

Jul 19, 2022
Owner
Néstor Amador
Minecraft Modder & Minecon 2018 & 2019 Panelist
Néstor Amador
jte is a secure and lightweight template engine for Java.

jte is a secure and lightweight template engine for Java. All jte templates are compiled to Java class files, meaning jte adds essentially zero overhe

Andreas Hager 457 Dec 22, 2022
Java modern template engine

Jtwig Project Documentation Project Status Coverage Version jtwig-reflection jtwig-core jtwig-web jtwig-pluralization jtwig-spring jtwig-translate-ext

Jtwig 298 May 19, 2022
Java 8 optimized, memory efficient, speedy template engine producing statically typed, plain java objects

Rocker Templates by Fizzed Fizzed, Inc. (Follow on Twitter: @fizzed_inc) Sponsored by Rocker is proudly sponsored by Greenback. We love the service an

Fizzed, Inc. 669 Dec 29, 2022
A little template project to

FX Modules This is a little project that can be used as a template for modularized JavaFX projects. The main branch is based on JDK17, other version c

Gerrit Grunwald 27 Dec 12, 2022
ST (StringTemplate) is a java template engine (with ports for C#, Python, and Objective-C coming) for generating source code

ST (StringTemplate) is a java template engine (with ports for C#, Python, and Objective-C coming) for generating source code, web pages, emails, or an

Antlr Project 851 Jan 5, 2023
Data Structures and Algorithms (DSA) - Java Language Using Integrated Development Environments NetBeans

Data Structures and Algorithms (DSA) Course Code : CSC211 Credit Hours : 4 Language : JAVA Integrated development environments : NETBEANS Topic Covere

Ossama Mehmood 샘 2 Oct 1, 2022
Model import deployment framework for retraining models (pytorch, tensorflow,keras) deploying in JVM Micro service environments, mobile devices, iot, and Apache Spark

The Eclipse Deeplearning4J (DL4J) ecosystem is a set of projects intended to support all the needs of a JVM based deep learning application. This mean

Eclipse Foundation 12.7k Dec 30, 2022
This project is a specialized fork of Checkstyle to support older runtime environments of users who can't upgrade

checkstyle-backport-jre8 The latest release version can be found at GitHub releases or at Maven repo. This project is a specialized fork of Checkstyle

null 3 Apr 21, 2022
JHusky - Modern native Git hooks made easy for java environments

JHusky Modern native Git hooks made easy for java environments JHusky improves your commits and more ?? Jwoof! Install Include it to your project as a

Pedro Caires 23 Oct 31, 2022
A Toolkit for Modeling and Simulation of Resource Management Techniques in Internet of Things, Edge and Fog Computing Environments

The iFogSimToolkit (with its new release iFogSim2) for Modeling and Simulation of Resource Management Techniques in Internet of Things, Edge and Fog Computing Environments. In the new release Mobili Management, Microservice Management, and Dynamic Clustering mechanisms are added as new features.

The Cloud Computing and Distributed Systems (CLOUDS) Laboratory 69 Dec 17, 2022