Clean repo for open source release
Remove build artifacts, dev tool configs, unused dependencies, and third-party source dumps. Add proper README, update .gitignore, clean up Makefile.
This commit is contained in:
171
Makefile
Normal file
171
Makefile
Normal file
@@ -0,0 +1,171 @@
|
||||
# TiedUp! 1.20.1 - Makefile
|
||||
# Simplifies build commands using Java 17
|
||||
|
||||
# Java 17 is required for Forge 1.20.1
|
||||
JAVA_HOME := /usr/lib/jvm/java-17-openjdk
|
||||
export JAVA_HOME
|
||||
|
||||
# Gradle wrapper
|
||||
GRADLE := ./gradlew
|
||||
|
||||
# Mod info (keep in sync with gradle.properties)
|
||||
MOD_NAME := TiedUp
|
||||
MOD_VERSION := 0.5.6-ALPHA
|
||||
JAR_FILE := build/libs/tiedup-$(MOD_VERSION).jar
|
||||
|
||||
# Colors for output
|
||||
COLOR_RESET := \033[0m
|
||||
COLOR_GREEN := \033[32m
|
||||
COLOR_YELLOW := \033[33m
|
||||
COLOR_BLUE := \033[34m
|
||||
|
||||
# Default target
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
##@ General
|
||||
|
||||
.PHONY: help
|
||||
help: ## Display this help message
|
||||
@echo ""
|
||||
@echo "$(COLOR_BLUE)TiedUp! 1.20.1 - Makefile Commands$(COLOR_RESET)"
|
||||
@echo ""
|
||||
@awk 'BEGIN {FS = ":.*##"; printf "Usage:\n make $(COLOR_YELLOW)<target>$(COLOR_RESET)\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " $(COLOR_YELLOW)%-15s$(COLOR_RESET) %s\n", $$1, $$2 } /^##@/ { printf "\n$(COLOR_GREEN)%s$(COLOR_RESET)\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
|
||||
@echo ""
|
||||
|
||||
##@ Building
|
||||
|
||||
.PHONY: build
|
||||
build: ## Build the mod
|
||||
@echo "$(COLOR_GREEN)Building $(MOD_NAME) with Java 17...$(COLOR_RESET)"
|
||||
@$(GRADLE) build
|
||||
|
||||
.PHONY: clean
|
||||
clean: ## Clean build artifacts
|
||||
@echo "$(COLOR_YELLOW)Cleaning build files...$(COLOR_RESET)"
|
||||
@$(GRADLE) clean
|
||||
|
||||
.PHONY: rebuild
|
||||
rebuild: clean build ## Clean and rebuild
|
||||
|
||||
.PHONY: release
|
||||
release: clean ## Build for release (clean + build)
|
||||
@echo "$(COLOR_GREEN)Building release version of $(MOD_NAME)...$(COLOR_RESET)"
|
||||
@$(GRADLE) build
|
||||
@mkdir -p build/release
|
||||
@cp build/reobfJar/output.jar build/release/tiedup-$(MOD_VERSION).jar
|
||||
@echo "$(COLOR_GREEN)Release build complete!$(COLOR_RESET)"
|
||||
@ls -lh build/release/
|
||||
|
||||
##@ Running
|
||||
|
||||
.PHONY: run
|
||||
run: ## Run Minecraft client
|
||||
@echo "$(COLOR_GREEN)Launching Minecraft client...$(COLOR_RESET)"
|
||||
@$(GRADLE) runClient
|
||||
|
||||
.PHONY: server
|
||||
server: ## Run dedicated server
|
||||
@echo "$(COLOR_GREEN)Launching dedicated server...$(COLOR_RESET)"
|
||||
@$(GRADLE) runServer
|
||||
|
||||
.PHONY: client2
|
||||
client2: ## Run second client instance
|
||||
@echo "$(COLOR_GREEN)Launching client 2...$(COLOR_RESET)"
|
||||
@$(GRADLE) runClient2
|
||||
|
||||
.PHONY: client3
|
||||
client3: ## Run third client instance
|
||||
@echo "$(COLOR_GREEN)Launching client 3...$(COLOR_RESET)"
|
||||
@$(GRADLE) runClient3
|
||||
|
||||
.PHONY: data
|
||||
data: ## Run data generators
|
||||
@echo "$(COLOR_GREEN)Running data generators...$(COLOR_RESET)"
|
||||
@$(GRADLE) runData
|
||||
|
||||
##@ Multiplayer Testing
|
||||
|
||||
.PHONY: mptest
|
||||
mptest: mp-kill build _mp-setup ## Build and launch server + 2 clients
|
||||
@echo "$(COLOR_GREEN)Starting multiplayer test environment...$(COLOR_RESET)"
|
||||
@echo "$(COLOR_BLUE)Launching 3 terminals: Server, Dev1, Dev2$(COLOR_RESET)"
|
||||
@konsole --new-tab -e bash -c "cd '$(CURDIR)' && $(GRADLE) runServer; read -p 'Press enter to close'" &
|
||||
@sleep 2
|
||||
@konsole --new-tab -e bash -c "sleep 12 && cd '$(CURDIR)' && $(GRADLE) runClient; read -p 'Press enter to close'" &
|
||||
@konsole --new-tab -e bash -c "sleep 17 && cd '$(CURDIR)' && $(GRADLE) runClient2; read -p 'Press enter to close'" &
|
||||
@echo "$(COLOR_GREEN)Terminals launched. Clients will auto-connect after server starts.$(COLOR_RESET)"
|
||||
|
||||
.PHONY: _mp-setup
|
||||
_mp-setup:
|
||||
@mkdir -p run run-client2 run-client3
|
||||
@echo "eula=true" > run/eula.txt
|
||||
@if [ ! -f run/server.properties ]; then \
|
||||
echo "# TiedUp Dev Server" > run/server.properties; \
|
||||
echo "online-mode=false" >> run/server.properties; \
|
||||
echo "enable-command-block=true" >> run/server.properties; \
|
||||
echo "spawn-protection=0" >> run/server.properties; \
|
||||
echo "gamemode=creative" >> run/server.properties; \
|
||||
echo "allow-flight=true" >> run/server.properties; \
|
||||
else \
|
||||
grep -q "online-mode=false" run/server.properties || \
|
||||
sed -i 's/online-mode=true/online-mode=false/' run/server.properties; \
|
||||
fi
|
||||
|
||||
.PHONY: mp-kill
|
||||
mp-kill: ## Kill all Minecraft processes and clean locks
|
||||
@echo "$(COLOR_YELLOW)Killing all Minecraft/Java processes...$(COLOR_RESET)"
|
||||
@-fuser -k 25565/tcp 2>/dev/null; true
|
||||
@-pkill -9 -f "net.minecraft.server.Main" 2>/dev/null; true
|
||||
@-pkill -9 -f "net.minecraft.client.main.Main" 2>/dev/null; true
|
||||
@-pkill -9 -f "MinecraftServer" 2>/dev/null; true
|
||||
@-pkill -9 -f "cpw.mods.bootstraplauncher" 2>/dev/null; true
|
||||
@sleep 1
|
||||
@-rm -f run/world/session.lock run/*/session.lock 2>/dev/null; true
|
||||
@-rm -f run-client2/*/session.lock run-client3/*/session.lock 2>/dev/null; true
|
||||
@echo "$(COLOR_GREEN)Done$(COLOR_RESET)"
|
||||
|
||||
##@ Development
|
||||
|
||||
.PHONY: test
|
||||
test: ## Run tests
|
||||
@$(GRADLE) test
|
||||
|
||||
.PHONY: idea
|
||||
idea: ## Generate IntelliJ IDEA run configurations
|
||||
@$(GRADLE) genIntellijRuns
|
||||
|
||||
.PHONY: eclipse
|
||||
eclipse: ## Generate Eclipse project files
|
||||
@$(GRADLE) eclipse
|
||||
|
||||
##@ Information
|
||||
|
||||
.PHONY: info
|
||||
info: ## Show project information
|
||||
@echo ""
|
||||
@echo "$(COLOR_BLUE) TiedUp! - Project Information$(COLOR_RESET)"
|
||||
@echo "$(COLOR_GREEN)Mod:$(COLOR_RESET) $(MOD_NAME) $(MOD_VERSION)"
|
||||
@echo "$(COLOR_GREEN)Minecraft:$(COLOR_RESET) 1.20.1"
|
||||
@echo "$(COLOR_GREEN)Forge:$(COLOR_RESET) 47.4.10"
|
||||
@echo "$(COLOR_GREEN)Java:$(COLOR_RESET) 17 ($(JAVA_HOME))"
|
||||
@echo ""
|
||||
|
||||
.PHONY: version
|
||||
version: ## Show Java and Gradle versions
|
||||
@$(JAVA_HOME)/bin/java -version
|
||||
@$(GRADLE) --version | head -5
|
||||
|
||||
##@ Maintenance
|
||||
|
||||
.PHONY: refresh
|
||||
refresh: ## Refresh Gradle dependencies
|
||||
@$(GRADLE) --refresh-dependencies
|
||||
|
||||
.PHONY: setup
|
||||
setup: ## Initial setup (first time)
|
||||
@echo "$(COLOR_GREEN)Running initial setup...$(COLOR_RESET)"
|
||||
@$(GRADLE) wrapper
|
||||
@echo "$(COLOR_GREEN)Setup complete! Run 'make build' to build the mod.$(COLOR_RESET)"
|
||||
|
||||
.PHONY: all
|
||||
all: clean build ## Clean and build
|
||||
Reference in New Issue
Block a user