ofbiz16的Gradle官方说明

从Ant到Gradle


建议精读原文: https://cwiki.apache.org/confluence/display/OFBIZ/From+Ant+to+Gradle


创建者雅克·勒鲁

如果你是新来的OFBiz

或来自使用Ant建筑的OFBiz版本,现在想要使用Gradle这里更新的版本是您正在寻找的文档
分步指南

Gradle文档
ApacheOFBiz®
系统要求
安全
快速开始
准备OFBiz:
开始OFBiz:
通过浏览器访问OFBiz:
构建系统语法
操作系统语法
Gradle中的任务类型
标准任务示例
OFBiz服务器任务示例
示例混合任务(标准和OFBiz服务器)
快速参考
帮助任务
列出OFBiz服务器命令
列出构建任务
列出构建项目
Gradle构建系统帮助
服务器命令任务
开始OFBiz
关闭OFBiz
获取OFBiz状态
强制OFBiz关闭
在远程调试模式下启动OFBiz
在不同的端口上启动OFBiz
在后台启动OFBiz
数据加载任务
加载默认OFBiz数据
加载种子数据
加载ext数据
加载ext测试数据
从实体文件加载数据
创建新租户
加载特定租户的数据
测试任务
执行所有单元测试
执行所有集成测试
执行集成测试用例
在调试模式下执行集成测试用例
执行集成测试套件
在调试模式下执行集成测试套件
其他任务
启动Gradle的图形用户界面
在干净的系统上运行所有测试
清除所有生成的工件
刷新生成的工件
创建管理用户帐户
使用Xlint输出编译Java
运行OWASP工具以标识依赖漏洞(CVE)
为OFBiz设置eclipse项目
OFBiz插件系统
自动拉出(下载并安装)插件
安装插件
卸载插件
删除插件
创建新插件
将插件推送到存储库
有用的提示
类Unix系统上的Gradle制表完成:
加密通知
相关文章
Gradle插件,可用于改进OFBiz代码
分步指南
虽然它是CleanAll Gradle任务的一部分,但您可能对临时cleanAnt任务感兴趣,该任务清除Ant生成的旧工件。
如果你曾经运行过一个下载 - * Ant目标(download-PG-JDBC,download-activemq,download-mySQL-JDBC),那些已经删除。
见  OFBiz的-7793 - 添加下载定义常用的开源关系数据库建立的的gradle司机休息  ,如果有兴趣的更多详细信息
如果你使用自己的自定义libs(jar)由几个自己的组件共享,你可以把这些libs在lib文件夹下的OFBiz根文件夹下。
你会发现一个README有更多的细节。您可能还读  OFBiz的-7910 - 提高组件模板(S)与摇篮解决方案正常工作休息  的历史原因。
它清楚地记录在README.MD和下面,但你可能有兴趣知道调试端口现在是标准的5005,而不是以前的OFBiz特定的8091
如果你有兴趣通过在Ant来摇篮迁移的背景下进行的所有更改,请检查  OFBiz的,7534 - 迁移的OFBiz来自Apache Ant来构建摇篮系统关闭 。这是一个在制品等方面还存在一些小的  悬而未决的问题(见子任务那里)


Gradle文档
下面的文档集团是HTML进口的转换README.MD到HTML通过Pandoc使用此命令行的本地根文件夹
pandoc README.md -s -o tools/documentation/README.md.html
下面是README.md.html在您正在阅读下面的资料库

ApacheOFBiz®
欢迎阿帕奇OFBiz®!一个强大的顶级Apache软件项目。OFBiz是一个用Java编写的企业资源规划(ERP)系统,它拥有大量的图书馆,实体,服务和功能来运行业务的所有方面。
有关OFBiz的更多详细信息,请访问OFBiz文档页面:
OFBiz文档
OFBiz许可
系统要求
运行OFBiz的唯一要求是在您的系统上安装Java开发工具包(JDK)版本8(不仅仅是JRE,而是完整的JDK),您可以从以下链接下载它。
JDK下载
注:如果您使用的是Eclipse,确保运行相应的Eclipse命令gradlew eclipse在Eclipse中创建项目之前。此命令将通过创建classpath和.project文件,为具有正确的类路径和设置的Eclipse准备OFBiz。
安全
您可以信任OFBiz项目管理委员会成员和提交者尽其所能保持OFBiz安全从外部漏洞,并修复漏洞,只要知道它们。尽管做了这些努力,如果你发现并且想报告安全问题,请报告在:security @ ofbiz.apache.org,然后在公开论坛上公开他们。
注:请务必阅读本Wiki页面,如果你曾经计划使用RMI,JNDI,JMX或春的OFBiz不使用开箱(开箱即用)也许其他的Java类:臭名昭著的Java序列化漏洞
你可以找到关于在ofbiz安全的详细信息保持OFBiz的安全
快速开始
要快速安装和启动OFBiz,请按照以下说明从命令行在OFBiz顶级目录(文件夹)
准备OFBiz:
注:根据您的网络连接速度,这可能需要很长的时间这一步,如果您使用的OFBiz首次,因为它需要下载所有的依赖关系来完成。所以请耐心等待!
MS Windows: gradlew cleanAll loadDefault
类Unix操作系统: ./gradlew cleanAll loadDefault
开始OFBiz:
MS Windows: gradlew ofbiz
类Unix操作系统: ./gradlew ofbiz
通过浏览器访问OFBiz:
订单后台
会计后台
管理员界面
您可以与用户登录管理员和密码ofbiz登录。
注意:默认配置使用嵌入式Java数据库(Apache Derby的)和如ApacheTomcat®,Apache Geronimo的(事务管理器)等嵌入式应用服务器组件
构建系统语法
所有构建任务正在使用的执行摇篮建立被嵌入在OFBiz的系统。要执行构建任务,请转到OFBiz顶级目录(文件夹)并从中执行任务。
操作系统语法
任务的语法在Windows和类Unix系统之间略有不同
窗户:gradlew <tasks-in-here>
Unix类:./gradlew <tasks-in-here>
对于这个文件的剩余部分,我们将使用Windows语法,如果你是一个类Unix系统上,你需要添加./到gradlew
Gradle中的任务类型
在Gradle中为OFBiz设计了两种类型的任务:
标准的任务:要执行一般标准摇篮任务
OFBiz的服务器任务:要执行的OFBiz启动命令。这些任务从以下字词之一开始:
的ofbiz:标准服务器的命令
ofbizDebug:远程调试模式下运行服务器命令
ofbizBackground ; 服务器命令在后台分叉进程中运行
提示:
OFBiz的服务器命令要求“引用”的命令。例如:gradlew "ofbiz --help"
可以通过写入任务名称中每个单词的第一个字母来使用任务名称的快捷方式。但是,您不能使用OFBiz服务器任务的快捷方式。例如:gradlew loadAdminUserLogin -PuserLoginId=myadmin=gradlew lAUL -PuserLoginId=myadmin
标准任务示例
gradlew build
gradlew cleanAll loadDefault testIntegration
OFBiz服务器任务示例
gradlew "ofbiz --help"
gradlew "ofbizDebug --test"
gradlew "ofbizBackground --start --portoffset 10000"
gradlew "ofbiz --shutdown --portoffset 10000"
gradlew ofbiz (默认为--start)
示例混合任务(标准和OFBiz服务器)
gradlew cleanAll loadDefault "ofbiz --start"
快速参考
您可以使用以下常见任务列表作为控制系统的快速参考。本文档使用Windows任务语法,如果你是一个类Unix系统上,你需要添加./到gradlew即./gradlew
帮助任务
列出OFBiz服务器命令
列出所有可用的命令来控制OFBiz服务器
gradlew "ofbiz --help"
列出构建任务
列出构建系统中的所有可用任务
gradlew tasks
列出构建项目
列出构建系统中的所有可用项目
gradlew projects
Gradle构建系统帮助
显示Gradle构建系统的用法和选项
gradlew --help
服务器命令任务
开始OFBiz
gradlew "ofbiz --start"
start是默认的服务器任务,所以这也工作:
gradlew ofbiz
关闭OFBiz
gradlew "ofbiz --shutdown"
获取OFBiz状态
gradlew "ofbiz --status"
强制OFBiz关闭
通过调用相应的操作系统kill命令终止所有运行的OFBiz服务器实例。如果--shutdown命令不起作用,请使用此命令强制OFBiz终止。通常这是在OFBiz中的数据加载或测试中需要的。
警告:使用此命令时要小心,因为强制终止可能导致不一致的状态/数据
gradlew terminateOfbiz
在远程调试模式下启动OFBiz
启动OFBiz的远程调试模式,并等待调试器或IDE来对端口连接5005
gradlew "ofbizDebug --start"
要么
gradlew ofbizDebug
在不同的端口上启动OFBiz
启动由参数-portoffset中提供的范围偏移的网络端口的OFBiz
gradlew "ofbiz --start --portoffset 10000"
在后台启动OFBiz
在后台启动的OFBiz通过它分叉到一个新的进程,将输出重定向到运行时间/日志/的console.log
gradlew "ofbizBackground --start"
要么
gradlew ofbizBackground
您还可以偏移端口,例如:
gradlew "ofbizBackground --start --portoffset 10000"
数据加载任务
OFBiz包含以下数据读取器类型:
种子:OFBiz的外部和种子数据-与源一起进行维护和每当系统部署更新更新
种子初始:OFBiz的外部和种子数据-用像其他种子数据源一起进行维护,但只有最初并没有更新加载当系统除了人工审查每行更新
演示:OFBiz的只有演示数据
EXT:外部一般数据(自定义)
EXT-测试:外部测试数据(自定义)
EXT-演示:外部演示数据(自定义)
您可以使用以下语法选择要传递哪些数据读取器:
gradlew "ofbiz --load-data readers=<readers-here-comma-separated>"
例:
gradlew "ofbiz --load-data readers=seed,seed-initial,ext,ext-demo"
加载默认OFBiz数据
加载默认数据集; 意味着初始加载通用OFBiz数据。可应用于开发,测试,演示等目的。请注意,执行此任务可能导致您的数据被覆盖在您选择的数据库中。在生产环境中小心使用。默认数据集由datasource使用read-data属性定义,后跟数据集的名称,放入'entityengine.xml'文件的datasource元素中。
gradlew loadDefault
要么
gradlew "ofbiz --load-data"
加载种子数据
只加载种子数据(不是seed-initial,demo,ext *或其他任何东西); 意味着在更新代码之后使用以重新加载种子数据,因为它通常与代码一起维护并且需要同步以用于操作
gradlew "ofbiz --load-data readers=seed"
加载ext数据
加载种子,种子初始和外部数据; 意味着手动/通用测试,开发或使用基于股票OFBiz的派生系统进行生产,其中ext数据基本上替换演示数据
gradlew "ofbiz --load-data readers=seed,seed-initial,ext"
加载ext测试数据
加载种子,种子初始,外部和外部测试数据; 意味着基于OFBiz股票的衍生系统的自动化测试
gradlew "ofbiz --load-data readers=seed,seed-initial,ext,ext-test"
从实体文件加载数据
从保存实体数据的XML文件加载数据。
gradlew "ofbiz --load-data file=foo/bar/FileNameHere.xml"
创建新租户
在您的环境中创建一个新租户,创建委托器,使用admin-user和密码加载初始数据(在general.properties中需要multitenant = Y)。将传递以下项目参数:
tenantId:mandatory
tenantName:可选,默认值为tenantId的值
domainName:可选,默认为org.apache.ofbiz
tenantReaders:可选,默认值为seed,seed-initial,demo
dbPlatform:可选,D(Derby),M(MySQL),O(Oracle),P(PostgreSQL)
dbIp:可选,数据库的IP地址
dbUser:可选,数据库的用户名
dbPassword:可选,数据库的密码
gradlew createTenant -PtenantId=mytenant
gradlew createTenant -PtenantId=mytenant -PtenantName="My Name" -PdomainName=com.example -PtenantReaders=seed,seed-initial,ext -PdbPlatform=M -PdbIp=127.0.0.1 -PdbUser=mydbuser -PdbPassword=mydbpass
如果成功运行,系统将创建一个新租户,具有:
delegator:default#$ {tenandId}(例如default#mytenant)
admin用户:$ {tenantId} -admin(例如mytenant-admin)
admin用户密码:ofbiz
加载特定租户的数据
在多租户环境中加载一个特定租户的数据。请注意,您必须在general.properties中设置multitenant = Y,并传递以下项目参数:
tenantId(mandatory)
tenantReaders(可选)
tenantComponent(可选)
gradlew loadTenant -PtenantId=mytenant
gradlew loadTenant -PtenantId=mytenant -PtenantReaders=seed,seed-initial,demo -PtenantComponent=base
测试任务
执行所有单元测试
gradlew test
执行所有集成测试
gradlew testIntegration
要么
gradlew 'ofbiz --test'
执行集成测试用例
运行测试用例,在这个例子中,componentsnet是“entity”,案例名称是“entity-tests”
gradlew "ofbiz --test component=entity --test case=entity-tests"
在调试模式下执行集成测试用例
侦听端口5005
gradlew "ofbizDebug --test component=entity --test case=entity-tests"
执行集成测试套件
gradlew "ofbiz --test component=widget --test suitename=org.apache.ofbiz.widget.test.WidgetMacroLibraryTests"
在调试模式下执行集成测试套件
侦听端口5005
gradlew "ofbizDebug --test component=widget --test suitename=org.apache.ofbiz.widget.test.WidgetMacroLibraryTests"
其他任务
启动Gradle的图形用户界面
这是Gradle非常方便的功能,它允许用户通过摇摆GUI与Gradle交互。您可以将常用命令保存在收藏夹列表中以便频繁重用。
gradlew --gui
在干净的系统上运行所有测试
gradlew cleanAll loadDefault testIntegration
清除所有生成的工件
gradlew cleanAll
刷新生成的工件
gradlew clean build
创建管理用户帐户
创建一个管理员用户,登录名为MyUserName,默认密码为“ofbiz”。首次登录时,OFBiz将请求更改默认密码
gradlew loadAdminUserLogin -PuserLoginId=MyUserName
使用Xlint输出编译Java
Xlint打印编译器检测到的所有警告的输出
gradlew -PXlint build
运行OWASP工具以标识依赖漏洞(CVE)
以下命令激活gradle插件(OWASP)并识别和报告OFBiz库依赖项中的已知漏洞(CVE)。此命令需要很长时间才能执行,因为它需要下载所有插件依赖关系,并且CVE标识过程也很耗时
gradlew -PenableOwasp dependencyCheck
为OFBiz设置eclipse项目
感谢一些gradle魔术,在eclipse设置OFBiz是非常容易。所有你需要的是执行一个命令,然后你可以导入项目到eclipse。该命令将生成必要的.classpath和的.project文件蚀。
gradlew eclipse
OFBiz插件系统
OFBiz通过插件提供了一种扩展机制。插件是驻留在specialpurpose目录中的标准OFBiz组件。插件可以手动添加或从maven存储库获取。管理插件的标准任务如下所示。
注:OFBiz的插件版本遵循语义版本2.0.0
自动拉出(下载并安装)插件
下载一个具有所有依赖关系(插件)的插件,并从依赖关系开始逐个安装它们,并以插件本身结束。
gradlew pullPlugin -PdependencyId="org.apache.ofbiz.plugin:myplugin:0.1.0"
如果插件驻留在自定义maven存储库(不是jcenter或localhost),那么您可以使用以下命令指定存储库:
gradlew pullPlugin -PrepoUrl="http://www.example.com/custom-maven" -PdependencyId="org.apache.ofbiz.plugin:myplugin:0.1.0"
如果您需要用户名和密码来访问自定义存储库:
gradlew pullPlugin -PrepoUrl="http://www.example.com/custom-maven" -PrepoUser=myuser -PrepoPassword=mypassword -PdependencyId="org.apache.ofbiz.plugin:myplugin:0.1.0"
安装插件
如果你有一个名为mycustomplugin的插件,并想要在OFBiz中安装它按照下面的说明:
如果插件已压缩,请解压缩
将提取的目录放入/ specialpurpose
执行以下命令
gradlew installPlugin -PpluginId=myplugin
上述命令实现以下​​:
将插件添加到/specialpurpose/component-load.xml
在插件的build.gradle文件中执行任务“install”(如果存在)
卸载插件
如果你有一个现有的插件叫做mycustomplugin,你想卸载运行下面的命令
gradlew uninstallPlugin -PpluginId=myplugin
上述命令实现以下​​:
在插件的build.gradle文件中执行任务“uninstall”(如果存在)
从/specialpurpose/component-load.xml中删除该插件
删除插件
呼叫uninstallPlugin在现有的插件,然后从文件系统中删除
gradlew removePlugin -PpluginId=myplugin
创建新插件
创建新插件。将传递以下项目参数:
pluginId:mandatory
pluginResourceName:可选,默认是pluginId的大写值
webappName:可选,默认值是pluginId的值
basePermission:可选,默认值为pluginId的UPPERCASE值
gradlew createPlugin -PpluginId=myplugin
gradlew createPlugin -PpluginId=myplugin -PpluginResourceName=MyPlugin -PwebappName=mypluginweb -PbasePermission=MYSECURITY
上述命令实现以下​​:
在/ specialpurpose / myplugin中创建一个新插件
将插件添加到/specialpurpose/component-load.xml
将插件推送到存储库
此任务将OFBiz插件发布到maven包中,然后将其上传到maven存储库。目前,推送仅限于localhost maven存储库(正在进行中)。要推送插件,将传递以下参数:
pluginId:mandatory
groupId:可选,默认为org.apache.ofbiz.plugin
pluginVersion:可选,默认为0.1.0-SNAPSHOT
pluginDescription:可选,默认为“发布OFBiz插件$ {pluginId}”
gradlew pushPlugin -PpluginId=myplugin
gradlew pushPlugin -PpluginId=mycompany -PpluginGroup=com.mycompany.ofbiz.plugin -PpluginVersion=1.2.3 -PpluginDescription="Introduce special functionality X"
有用的提示
类Unix系统上的Gradle制表完成:
要获得选项卡完成(通过按Tab键自动完成gradle命令),您可以从以下链接下载脚本,并将其放置在系统的相应位置。
Gradle标签完成
例如,在基于debian的系统上,可以使用以下命令:
sudo curl -L -s https://gist.github.com/nolanlawson/8694399/raw/gradle-tab-completion.bash -o /etc/bash_completion.d/gradle-tab-completion.bash
加密通知
此分发包括加密软件。您目前居住的国家可能对加密软件的进口,拥有,使用和/或再出口到另一个国家有限制。在使用任何加密软件之前,请检查您所在国家有关加密软件的导入,拥有或使用和重新导出的法律,法规和政策,以确定是否允许。见http://www.wassenaar.org/以获取更多信息。
美国政府商业局,工业和安全局(BIS)已将该软件分类为出口商品控制号(ECCN)5D002.C.1,其中包括使用或执行具有不对称算法的加密功能的信息安全软件。此Apache软件基金会分发的形式和方式使其有资格在目标代码和源代码的许可证异常ENC技术软件无限制(TSU)异常(见BIS导出管理条例,第740.13节)下导出。
以下提供了所包含的加密软件的更多详细信息:
OFBiz中的各种类(包括DesCrypt,HashCrypt和BlowFishCrypt)使用来自Sun Java JDK API的库,包括java.security。*和javax.crypto。*(JCE,Java Cryptography Extensions API)
其他类,如HttpClient和各种相关的类使用JSSE(Java安全套接字扩展)API

相关文章
Gradle插件,可用于改进OFBiz代码
风格
https://docs.gradle.org/current/userguide/checkstyle_plugin.html

错误
https://docs.gradle.org/current/userguide/findbugs_plugin.html

更好的代码
https://docs.gradle.org/current/ userguide / pmd_plugin.html
https://docs.gradle.org/current/userguide/jdepend_plugin.html
https://docs.gradle.org/current/userguide/codenarc_plugin.html

测试覆盖率
https://plugins.gradle.org /plugin/org.sonarqube
https://docs.gradle.org/current/userguide/jacoco_plugin.html

猜你喜欢

转载自784838898.iteye.com/blog/2351377
今日推荐