Posted February 13, 20178 yr I'm trying to make a custom library for my mods to share code from. It seemed so simple but now I'm getting frustrated. How might I go about doing this? I was trying to edit my build.gradle file to add a dependency, only to be frustrated that it wasn't working.
February 13, 20178 yr I've tried creating a maven repository on my computer and referencing it using this code in my build.gradle: repositories { maven { name = "OwlCore Repository" url = "file://C:\\Maven\\Repository" } } ... dependencies { compile "wiseowl5.owlcore:owlcore:1.11-1.0.0:deobf" } Then I ran the gradle task dependencies (wasn't sure what else to run) and refreshed gradle. My library isn't appearing however, I'm probably doing this WAY wrong, but I couldn't find very much resources on this topic.
February 13, 20178 yr If by that you mean running the command mvn install:install-file with the arguments Dfile, DgroupId, etc then yes I have. Sorry, I just started using maven repos today.
February 13, 20178 yr Yes, I'm using gradle in my mod, but I'm using maven for my repo, is that wrong?
February 13, 20178 yr I think it is the repository one, I used this as a reference. http://stackoverflow.com/a/29261502/2403251 I downloaded Maven from here. https://maven.apache.org/install.html Is that the wrong one? There is only one download that I can see.
February 13, 20178 yr When I click on the dependencies task in IntelliJ it finds my library (it says successful in the log below), it just doesn't appear in my External Libraries in IntelliJ. Is there something else I should be doing to get it to be usable? 3:34:20 PM: Executing external task 'dependencies'... :dependencies ------------------------------------------------------------ Root project ------------------------------------------------------------ apiCompile - Dependencies for source set 'api'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 apiCompileClasspath - Compile classpath for source set 'api'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 apiCompileOnly - Compile dependencies for source set 'api'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 apiRuntime - Runtime dependencies for source set 'api'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 archives - Configuration for archive artifacts. No dependencies compile - Dependencies for source set 'main'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 compileClasspath - Compile classpath for source set 'main'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 compileOnly - Compile dependencies for source set 'main'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 default - Configuration for default artifacts. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 deobfCompile No dependencies deobfProvided No dependencies forgeGradleFfiDeps No dependencies forgeGradleGradleStart No dependencies forgeGradleMc \--- net.minecraftforge:forgeSrc:1.11-13.19.1.2189 forgeGradleMcDeps +--- com.google.code.findbugs:jsr305:3.0.1 +--- com.mojang:netty:1.6 +--- oshi-project:oshi-core:1.1 | +--- net.java.dev.jna:jna:3.4.0 | \--- net.java.dev.jna:platform:3.4.0 +--- net.java.dev.jna:jna:3.4.0 +--- net.java.dev.jna:platform:3.4.0 +--- com.ibm.icu:icu4j-core-mojang:51.2 +--- net.sf.jopt-simple:jopt-simple:4.6 +--- io.netty:netty-all:4.0.23.Final +--- com.google.guava:guava:17.0 +--- org.apache.commons:commons-lang3:3.3.2 +--- commons-io:commons-io:2.4 +--- commons-codec:commons-codec:1.9 +--- net.java.jutils:jutils:1.0.0 +--- com.google.code.gson:gson:2.2.4 +--- com.mojang:authlib:1.5.24 | +--- com.google.code.findbugs:jsr305:2.0.1 -> 3.0.1 | +--- com.google.guava:guava:17.0 | +--- org.apache.logging.log4j:log4j-core:2.0-beta9 | | \--- org.apache.logging.log4j:log4j-api:2.0-beta9 | +--- commons-io:commons-io:2.4 | +--- org.apache.commons:commons-lang3:3.3.2 | +--- org.apache.logging.log4j:log4j-api:2.0-beta9 | +--- com.google.code.gson:gson:2.2.4 | \--- commons-codec:commons-codec:1.9 +--- com.mojang:realms:1.10.4 | +--- org.apache.httpcomponents:httpcore:4.3.2 | +--- org.apache.httpcomponents:httpclient:4.3.3 | | +--- org.apache.httpcomponents:httpcore:4.3.2 | | +--- commons-logging:commons-logging:1.1.3 | | \--- commons-codec:commons-codec:1.6 -> 1.9 | +--- org.apache.commons:commons-compress:1.8.1 | \--- commons-logging:commons-logging:1.1.3 +--- org.apache.commons:commons-compress:1.8.1 +--- org.apache.httpcomponents:httpclient:4.3.3 (*) +--- commons-logging:commons-logging:1.1.3 +--- org.apache.httpcomponents:httpcore:4.3.2 +--- it.unimi.dsi:fastutil:7.0.12_mojang +--- org.apache.logging.log4j:log4j-api:2.0-beta9 +--- org.apache.logging.log4j:log4j-core:2.0-beta9 (*) +--- net.minecraft:launchwrapper:1.12 | +--- org.ow2.asm:asm-debug-all:5.0.3 | +--- org.apache.logging.log4j:log4j-core:2.0-beta9 (*) | +--- net.sf.jopt-simple:jopt-simple:4.5 -> 4.6 | +--- org.lwjgl.lwjgl:lwjgl:2.9.1 -> 2.9.4-nightly-20150209 | | +--- org.lwjgl.lwjgl:lwjgl-platform:2.9.4-nightly-20150209 | | \--- net.java.jinput:jinput:2.0.5 | | +--- net.java.jutils:jutils:1.0.0 | | \--- net.java.jinput:jinput-platform:2.0.5 | \--- org.apache.logging.log4j:log4j-api:2.0-beta9 +--- jline:jline:2.13 | \--- org.fusesource.jansi:jansi:1.11 +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.1 +--- org.ow2.asm:asm-debug-all:5.0.3 +--- com.typesafe.akka:akka-actor_2.11:2.3.3 | +--- org.scala-lang:scala-library:2.11.1 | \--- com.typesafe:config:1.2.1 +--- com.typesafe:config:1.2.1 +--- org.scala-lang:scala-actors-migration_2.11:1.1.0 | +--- org.scala-lang:scala-library:2.11.0 -> 2.11.1 | +--- org.scala-lang:scala-actors:2.11.0 | | \--- org.scala-lang:scala-library:2.11.0 -> 2.11.1 | \--- org.scala-lang.plugins:scala-continuations-library_2.11:1.0.1 -> 1.0.2 | \--- org.scala-lang:scala-library:2.11.1 +--- org.scala-lang:scala-compiler:2.11.1 | +--- org.scala-lang:scala-library:2.11.1 | +--- org.scala-lang:scala-reflect:2.11.1 | | \--- org.scala-lang:scala-library:2.11.1 | +--- org.scala-lang.modules:scala-xml_2.11:1.0.2 | | \--- org.scala-lang:scala-library:2.11.1 | \--- org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1 | \--- org.scala-lang:scala-library:2.11.0 -> 2.11.1 +--- org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2 (*) +--- org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2 | +--- org.scala-lang:scala-compiler:2.11.1 (*) | \--- org.scala-lang:scala-library:2.11.1 +--- org.scala-lang:scala-library:2.11.1 +--- org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1 (*) +--- org.scala-lang:scala-reflect:2.11.1 (*) +--- org.scala-lang.modules:scala-swing_2.11:1.0.1 | \--- org.scala-lang:scala-library:2.11.0 -> 2.11.1 +--- org.scala-lang.modules:scala-xml_2.11:1.0.2 (*) +--- lzma:lzma:0.0.1 +--- net.sf.trove4j:trove4j:3.0.3 +--- com.paulscode:codecjorbis:20101023 | \--- com.paulscode:soundsystem:20120107 +--- com.paulscode:codecwav:20101023 | \--- com.paulscode:soundsystem:20120107 +--- com.paulscode:libraryjavasound:20101123 | \--- com.paulscode:soundsystem:20120107 +--- com.paulscode:librarylwjglopenal:20100824 | +--- com.paulscode:soundsystem:20120107 | \--- org.lwjgl.lwjgl:lwjgl:2.8.3 -> 2.9.4-nightly-20150209 (*) +--- com.paulscode:soundsystem:20120107 +--- net.java.jinput:jinput:2.0.5 (*) +--- org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209 (*) +--- org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209 | \--- org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209 (*) \--- java3d:vecmath:1.5.2 forgeGradleMcDepsClient +--- com.paulscode:codecjorbis:20101023 | \--- com.paulscode:soundsystem:20120107 +--- com.paulscode:codecwav:20101023 | \--- com.paulscode:soundsystem:20120107 +--- com.paulscode:libraryjavasound:20101123 | \--- com.paulscode:soundsystem:20120107 +--- com.paulscode:librarylwjglopenal:20100824 | +--- com.paulscode:soundsystem:20120107 | \--- org.lwjgl.lwjgl:lwjgl:2.8.3 -> 2.9.4-nightly-20150209 | +--- org.lwjgl.lwjgl:lwjgl-platform:2.9.4-nightly-20150209 | \--- net.java.jinput:jinput:2.0.5 | +--- net.java.jutils:jutils:1.0.0 | \--- net.java.jinput:jinput-platform:2.0.5 +--- com.paulscode:soundsystem:20120107 +--- net.java.jinput:jinput:2.0.5 (*) +--- org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209 (*) +--- org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209 | \--- org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209 (*) \--- java3d:vecmath:1.5.2 forgeGradleMcNatives +--- org.lwjgl.lwjgl:lwjgl-platform:2.9.4-nightly-20150209 \--- net.java.jinput:jinput-platform:2.0.5 forgeGradleMcpData \--- de.oceanlabs.mcp:mcp:1.11 forgeGradleMcpMappings \--- de.oceanlabs.mcp:mcp_snapshot:20170127-1.11 forgeGradleResolvedDeobfCompile No dependencies forgeGradleResovledDeobfProvided No dependencies forgeGradleUserDevPackage \--- net.minecraftforge:forge:1.11-13.19.1.2189 provided No dependencies runtime - Runtime dependencies for source set 'main'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 testCompile - Dependencies for source set 'test'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 testCompileClasspath - Compile classpath for source set 'test'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 testCompileOnly - Compile dependencies for source set 'test'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 testRuntime - Runtime dependencies for source set 'test'. \--- wiseowl5.owlcore:owlcore:1.11-1.0.0 BUILD SUCCESSFUL Total time: 2.388 secs 3:34:23 PM: External task execution finished 'dependencies'. Edited February 13, 20178 yr by Awesome_Spider
February 14, 20178 yr I got the dependence y in forge worked out now, now all I need is access to my library in my code.
February 14, 20178 yr Here is the build.gradle for the lib: buildscript { repositories { jcenter() maven { url = "http://files.minecraftforge.net/maven" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' } } apply plugin: 'net.minecraftforge.gradle.forge' //Only edit below this line, the above code adds and enables the nessasary things for Forge to be setup. version = "1.11-1.0.0" group= "wiseowl5.owlcore" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "owlcore" sourceCompatibility = targetCompatibility = "1.6" // Need this here so eclipse task generates correctly. compileJava { sourceCompatibility = targetCompatibility = "1.6" } minecraft { version = "1.11-13.19.1.2189" runDir = "run" // the mappings can be changed at any time, and must be in the following format. // snapshot_YYYYMMDD snapshot are built nightly. // stable_# stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not allways work. // simply re-run your setup task after changing the mappings to update your workspace. mappings = "snapshot_20170127" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. } dependencies { // 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 // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime. //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev' // the deobf configurations: 'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided, // except that these dependencies get remapped to your current MCP mappings //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev' //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev' // 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' } } idea { module { inheritOutputDirs = true } }
February 15, 20178 yr ok at the top put apply plugin: 'maven-publish' if you dont need the api stuff you can remove it jar { } //for the api task apiJar(type: Jar) { baseName "publishing-api" from sourceSets.main.output include '**/api/**/*' classifier = "api" } publishing { publications { impl(MavenPublication) { groupId 'org.gradle.sample' artifactId 'project2' version '2' from components.java } //for the api api(MavenPublication) { groupId 'org.gradle.sample' artifactId 'project2' version '2' artifact apiJar } } } publishing { repositories { maven { // change to point to your repo, e.g. http://my.org/repo url "$buildDir/repo" } } } ones you have done that click refresh all gradle projects and a new task folder will appear see pic
February 16, 20178 yr I tried that and it gave me an error. Error:(3, 0) Could not find method jar() for arguments [build_848yu15mitzovn826g9z2l9b1$_run_closure1@6e302bcd] on root project '1.11' of type org.gradle.api.Project. Was I supposed to edit any of the strings? Here is my build.gradle: apply plugin: 'maven-publish' jar { } //for the api task apiJar(type: Jar) { baseName "publishing-api" from sourceSets.main.output include '**/api/**/*' classifier = "api" } publishing { publications { impl(MavenPublication) { groupId 'org.gradle.sample' artifactId 'project2' version '2' from components.java } //for the api api(MavenPublication) { groupId 'org.gradle.sample' artifactId 'project2' version '2' artifact apiJar } } } publishing { repositories { maven { // change to point to your repo, e.g. http://my.org/repo url "http://wiseowl5.github.io/maven/" } } } buildscript { repositories { jcenter() maven { url = "http://files.minecraftforge.net/maven" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' } } apply plugin: 'net.minecraftforge.gradle.forge' //Only edit below this line, the above code adds and enables the nessasary things for Forge to be setup. version = "1.11-1.0.0" group= "wiseowl5.owlcore" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "owlcore" sourceCompatibility = targetCompatibility = "1.6" // Need this here so eclipse task generates correctly. compileJava { sourceCompatibility = targetCompatibility = "1.6" } minecraft { version = "1.11-13.19.1.2189" runDir = "run" // the mappings can be changed at any time, and must be in the following format. // snapshot_YYYYMMDD snapshot are built nightly. // stable_# stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not allways work. // simply re-run your setup task after changing the mappings to update your workspace. mappings = "snapshot_20170127" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. } dependencies { // 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 // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime. //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev' // the deobf configurations: 'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided, // except that these dependencies get remapped to your current MCP mappings //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev' //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev' // 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' } } idea { module { inheritOutputDirs = true } } Edited February 16, 20178 yr by Awesome_Spider
February 16, 20178 yr Ok. My library publishes to my maven repo, but when I try to add it as a dependency in my mod's build.gradle, it still doesn't show up. Any ideas?
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.