Posted September 18, 201411 yr I wondered if there was an easy way to add any gradle-like github mod to the dependecies of my mod. Let's say there is a github-repo at /author/repo, is there an easy way I can tell gradlew to always keep track of that repo/a specific branch/tag/release that gets cloned and added as a dependency to my mod? Doing it manually is really tedious sometimes... (downloading, building, copying into ./lib/, ...)
September 19, 201411 yr Use this gradle plugin ? https://github.com/bat-cha/gradle-plugin-git-dependencies Note: Untested. Seems pretty straight-forward according to their docs, though.
September 19, 201411 yr Author Status: Tested, and it gives me errors, specifically telling me that some .pom wasn't found on files.minecraft.net/.../....pom. Either I'm doing something wrong or it doesn't work straight forward. Can someone give/link an example that uses this already? PS * What went wrong: Execution failed for task ':MHFC:initGitDependencies'. > org.eclipse.jgit.api.errors.RefAlreadyExistsException: Ref master already exists * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Script: buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath 'org.batcha.gradle.plugins:git-dependencies:0.2' classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' } } apply plugin: 'forge' apply plugin: 'eclipse' apply plugin: 'git-dependencies' version = "1.0" group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "modid" sourceCompatibility = 1.7 targetCompatibility = 1.7 minecraft { version = "1.7.10-10.13.0.1180" runDir = "eclipse/assets" } dependencies { // // initGitDependencies -> clones locally = checkout // refreshGitDependencies -> refresh = pull compile('com.github.worldsender.mcanm:mcanm:0.0.101a_1710').ext.git = 'https://github.com/WorldSEnder/MCAnm' // you may put jars on which you depend on in ./libs // or you may define them like so.. //compile "some.group:artifact:version:classifier" //compile "some.group:artifact:version" // real examples //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env // for more info... // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html // http://www.gradle.org/docs/current/userguide/dependency_management.html } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } }
September 19, 201411 yr Author Doesn't seem to work because that doesn't even offer the options (only task added is "resolveGitDependencies")... Another (related) question: How can I apply a local plugin? Currently I am downloading it from maven but I think I found an alternative branch that resolves the issue but that isn't up at maven, so I would download it and build it manually and then apply the built file locally... how can I do this?
September 21, 201410 yr You'll probably need to clone the branch and build it, then, to apply locally: buildscript { //other Forge stuff dependencies { classpath fileTree(dir: '/path/to/folder/that/contains/the/jar', includes: ['local-built-git-dependencies-plugin.jar']) } } apply plugin 'forge' apply plugin 'git-dependencies'
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.