Realistic Terrain Generation

Realistic Terrain Generation

3M Downloads

TODO: Re-Organise third-party Dependencies (APIs)

whichonespink44 opened this issue ยท 12 comments

commented

From @srs-bsns on March 29, 2016 6:23

We should set up a better dependency chain where we no longer ship third-party APIs with the source. Some mods, such as BoP, which have maven repos, can be added as deps in the gradle build script, so that their APIs are downloaded when setting up a dev environment or building, and therefore don't need to be bundled. This will make our source tree more light-weight and easier to maintain, and it will also be much easier to update to newer third-party API versions.

There will still be problems on what to do with mods like Enhanced Biomes, but there may still be easier ways of making their classes available without shipping their source along with ours.

Copied from original issue: Team-RTG/1.9-Realistic-Terrain-Generation#37

commented

Not relevant anymore

commented

From @topisani on April 13, 2016 21:10

yeah, we are using BOP from maven, and we will still need that. The maven repo should be added with a different system than directly into build.gradle

commented

From @srs-bsns on April 13, 2016 21:14

The maven repo should be added with a different system than directly into build.gradle

Yeah, I'm still thinking on the best way to do that, and also still add the dependencies, and do it all from a central location, so that all we need to do is modify a version string in once place, and everything gets updated.

commented

From @topisani on March 29, 2016 7:23

git submodules may be an option too, but overall i definately aproove of this

commented

For mods like Enhanced Biomes, which don't have an API but we still need to access to its world gen (and thus its full source), could we create our own maven repos and just pull it down from there during build?

Personally, I don't think this is a huge concern for the 1.7.10 version... sure, packaging the full EB source in src/api is less than ideal, but it works. Having said that, it does come with some disadvantages, mainly that we have to 'include' EB when we're testing locally, which might cause problems that otherwise wouldn't be there, or hide bugs that would show up otherwise, etc.

commented

From @topisani on March 29, 2016 9:10

bop does not work when the source is included in the api folder, but it does work in the libs folder, so it would probably work with maven too

commented

Including a dev JAR in the libs folder allows you to load the mod locally when testing, but it doesn't allow you to reference code from that mod and compile without errors, does it?

commented

From @topisani on March 29, 2016 9:19

yep it does, i currently include the BOP jar, but not the source in the api folder. That works in every way

commented

And what about when you remove the BOP jar? Can you still compile?

commented

From @topisani on March 29, 2016 9:31

nope, it is correctly loaded as a dependency

commented

From @topisani on March 29, 2016 9:44

its also in ideas list of dependencies from gradle

commented

From @srs-bsns on April 13, 2016 21:7

@Team-RTG/everyone
Will this even need to be done considering Topisani's additions to RTG2? Do we even need to import APIs anymore?