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

com.saygoer.gradle.AppPlugin.groovy Maven / Gradle / Ivy

The newest version!
package com.saygoer.gradle

import com.saygoer.gradle.tasks.ActiveProfileTask
import com.saygoer.gradle.tasks.CombineExtJsTask
import com.saygoer.gradle.tasks.CombineFileTask
import com.saygoer.gradle.tasks.SQLTask
import org.gradle.api.Plugin
import org.gradle.api.Project

class AppPlugin implements Plugin {

    @Override
    void apply(Project project) {
        def taskGroup = 'app'

        //combine
        project.task('combine', type: CombineFileTask, group: 'build', description: 'Combine many JavaScript files into one') {}
        project.task('combineExtJs', type: CombineExtJsTask, group: taskGroup, description: 'Combine many EXTJS JavaScript files into one') {}

        //active
        project.task('activeProfile', type: ActiveProfileTask, group: 'build', description: 'spring profile ') {}
        project.task('activeAlpha', group: taskGroup, description: 'spring profile alpha ') {
            doLast { project.activeProfile.profile 'alpha'; ActiveProfileTask.activeProfile(project) }
        }
        project.task('activeBeta', group: taskGroup, description: 'spring profile beta ') {
            doLast { project.activeProfile.profile 'beta'; ActiveProfileTask.activeProfile(project) }
        }
        project.task('activeRelease', group: taskGroup, description: 'spring profile release ') {
            doLast { project.activeProfile.profile 'release'; ActiveProfileTask.activeProfile(project) }
        }

        //jar
        project.task('jarAlpha', dependsOn: [project.activeAlpha, project.jar], group: taskGroup, description: '') {}
        project.task('jarBeta', dependsOn: [project.activeBeta, project.jar], group: taskGroup, description: '') {
            doLast { project.activeAlpha.execute() }
        }
        project.task('jarRelease', dependsOn: [project.activeRelease, project.jar], group: taskGroup, description: '') {
            doLast { project.activeAlpha.execute() }
        }

        project.jar.mustRunAfter project.activeAlpha, project.activeBeta, project.activeRelease

        //war
        project.task('warAlpha', dependsOn: [project.activeAlpha, project.war], group: taskGroup, description: '') {
        }
        project.task('warBeta', dependsOn: [project.activeBeta, project.war], group: taskGroup, description: '') {
            doLast { project.activeAlpha.execute() }
        }
        project.task('warRelease', dependsOn: [project.activeRelease, project.war], group: taskGroup, description: '') {
            doLast { project.activeAlpha.execute() }
        }

        project.war.mustRunAfter project.activeAlpha, project.activeBeta, project.activeRelease

        //run
        try {
            project.task('bootRunAlpha', dependsOn: [project.activeAlpha, project.bootRun], group: taskGroup, description: '')
            project.bootRun.mustRunAfter project.activeAlpha
        } catch (ignored) {
        }

        //sql
        project.task('sql', type: SQLTask, group: 'build', description: '') {}
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy