All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cc.catalysts.gradle.plugins.gwt.gwtp.GwtpPlugin.groovy Maven / Gradle / Ivy

The newest version!
package cc.catalysts.gradle.plugins.gwt.gwtp

import org.gradle.api.Project
import org.gradle.api.Plugin
import org.gradle.api.tasks.SourceSet

/**
 * @author Catalysts GmbH, www.catalysts.cc
 */
class GwtpPlugin implements Plugin {

    void apply(Project project) {

        if(project.tasks.findByPath('cleanTarget') == null) {
            project.task('cleanTarget') << {
                new File(project.projectDir.absolutePath + '/target').deleteDir()
            }
            project.tasks.clean.dependsOn('cleanTarget');
        }

        if(project.tasks.findByPath('createTarget') == null) {
            project.task('createTarget') << {
                new File(project.projectDir.absolutePath + '/target/generated-sources/gwtp').mkdirs();
            }
            project.tasks.compileJava.dependsOn('createTarget');
        }

        project.convention.plugins.java.sourceSets.all { SourceSet sourceSet ->
            if(!sourceSet.name.toLowerCase().contains("test")) {
                sourceSet.java { srcDir 'target/generated-sources/gwtp' }
            }
        }

        project.jar {
            from project.projectDir.absolutePath + '/target/generated-sources/gwtp'
        }

        project.compileJava {
            options.compilerArgs = [
                    '-processor', 'com.gwtplatform.dispatch.annotation.processor.GenEventProcessor',
                    '-s', project.projectDir.absolutePath + '/target/generated-sources/gwtp'
            ]
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy