将Maven javah任务写入gradle

将Maven javah任务写入gradle,gradle,build.gradle,javah,Gradle,Build.gradle,Javah,如何将Maven Java任务写入gradle。我有下面的POM文件,我需要将其转换为gradle,但我被困在如何将Java任务写入gradle中 <executions> <execution> <id>javah</id> <phase>genera

如何将Maven Java任务写入gradle。我有下面的POM文件,我需要将其转换为gradle,但我被困在如何将Java任务写入gradle中

 <executions>
                            <execution>
                                <id>javah</id>
                                <phase>generate-sources</phase>
                                <configuration>
                                    <javahOS>linux</javahOS>
                                    <javahProvider>default</javahProvider>
                                    <javahOutputDirectory>${project.build.directory}/custom-javah</javahOutputDirectory>
                                    <workingDirectory>${basedir}</workingDirectory>
                                    <javahOutputFileName>MegJniWrapper.h</javahOutputFileName>
                                    <javahClassNames>
                                        <javahClassName>com.abcdefgh.engine.common.meg.MegJniWrapper</javahClassName>
                                    </javahClassNames>
                                </configuration>
                                <goals>
                                    <goal>javah</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>

爪哇
生成源
linux
违约
${project.build.directory}/customjavah
${basedir}
MegJniWrapper.h
com.abcdefgh.engine.common.meg.MegJniWrapper
爪哇

非常粗糙,但足以让您开始,我假设javah生成代码

ext {
    // define directories here
    // ex. genSrcDir
}
configurations {
        javah
}

// here you want to include it in your sourceset so that if compileJava gets call your generated code will also compile (don't know if that applies to javah)
// ex. sourceSets.main.java.srcDir genSrcDir

dependencies {
  // put javah dependencies here and use javah as configuration
  // ex. javah dependency.jar
}

task javah () {
    description = 'javah task'

    // put optional inputs.dir and outputs.dir here so gradle can skip if nothing changes

    doLast {
      // javaexec here to call the javah
    }
}

compileJava.dependsOn javah

task generateSource (dependsOn: javah) {
    description = 'Javah'
}