返回顶部

收藏

使用Groovy AntBuilder生成EJB

更多
package com.sb.build.tool
/***
 * Builds a EJB Project into corresponding jar
 * @author sankarsan
 *
 */
class EJBBuilder {

    def ant = null
    EJBBuilder(ant){
        this.ant = ant;
    }
    /***
     * Builds a EJB Project given the project/EJB name
     * @param name
     * @return
     */
    def buildEJB(name)
    {
        def javacclasspath = ConfigManager.props["javac.classpath"]
        def jeeclasspath   = ConfigManager.props["j2ee.platform.classpath"]
        def classpath = javacclasspath+ConfigManager.props["classpath.seperator"]+jeeclasspath

        def projectroot = ConfigManager.props[name+ ".root"]

        def sourceroot = projectroot + ConfigManager.props["source.root"]
        def sourcedir =  sourceroot + ConfigManager.props["src.dir"]
        def confdir = sourceroot + ConfigManager.props["src.conf.dir"]

        def buildroot = projectroot + ConfigManager.props["build.dir"]
        def classdir  =  buildroot + ConfigManager.props["build.classes.dir"]
        def metainfdir  =  classdir + ConfigManager.props["build.metainf.dir"]

        def distdir   =  projectroot + ConfigManager.props["dist.dir"]

        println "Step1. Performing Clean for " + name + " EJB Project"

        ant.delete(dir:buildroot)
        ant.delete(dir:distdir)

        println "Step2. Creating directories"

        ant.mkdir(dir:buildroot)
        ant.mkdir(dir:classdir)
        ant.mkdir(dir:metainfdir)
        ant.mkdir(dir:distdir)

        println "Step3. Copy META-INF contents"

        ant.copy(todir: metainfdir) {
            fileset(dir : confdir);
        }

        println "Step4. Compiling Classes"

        ant.javac(
                    srcdir:sourcedir,
                    destdir:classdir,
                    classpath:classpath,
                    includeantruntime:false
                 )
        println "Step5. Creating EJB Jar"

        ant.jar(
                compress:true,
                jarfile:distdir + name + ".jar",
                manifest:metainfdir + "\\MANIFEST.MF"
               ){
               fileset(dir:classdir)
               }
        println "Build Completed For EJB Project " + name
    }
}

标签:groovy

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. TiuVe2 发表 2018-09-04 14:15:19 按钮条件逻辑配置化的可选技术方案
  2. 炒饭 发表 2015-11-25 03:20:12 用git布署网站的方法
  3. 炒饭 发表 2015-11-25 03:20:12 用git布署网站的方法
  4. 博主 发表 2018-04-25 06:46:00 Groovy Grape
  5. 博主 发表 2018-04-26 12:23:00 Groovy Ratpack
  6. 博主 发表 2018-04-26 12:23:00 Groovy Ratpack
  7. 博主 发表 2018-04-25 06:46:00 Groovy Grape
  8. 博主 发表 2018-02-07 09:05:17 IDEA 通过数据库生成 Nutz 实体类
  9. TiuVe2 发表 2018-01-06 13:23:06 使用 yaml+groovy 实现 Java 代码可配置化
  10. 博主 发表 2015-10-02 00:00:00 精通 Groovy
  11. 炒饭 发表 2015-11-25 03:20:12 用git布署网站的方法
  12. 炒饭 发表 2015-11-25 03:20:12 用git布署网站的方法