Gradle java plugin

Hi,
I am developing custom gradle java plugin.In which I am using jar build with gradle in my plugin script.That jar depends on so many other dependencies.When i compiled my source plugin it is compiling very well but if i use my plugin in the consumer script it is failing by giving NoClassDefFoundError for the dependency from plugin jar build files and exception is as follows:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:hiveUnitGradlePlugin’.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
Caused by: java.lang.NoClassDefFoundError: com/datametica/hiveunit/HiveUnit
at org.datametica.gradle.HiveUnitTask.hiveUnitTasks(HiveUnitTask.java:19)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)

plugin’s build.gradle file:

apply plugin: 'java’
apply plugin: 'maven’
apply plugin: 'maven-publish’
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile gradleApi()
compile 'com.datametica.hiveunit:HiveUnit:0.0.1-SNAPSHOT’
testCompile ‘junit:junit:4.11’
}
publishing {
publications {
maven(MavenPublication) {
groupId 'org.datametica.gradle’
artifactId 'hiveUnitGradlePlugin’
version '1.0-SNAPSHOT’
artifact jar
from components.java
}
}
}

consumer build.gradle file:

apply plugin: 'java’
apply plugin: 'hiveUnitGradlePlugin’
apply plugin: ‘maven’

buildscript {
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
classpath group:‘org.datametica.gradle’,name:‘hiveUnitGradlePlugin’,version:‘1.0-SNAPSHOT’
}
}
task hiveUnitGradlePlugin(type: org.datametica.gradle.HiveUnitTask) {
hiveUnitPlugin.huFilePath ="$huFilePath"
}

Hi Guys,
I got solutions to my issue i did following changes my plugin build.gradle file :smile: pply plugin: 'java’
apply plugin: 'maven’
apply plugin: 'maven-publish’
repositories {
mavenCentral()
mavenLocal()
jcenter()
}
dependencies {
compile gradleApi()
compile group:‘com.datametica.hiveunit’,name:‘hive_unit’,version:'1.0-SNAPSHOT’
testCompile ‘junit:junit:4.11’
}
publishing {
publications {
maven(MavenPublication) {
groupId 'org.datametica.gradle’
artifactId 'hiveUnitGradlePlugin’
version '1.0-SNAPSHOT’
from components.java
}
}
}
my contributor gradle file:
apply plugin: 'java’
apply plugin: 'hiveUnitGradlePlugin’
apply plugin: ‘maven’

buildscript {
repositories {
mavenCentral()
mavenLocal()
jcenter()
}
dependencies {
classpath group:‘org.datametica.gradle’,name:‘hiveUnitGradlePlugin’,version:‘1.0-SNAPSHOT’
/classpath group:‘com.datametica.hiveunit’,name:‘hive_unit’,version:‘1.0-SNAPSHOT’/
}
}
repositories {
mavenCentral()
mavenLocal()
}
task hiveUnitGradlePlugin(type: org.datametica.gradle.HiveUnitTask) {
hiveUnitPlugin.huFilePath ="$huFilePath"
}
task showMeCache << {
configurations.compile.each { println it }
}

actually we have to publish plugin through our plugin gradle file and same we have to look for in our consumer gradle file