-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add target field to modpack builds #438
Add target field to modpack builds #438
Conversation
I pulled the test cases in first along with your other commits that didn't conflict. Can you rebase and resubmit this one? Thanks! |
51c484b
to
f66c3c9
Compare
Cleaned up the commits, should be a clean merge now. |
I tested this out myself and it's great! I wrote a small script to utilize this and automate downloading the resources on my server and it works fairly well. 👍 |
Thanks for giving it a try! Looking though this or again though I still see a ton of garbage commits. Is that just in my end or is it still messed up? I thought I had forced a push that would have cleaned it all up. |
I'm not too experienced with that particular sort of thing, but following this doc minus the squashing seems like it should do it. Of note, when I was merging the files from your feature branch into one of my branches there were some inconsistent indentations in the files but that might just be an artifact of the rebase not going right. edit: I took a stab at it in my fork and it seems like everything worked out, but I had to ensure that my fork's dev and master were up to speed. |
Hey @Indemnity83 and @EntranceJew I'll take responsibility for this. Essentially the PR branch is behind dev still. I had a storm of TravisCI commits that really should of been done on a separate branch, squashed and PR'd, but it didnt happen as it was during a time sensitive issue with the Technic team Can you rebase the PRs again? 😥 |
f66c3c9
to
58b6690
Compare
Squashed and rebased |
Requires migration. This adds the ability to designate the target of particular mods in a build as being either client, server or both (universal). Fix bug caused by removal of Minecraft MD5 hash
58b6690
to
dad2046
Compare
Doh, knew I should have run the tests before pushing. 0a5a2c7 caused one of the new tests to fail, I've corrected that and re-squashed :) |
Sorry its taken me so long to review. I really like the base of this. But before I merge the PR, I want to discuss this a bit more. There are a few things I would like to see before merging into the dev branch.
Thoughts? |
The reason that the API is filtered instead of just returning the target was so it wouldn't break the API. The launcher, and any other tool expects api/modpack/:slug/:build returns mods for the client. Maybe this was naive of the tools, but it is what it is at this point. My thought was that the api/modpack/:slug/:build endpoint would be deprecated in favor of api/modpack/:slug/:build/client and api/modpack/:slug/:build/server and an optional flag would be added separately (this goes into tagging). Adding a default target to the mod, 👍 Moving this into its own feature branch I'm indifferent to, either a feature branch on my fork, or a feature branch here its 6 of one and a half dozen of the other. In either place, the goal is to get it to a point where everybody is happy and it is merged into develop. |
…arget Whitespace corrections for modpack target.
It doesn't look like this PR is going to be merged and in the interest of cleaning up my fork in prep for a v0.8 PR I'm moving this branch in my repository and closing the PR. |
Related to (and possibly closes) #269 and #398
This change adds a target field to mods in a modpack build. The target is done at the modpack build level instead of the mod itself because there may be cases where a mod might be universal in some packs, and client only in others (NEI is an example). There are three possible targets:
The API is also updated to allow queries for either client or server mod lists. The changes are backward compatible in that a query against /api/modpack/:slug/:build will return all client mods (mods targeted as universal or client). The changes to the API allow the addition of the target parameter (client or server) api/modpack/:slug/:build/:target. api/modpack/:slug/:build and api/modpack/:slug/:build/client return identical results.
TODO: