2015-04-30 2 views
0

Как я мог бы написать задачу Maven Javah в gradle.I есть ниже POM файла, и мне нужен тайный его в Gradle, но я застрял, как я мог бы написать задачу Javah в GradleНаписать Maven javah задачи в 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> 

ответ

0

Очень грубо, но достаточно, чтобы вы начали, я предполагаю, что 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' 
}