Giter Site home page Giter Site logo

mindeploy's Introduction

Mindeploy

A simple gradle plugin for compiling & running Mindustry mods.

Usage

Buildscript

// settings.gradle(.kts)
pluginManagement {
    repositories {
        gradlePluginPortal()
        
        maven { setUrl("https://repsy.io/mvn/nichrosia/default/") }
    }
}

// build.gradle(.kts)
plugins {
    id("nichrosia.mindeploy") version "0.3"
}

Compiling

Compiling mods is done via the gradle task deployMod, and deployDexedMod for android compatibility.

Running

Running your mod is done by the gradle task runMindustry. Do note that this requires having mindustryVersion set in your gradle.properties, as a mindustry tag, i.e. v135.

Mindeploy automatically generates a run/ directory to store the Mindustry instance, allowing for easy modification & the ability to use multiple different versions (across your device.) (The way this works is by setting the MINDUSTRY_DATA_DIR environment variable in the runMindustry task.)

Plugins

Due to a weird bug with IntelliJ (input in run/debug is disabled), a custom run configuration must be created to run a server. To do such, open up IntelliJ's run configuration screen, and add a shell script. Make the run directory run/modded/server/, toggle 'Script file' to 'Script text', and insert '../../../build/libs/Mindustry-Server-version.jar', with version being the desired Mindustry tag specified in gradle.properties. This will eventually be automated by dynamic injection into .idea/workspace.xml.

mindeploy's People

Contributors

nichrosia avatar

Watchers

 avatar

mindeploy's Issues

user-definable run tasks

Rather than creating a number of potentially unwanted directories, it'd be best to allow the user to create their own. Using a class named, say, MindustryExec, they would be able to create such on their own. Of course, a default task would still be provided, presumably using the latest Mindustry version and desktop platform.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.