OvercastNetwork / SportBukkit

CraftBukkit and Bukkit modifications that improve stability and add new features
99 stars 84 forks source link

[WIP] Rebase to 1.8 #132

Closed jedediah closed 9 years ago

jedediah commented 9 years ago

ToDo:

Skipped patches:

jedediah commented 9 years ago

Invisibility thing is done. This is ready to go.

twizmwazin commented 9 years ago

I, as well as others, have not been able to build this. The issue occurs when running ./applyPatches.sh. All of the Bukkit patches apply cleanly, however the Craftbukkit patches do not. Using source from a freshly run BuildTools.jar, I get the following errors: (call "." the directory where the BuildTools.jar is located)

When using ./CraftBukkit in the init script, when the applyPatches.sh begins to patch CraftBukkit, I get the folllowing:

cannot apply patches to build/CraftBukkit: you have unstaged changes. U src/main/java/net/minecraft/server/EntityHuman.java U src/main/java/net/minecraft/server/EntityInsentient.java U src/main/java/net/minecraft/server/MobSpawnerAbstract.java U src/main/java/net/minecraft/server/SpawnerCreature.java U src/main/java/net/minecraft/server/World.java cannot apply patches to build/CraftBukkit: your index contains uncommitted changes. U src/main/java/net/minecraft/server/EntityHuman.java U src/main/java/net/minecraft/server/EntityInsentient.java U src/main/java/net/minecraft/server/MobSpawnerAbstract.java U src/main/java/net/minecraft/server/SpawnerCreature.java U src/main/java/net/minecraft/server/World.java M src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java Please commit or stash them.

When using ./Spigot/CraftBukkit in the init script, applyPatches.sh outputs the following when trying to patch Craftbukkit:

Cloning into 'build/CraftBukkit'... done. Resetting build/CraftBukkit to base/CraftBukkit... error: Could not remove config section 'remote.upstream' HEAD is now at d41a259 CraftBukkit $ Sun Feb 15 19:01:46 EST 2015 Applying patches to build/CraftBukkit... Resolve operation not in progress, we are not resuming. Applying: Import necessary NMS classes Applying: Implement the affectsSpawning API Applying: Add methods for working with arrows stuck in living entities Applying: Make AsyncPlayerPreLoginEvent more versatile fatal: sha1 information is lacking or useless (src/main/java/net/minecraft/server/ThreadPlayerLookupUUID.java). Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge. Patch failed at 0004 Make AsyncPlayerPreLoginEvent more versatile The copy of the patch that failed is found in: /home/kevin/SportBukkit/build/CraftBukkit/.git/rebase-apply/patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". Something did not apply cleanly to build/CraftBukkit. Please review above details and finish the apply then save the changes with rebuildPatches.sh

Note that in both cases, all Bukkit patches apply cleanly. Is this an issue with SportBukkit or am I missing an obvious direction?

jedediah commented 9 years ago

@twizmwazin the SB patches are based on a slightly old CB. The commit before the $ one should be this:

https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/commits/15e81cf551facaee9e808b598655a6cf1274ffb1

I think you can checkout that commit in the /CraftBukkit repo and run BuildTools.jar --dont-update and you will end up with the right $ commit on the patched branch.

We still haven't figured out the best way to deal with all this in the build process.

twizmwazin commented 9 years ago

@jedediah When checking out 15e81cf551facaee9e808b598655a6cf1274ffb1 SPIGOT-449: Fix the wrong caller being used in chain execute commands of a cloned CB repo, and then running CB's applyPatches.sh and using that as the argument for init.sh, I end up with the following:

fatal: sha1 information is lacking or useless (src/main/java/net/minecraft/server/EntityHuman.java). Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge. Patch failed at 0002 Implement the affectsSpawning API

Having BuildTools.jar do basically the same thing yields the same error.

I don't have much experience to speak from for the build process, but perhaps you could modify Spigot's BuildTools or write an equivalent script to suit your needs.

jedediah commented 9 years ago

You have to commit the patched sources to the CB repo as well. BuildTools.jar normally does that. If you want to do it manually, I think you can just add src/main/java/net and commit that.

twizmwazin commented 9 years ago

@jedediah Thanks, finally got patches to apply cleanly and compiled.

Edit: After messing around with SportBukkit, it seems that that your patching system is a bit odd compared to theirs. Perhaps adopting a system more like Spigot's will help allow for easier/automatic building, keeping up-to-date with the latest CraftBukkit changes.