派兔Pi2文件传输(Netty应用三)

前言

派兔Pi2文件传输,是netty应用三篇的最后一篇,基于第二篇的pisces2-m网络通信功能和Eclipse 4 RCP(E4)实现的可视化桌面端程序。

架构设计

架构设计主要分为两个部分,核心的文件传输功能的架构设计,和RCP 的架构设计。

文件传输的设计

由于是基于pisces2-m的bundle-v0.1版本 开发的RCP bundle,架构没变,详情请查阅:Pisces2-m大量文件传输 的 架构设计 章节内容。

RCP GUI设计

GUI是基于Eclipse 4 RCP进行设计和开发的。各个 组件之间的结构如下:

说明如下:

总的来说,Pi2的RCP可以分成三大部分,features,target platform和product,

FEATURES

feature是插件的分组管理工具,而插件就是pi2的功能模块划分单元,feature分组主要有以下几个部分:

  1. biz业务功能有关的插件集(feature),由两部分组成,一是、文件传输功能实现的插件,biz.server/biz.cmm/biz.client等;二是、biz中必不可少的日志插件。
  2. RCP使用到的第三方插件集(feature)。也由两部分组成,一是、使用了第三方实现的UI组件:status bar和preference;二是、官方插件仓库没有提供的一些插件,例如, netty, hutool, fast-md5,Jackson等第三方插件,详见<u>pi2-lib项目</u>
  3. UI有关的插件集(feature),同样可分成两部分,一是、专为Pi2开发的UI插件,ui.model/ui.services/ui.cmm,还有提供RCP应用模型的主插件cn.bbstone.pisces2.ui;二是、运行RCP所需的Eclipse提供的UI基础插件。
  4. OS平台特有的插件集(features),通常这部分提供三类平台的特需插件,win32,macosx,linux。

TARGET-PLATFORM目标平台

目标平台可以简单理解为项目的插件依赖总集,而各个feature或插件,所用到的插件都必须是在这个目标平台里提供有才可以选,feature和插件项目选择不到目标平台没包括进来的插件。

目标平台创建插件总集的方法有很多,如下图所示,

  • Software Site:提供p2的update site方式来下载插件,来组成插件总集,即目标平台。
  • Directory:通过指定本机某个目录,把该目录的插件添加到目标平台来。
  • Installation:未使用(TODO:待验证)
  • Feature:通过feature方式指定插件集。
  • Target File:通过其他的目标平台文件target 文件来指定插件集。
  • Maven:通过maven的坐标,指定插件集。

PRODUCT产品

product产品,是Eclipse rcp提供的一个功能,主要用于打包插件集来组成一个软件产品,比较常见的有两种产品分类:

打包成Eclipse的一个插件,然后发布到eclipse的插件市场,可以在Eclipse Marketplace 下载安装。
打包成独立的可运行的GUI,例如,本项目Pi2,就是这种方式,打包成可以独立运行的桌面端应用。
除此之外,也可以根据具体的需要,创建不同的产品类型,比如,想要发布社区版的产品,或者发布商业版本的产品,来提供更有价值的功能,等等。

有任何问题,请在gitee项目源码评论区发表评论。Pi2源码路径

源码结构

源码路径:

Pi2的源码下载:https://gitee.com/bbstone101/pi2.git

开发环境搭建,请查阅 派兔Pi2开发文档

发行版本

最新版本发布包:https://gitee.com/bbstone101/pi2/releases/latest

根据各人使用的电脑OS平台选择合适的版本安装使用。

具体使用,请参考《派兔Pi2使用手册

版本平台说明:
1)macosx.cocoa 版本是苹果电脑,aarch64- arm架构处理器(也适用M1,M2这些Apple Silicon的处理器)。

2) win32: windows操作系统的处理器,发布包只支持windows的x86_64(Intel的64位处理器),arm架构的处理器,当前尚未发布支持。

3)linux.gtk 版本,是Linux系统的适用版本,分别有啊aarch64 – arm架构处理器和 x86_64 的Intel的64位处理器。

源码构建和打包(BUILD)

从Pi2 v0.7(Tag)版本起,可以通过Tycho来构建各个平台(Mac/Win/Linux)的发布包了。具体步骤如下:

准备工作:

1)从下面链接下载解压得到一个名为settings.xml的maven设置文件,将其放在你的用户目录 ~/.m2/下
m2下载

2)在下载的源码:pi2/product/local-repo/目录下,运行start.sh脚本(只支持Mac/Linux运行,Windows,请自行参考x x.sh脚本添加,或直接执行这脚本里边的maven命令),安装和启动local-repo

3)验证local-repo是否启动成功。

在浏览器打开: http://localhost:8080/eclipse-repo/

查看本地库的插件有哪些:http://localhost:8080/eclipse-repo/plugins/

安装本地库到ECLIPSE

Help -> Install New Software …

输入本地仓库地址:http://localhost:8080/eclipse-repo/, 回车,选择所有插件,进行安装,安装完重启Eclipse即可。

(或者配置到target-platform(详细参考: 《派兔Pi2开发文档》 目标平台设置 章节,这里不做详细介绍)

源码结构:

更多信息,请查阅: 派兔Pi2开发文档 的源码简介。

开始构建(BUILD)

执行以下命令进行构建

cd pi2
mvn clean verify
构建成功后,显示如下:

发布包的位置和使用

发布包说明:

tycho构建成功后,在pi2/product/standalone/target/products/下的productId为cn.bbstone.pisces2.product目录下分别有linux/macosx/win32三个平台的发布包,Linux和Mac都有aarch64(ARM处理器芯片平台)和x86_64的intel处理器芯片平台,Windows只有x86_64,当然也可以在源码目录:pi2/pom.xml 的 target-platform-configuration 的tycho的maven插件修改配置,添加支持更多平台。

发布包使用

Mac电脑上

把Pi2.app复制到/Application/目录下,就可以从Launchpad上找到Pi2

Window电脑上

在发布包目录下的win32/x86_64/pi2 这个文件夹就是pi2程序,没有安装器,直接双击Pi2.exe的即可运行。

运行起来后,看到如下界面,基本确定无误了,可以进行使用,使用方法,请参考: 派兔Pi2使用手册

最早发布于:9月 21, 2022

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注