(Apache) Commons Lang3 Bridge For Scala 0.0.1 发布

今天,我发布了 Commons-Lang3-Bridge 项目的 0.0.1 版。

这个项目是 Apache Commons Lang 3 的 Scala 封装,旨在为 Scala 程序员提供 Scala 风格的 Apache Commons Lang 3 资源。这个包使得 Scala 的 StringOptions[String]类型通过 ops 成员,可以以面向对象风格调用久负盛名的 Apache Commons Lang3 工具库中的大量 StringUtils 方法。

项目地址:https://github.com/scala-workers/commons-lang3-bridge

关于这个项目的设计思路,我在以前的文章中介绍过。这里不重复了。而具体的实现方面,我的搭档 djx314(邓杰星)实现了一个极其强大的 TypeMapping 系统,兼容 Scala 2.11 直至3.2.0 的各个版本。如果没有这个类型管理机制,整个 bridge 仓库至少要付出四倍的代码量,并且功能上很可能也会打折扣。

这个项目是我自 Jaskell 族系之后,最重要的工具库,它会伴随我未来的开发工作,帮助我方便的使用 Apache Commons 项目几十年来积累的实用技术资源。希望它也会帮助更多的同行,为大家的开发工作提供便利。

Apache Commons 提供了极其丰富的单元测试和文档注释,目前我已经完整迁移了 StringUtils 的各个测试(除了我没有封装的那些功能),这也是我能够发布 0.0.1 版的依靠。这个版本虽然只是起步,但是它有丰富的测试保障,工程质量值得信任。未来一段时间,我在这个项目的工作,主要是继续迁移 StringUtils 的文档注释。待所有工具方法的文档注释完成,我会发布 0.1.0 版本。

按照惯例,此时应该已经可以在 search.maven.org 搜索到这个库,但是很遗憾,我还没有见到,或许是 sonatype 新启用的子站同步较慢。不过我已经在后台看到这个仓库发布成功,使用 maven 配置

<dependency>
  <groupId>net.scalax</groupId>
  <artifactId>commons-lang3-bridge_2.13</artifactId>
  <version>0.0.1</version>
</dependency>

就可以在 Scala 2.13 项目中引入这个包。对于 sbt 管理的项目,则是

libraryDependencies += "net.scalax" %% "commons-lang3-bridge" % "0.0.1"

对于其它版本的 Scala ,注意修改其版本后缀即可。

待 StringUtils 迁移完毕,我接下来的关注点会是 statistic 、 text等其它工具库。在这之前,我期待 djx314 的通用版本的 TypeMapping 项目发布。这个强大的类型工具会是未来我们的一系列 Scala 工具库的核心和基础。我们将统一将这些项目放置在 https://github.com/scala-workers 组织。以scalax.net group 发布。

猜你喜欢

转载自blog.csdn.net/ccat/article/details/126862504