From 2ffb99b297b586c3070f4b1dfc49eaa9e4ec832e Mon Sep 17 00:00:00 2001 From: DoNotSpamPls <7570108+DoNotSpamPls@users.noreply.github.com> Date: Sun, 11 Nov 2018 11:47:01 +0200 Subject: [PATCH] Use new build system from Waterfall --- CONTRIBUTING.md | 10 +++--- LICENSE.txt | 2 +- README.md | 15 ++++---- build.sh | 3 -- applyPatches.sh => scripts/applyPatches.sh | 0 scripts/build.sh | 3 ++ scripts/edit.sh | 5 +++ mergeUpstream.sh => scripts/mergeUpstream.sh | 1 + .../rebuildPatches.sh | 0 wigglePatch.py => scripts/wigglePatch.py | 0 travertine | 35 +++++++++++++++++++ 11 files changed, 58 insertions(+), 16 deletions(-) delete mode 100755 build.sh rename applyPatches.sh => scripts/applyPatches.sh (100%) mode change 100755 => 100644 create mode 100644 scripts/build.sh create mode 100644 scripts/edit.sh rename mergeUpstream.sh => scripts/mergeUpstream.sh (91%) mode change 100755 => 100644 rename rebuildPatches.sh => scripts/rebuildPatches.sh (100%) mode change 100755 => 100644 rename wigglePatch.py => scripts/wigglePatch.py (100%) mode change 100755 => 100644 create mode 100644 travertine diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 664b17f..6418a14 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ Patches to Travertine are very simple, but center around the directory 'Traverti Assuming you already have forked the repository: 1. Pull the latest changes from the main repository -2. Type `git submodule update --recursive --init && ./applyPatches.sh` in git bash to apply the changes from upstream +2. Type `./travertine p` in git bash to apply the changes from upstream 3. cd into `Travertine-Proxy` for proxy changes This directory is not a git repository in the traditional sense: @@ -24,7 +24,7 @@ Adding patches to Travertine is very simple: 1. Modify `Travertine-Proxy` with the appropriate changes 2. Type `git add .` to add your changes 3. Run `git commit` with the desired patch message -4. Run `./rebuildPatches.sh` in the main directory to convert your commit into a new patch +4. Run `./travertine rb` in the main directory to convert your commit into a new patch 5. PR your patches back to this repository Your commit will be converted into a patch that you can then PR into Travertine @@ -47,7 +47,7 @@ This method works by temporarily resetting HEAD to the desired commit to edit us - **MAKE SURE TO ADD `--amend`** or else a new patch will be created. - You can also modify the commit message here. 7. Type `git rebase --continue` to finish rebasing. -8. Type `./rebuildPatches.sh` in the main directory. +8. Type `./travertine rb` in the main directory. - This will modify the appropriate patches based on your commits. 9. PR your modifications back to this project. @@ -58,8 +58,8 @@ If you are simply editing a more recent commit or your change is small, simply m 2. Make a temporary commit. You don't need to make a message for this. 3. Type `git rebase -i upstream/upstream`, move (cut) your temporary commit and move it under the line of the patch you wish to modify. 4. Change the `pick` with `f` (fixup) or `s` (squash) if you need to edit the commit message -5. Type `./rebuildPatches.sh` in the main directory - - This will modify the appropriate patches based on your commits +5. Type `./travertine rb` in the main directory. + - This will modify the appropriate patches based on your commits. 6. PR your modifications to github diff --git a/LICENSE.txt b/LICENSE.txt index f129e01..e43a8af 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2015-2016 Waterfall Team +Copyright (c) 2015-2019 Waterfall Team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 4781298..dfb5e9f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# Travertine +Travertine [![Build Status](https://papermc.io/ci/job/Travertine/badge/icon)](https://papermc.io/ci/job/Travertine/) +========= Travertine is Waterfall with additional protocols. Waterfall is a fork of the well-known [BungeeCord](https://github.com/SpigotMC/BungeeCord) server teleportation suite. @@ -22,24 +23,24 @@ Travertine will track upstream Waterfall and merge changes as needed. ## How to (Server Admins) -Download a copy of of Travertine.jar from our buildserver here: [Travertine](https://ci.destroystokyo.com/job/Travertine) +Download a copy of Travertine.jar from our buildserver here: [Travertine](https://papermc.io/ci/job/Travertine/) -Travertine requires **java 8** or above. +Travertine requires **Java 8** or above. ## How To (Compiling from source) To compile Travertine, you need JDK8, git, bash, maven, and an internet connection. -Clone this repo, run `./build.sh` from *bash*, get jar from `Travertine-Proxy/bootstrap/target` +Clone this repo, run `./travertine b` from *bash*, get jar from `Travertine-Proxy/bootstrap/target` ## Join us * Feel free to open a PR! We accept contributions. -* Join us on IRC (irc.esper.net #waterfall, [webchat](http://webchat.esper.net/?nick=&channels=waterfall)). -* Visit our forums on [Aquifer](https://aquifermc.org). +* Join us on IRC (irc.spi.gt #paper, [webchat](http://irc.spi.gt/iris/?nick=&channels=paper)). +* Visit our forums (https://papermc.io/forums). Special Thanks To ----------------- ![YourKit-Logo](https://yourkit.com/images/yklogo.png) -[YourKit](https://yourkit.com/), makers of the outstanding Java profiler, supports open source projects of all kinds with their full-featured [Java](https://yourkit.com/features/) and [.NET](https://yourkit.com/dotnet/features/) application profilers. We thank them for granting Waterfall an OSS license so that we can make our software the best it can be. +[YourKit](https://yourkit.com/), makers of the outstanding Java profiler, supports open source projects of all kinds with their full-featured [Java](https://yourkit.com/features/) and [.NET](https://yourkit.com/dotnet/features/) application profilers. We thank them for granting Travertine an OSS license so that we can make our software the best it can be. diff --git a/build.sh b/build.sh deleted file mode 100755 index 3781839..0000000 --- a/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -git submodule update --recursive --init && ./applyPatches.sh && pushd Travertine-Proxy && mvn clean package && popd diff --git a/applyPatches.sh b/scripts/applyPatches.sh old mode 100755 new mode 100644 similarity index 100% rename from applyPatches.sh rename to scripts/applyPatches.sh diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100644 index 0000000..5afe191 --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +git submodule update --recursive --init && ./scripts/applyPatches.sh && pushd Travertine-Proxy && mvn clean package && popd diff --git a/scripts/edit.sh b/scripts/edit.sh new file mode 100644 index 0000000..dda5dd0 --- /dev/null +++ b/scripts/edit.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +pushd Travertine-Proxy +git rebase --interactive upstream/upstream +popd diff --git a/mergeUpstream.sh b/scripts/mergeUpstream.sh old mode 100755 new mode 100644 similarity index 91% rename from mergeUpstream.sh rename to scripts/mergeUpstream.sh index 8e75278..3633c92 --- a/mergeUpstream.sh +++ b/scripts/mergeUpstream.sh @@ -1,3 +1,4 @@ +#!/usr/bin/env bash PS1="$" basedir=`pwd` diff --git a/rebuildPatches.sh b/scripts/rebuildPatches.sh old mode 100755 new mode 100644 similarity index 100% rename from rebuildPatches.sh rename to scripts/rebuildPatches.sh diff --git a/wigglePatch.py b/scripts/wigglePatch.py old mode 100755 new mode 100644 similarity index 100% rename from wigglePatch.py rename to scripts/wigglePatch.py diff --git a/travertine b/travertine new file mode 100644 index 0000000..88cf4ec --- /dev/null +++ b/travertine @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +case "$1" in + "rb" | "rbp" | "rebuild") + scripts/rebuildPatches.sh + ;; + "p" | "patch") + scripts/build.sh + ;; + "m" | "up" | "merge") + scripts/mergeUpstream.sh + ;; + "b" | "build") + scripts/build.sh --jar + ;; + "e" | "edit") + scripts/edit.sh + ;; + "w" | "wiggle") + scripts/wigglePatch.py + ;; + *) + echo "Travertine build tool command. This provides a variety of commands to control the Travertine" + echo "build. View below for details of the available commands." + echo "" + echo "Commands:" + echo " * rb, rbp, rebuild | Rebuilds the patches" + echo " * p, patch | Applies all the patches to BungeeCord" + echo " * m, up, merge | Utility to aid in merging upstream" + echo " * b, build | Builds the project" + echo " | The bootstrap artifact can be found in Travertine-Proxy/bootstrap/target/" + echo " * e, edit | Runs git rebase -i for Waterfall, allowing patches to be easily modified" + echo " * w, wiggle | Helps to apply patches that fail to using default Git." + ;; +esac