显示导航

365bet地区多项目构建

365bet地区了解如何在365bet地区应用程序中利用Gradle功能创建多项目构建

s塞尔吉奥·德尔阿莫

365bet地区版本 4.0.1

365bet地区培训

365bet地区培训由创建并积极维护365bet地区框架的人们开发和交付

入门

365bet地区在本指南中,您将从头开始创建一个多项目构建。我们将结合使用365bet地区应用程序,365bet地区插件和简单的Groovy Lib

您将需要什么

要完成本指南,您将需要以下内容

  • 花些时间在你手上

  • 体面的文本编辑器或IDE

  • 安装了JDK或更高版本JAVA首页适当配置

如何完成指南

要开始,请执行以下操作

要么

365bet地区指南存储库包含两个文件夹

  • 初始初始项目通常是一个简单的365bet地区应用程序,其中包含一些其他代码,可以帮助您快速入门

  • 完成一个完整的示例它是按照指南中介绍的步骤进行操作并将这些更改应用于文档的结果。初始

要完成指南,请转到初始

  • 光盘进入grails指南grails多项目构建初始

并按照下一节中的说明进行操作

您可以直接前往完成的例子如果你光盘进入grails指南grails多项目构建完成

编写申请

365bet地区365bet地区使用Gradle构建系统用于构建相关任务,例如编译运行测试和生成项目的二进制发行版

Gradle对多项目构建的强大支持是Gradle的独特卖点之一

Gradle中的一个多项目构建包含一个根项目和一个或多个子项目,这些子项目也可能具有子项目

总览

365bet地区我们将创建一个将365bet地区 App构建与网络365bet地区使用来配置365bet地区插件插入配置文件和普通的Groovy库

Grails多项目构建图

建立专案

创建根项目

mkdir多项目cd多项目

365bet地区使用创建365bet地区应用网络轮廓

multiproject mkdir应用程序multiproject cd应用程序multiproject应用程序grails grails创建应用程序配置文件web inplace在multiproject应用程序上创建的应用程序解决依赖关系请等待成功配置总时间secs grails退出multiproject应用程序cd

365bet地区使用创建365bet地区插件插入轮廓

multiproject mkdir插件multiproject cd插件multiproject插件grails grails创建应用程序配置文件插件inplace在multiproject插件上创建的应用程序解决依赖关系请等待成功配置总时间secs grails退出multiproject插件cd

创建Groovy库

多项目mkdir groovylib多项目cd groovylib多项目groovylib touch构建gradle

为Groovy Lib创建一个构建文件

groovylib构建gradle
插件ID'时髦'存储库jcenter依赖项实现'组织groovy groovy全部'
}

将Gradle文件移至Root Project

多项目mv应用gradle多项目mv应用gradlew蝙蝠多项目mv应用gradle属性多项目mv应用gradle

将项目添加到设置gradle

设置gradle
包括'应用程式'包括'插入'包括'Groovylib'

删除不必要的文件

清理插件文件夹

多项目rm插件gradlew多项目rm插件gradlew蝙蝠多项目rm插件grailsw蝙蝠多项目rm插件grailsw多项目rm插件grailsw蝙蝠多项目rm插件grails包装器jar多项目rm插件设置gradle多项目rm插件gradle属性多项目rm rf插件gradlew多项目rm插件gitignore

清理应用文件夹

多项目rm应用程序grailsw多项目rm应用程序grailsw蝙蝠多项目rm应用程序grails包装器jar多项目rm应用程序设置gradle多项目rm应用程序gitignore

项目依赖

我们要配置下一个依赖项

依存关系

应用依存关系

应用程式取决于插入您可以在依存关系诸如

应用程序构建gradle
依赖项编译项目'插入')
}

或搭配

应用程序构建gradle
grails插件编译项目'插入')
    }
}

插件依赖

插入取决于Groovylib

插件构建gradle
依赖项编译项目'Groovylib')
}

365bet地区您可以通过告诉IDE打开诸如IntelliJ IDEA之类的IDE来打开365bet地区多项目构建。多项目

导入项目后,您将看到诸如窗口

Grails多项目构建思想

多个项目中的代码

我们将向不同项目添加代码以验证多项目构建是否正常

代码依赖
应用程序grails应用程序控制器应用程序PersonController groovy
应用程式进口 演示RandomPersonService
进口 常规转换CompileStatic

静态编译
 人控制器RandomPersonService randomPersonService定义 指数渲染randomPersonService randomOciPersonName
插件grails应用程序服务演示RandomPersonService groovy
演示进口 常规转换CompileStatic

静态编译
 RandomPersonService {

    randomOciPersonName清单<人OCI人馆藏先洗人
演示进口 常规转换CompileStatic

静态编译
 休闲 {
    上市 静态的 最后 清单<'瑞安',
            '',
            '保罗',
            '索伦',
            '塞尔吉奥'
    ]
}

要验证我们的应用,我们使用Rest Client Builder 365bet地区插件将插件添加到我们的应用程式依存关系

应用程序构建gradle
测试编译"io micronaut micronaut http客户端"
app src集成测试groovy app PersonControllerSpec groovy
应用程式进口 演示休闲
进口 grails测试mixin集成集成
进口 365bet地区测试Spock一次
进口 io micronaut http HttpRequest
进口 io micronaut http客户端HttpClient
进口 只是自动清理
进口 spock lang共享
进口 spock lang规格

积分
 PersonControllerSpec 延伸规格共享
    自动清理HttpClient客户端之前
    虚空在里面的baseUrl"HTTP本地主机$服务器端口"
        这个 网址的baseUrl定义 ''() {
        什么时候:
        ''), )

        然后OCI人包含文本

保持建筑物干燥

应用程序构建gradle插件构建gradle您将看到很多重复项。要删除重复项,我们将添加一个ROOT建立gradle

建立gradle
buildscript存储库mavenLocal maven url"https repo grails org grails核心"依赖类路径"org grails grails gradle插件$grails版本"类路径"$assetPipelineVersion"类路径"org grails插件休眠"类路径"gradle插件com github erdi webdriver二进制文件webdriver二进制文件gradle插件"ext grails应用程序'应用程式'grails插件'插入'子项目项目布尔值365bet地区is365bet地区App grailsApps包含项目名称布尔值365bet地区is365bet地区Plugin grailsPlugins包含项目名称布尔值365bet地区is365bet地区Project is365bet地区App is365bet地区Plugin如果365bet地区插入:"日食"应用插入:"理念"

        如果365bet地区is365bet地区App适用插入:"战争"应用插入:"组织grails grails网站"应用插入:"组织grails grails gsp"应用插入:"与bertramlabs资产管道"应用插入:"与github erdi webdriver二进制文件"
        }

        如果365bet地区插入:"org grails grails插件"应用插入:"org grails grails插件发布""https repo grails org grails核心"Maven网址""内容includeVersionByRegex'\\', '.*', '内置快照'""编译"org springframework boot spring boot autoconfigure"编译"组织grails grails核心""org grails grails控制台"
        }

        如果365bet地区"org springframework boot spring boot devtools"编译"org springframework引导弹簧引导启动器执行器"编译"org springframework boot spring boot starter tomcat"编译"org grails grails依赖关系"编译"组织grails grails网络启动"编译""编译"org grails插件脚手架"编译""编译"组织休眠休眠核心决赛"编译"显微注射显微注射"轮廓"org grails个人资料网站"运行"org glassfish网站el impl b"运行"与h数据库h"运行"组织apache tomcat tomcat jdbc"运行"$assetPipelineVersion"测试编译"org grails grails gorm测试支持"测试编译"org grails grails网站测试支持"应用: "${rootProject projectDir}摇摇欲坠"
        }

        如果365bet地区is365bet地区Plugin依赖项配置文件"org grails个人资料插件"提供"org grails grails插件服务"提供"org grails grails插件域类"测试编译"org grails grails gorm测试支持"bootRun jvmArgs'始终启用Dspring输出和ANSI输出',
                    'noverify',
                    'XX TieredStopAtLevel',
                    ''如果365bet地区is365bet地区App webdriver二进制chromedriver"$chromeDriverVersion"geckodriver"$geckodriverVersion"具有类型测试系统属性的任务"吉布环境", 系统'吉布环境'"geb构建报告"报告文件"""webdriver chrome驱动程序", 系统'webdriver chrome驱动程序'"webdriver壁虎驱动", 系统'webdriver壁虎驱动')
            }
        }

        如果365bet地区is365bet地区Plugin如果您希望将此插件打包为独立应用程序,请启用启用bootJargrails发布TODO在此处提供值用户'用户'''githubSlug'富吧'许可证名称'阿帕奇'标题"我的插件"描述"完整的插件说明"开发商约翰多:"约翰·杜"portalUser""portalPassword""
            }
        }
    }
}

应用程式插入gradle文件真的很简单

应用程序构建gradle
"0.1""应用程式"依赖项testCompile"io micronaut micronaut http客户端"grails插件编译项目'插入')
    }
}
插件构建gradle
"0.1""插入"依赖项编译项目'Groovylib')
}

作为Gradle文件的功能

使构建保持干燥的另一种可能性是为不同的功能创建特定的Gradle文件

假设您在多项目构建的多个项目中进行了Geb测试

我们可以封装一组要运行的依赖项Geb测试多个浏览器.

摇摇欲坠
依赖项testCompile"org grails出生的插件"testRuntime"org seleniumhq硒硒铬驱动程序$硒版本"testRuntime"org seleniumhq selenium selenium firefox驱动程序$硒版本"测试编译"org seleniumhq selenium htmlunit驱动程序"testRuntime'净sourceforge htmlunit htmlunit'测试编译"org seleniumhq selenium selenium远程驱动程序$硒版本"测试编译"org seleniumhq硒api$硒版本"测试编译"org seleniumhq硒硒支持$硒版本"

}

然后,您可以将这些依赖项应用于特定项目

应用程序构建gradle
应用: "${rootProject projectDir}摇摇欲坠"

运行应用程序

运行应用

gradlew应用程序bootRun

运行测试

gradlew检查

您需要365bet地区帮助吗

OCI赞助了本指南的创建OCI提供了几种365bet地区服务:

免费咨询

OCI 365bet地区团队包括365bet地区联合创始人Jeff Scott Brown和Graeme Rocher检查我们的365bet地区课程并向发展和维护365bet地区的工程师学习

Grails OCI团队