此页面将让您了解斐济的源代码是如何组织的。前面提到的每个目录都是相对于斐济根目录的,即您cloned fiji.git进入的目录。
斐济发射器
斐济发射器现在称为 ImageJ launcher,并于 on GitHub 中使用。
插件
斐济更新站点提供的插件均为Open Source。源代码位于 in its own repository 中,存储在反映从源代码生成的 .jar 文件名称的存储库中。示例:Fiji_Plugins.jar 的源代码位于 https://github.com/fiji/Fiji_Plugins.
唯一的特殊规则适用于文件名以下划线结尾的插件:该下划线将被删除。示例:Arrow_.jar 的源存储为 Mini Maven。
我们所有的插件都作为 Maven 项目进行;这允许开发人员使用他们选择的集成开发环境构建维护代码。
Maven 项目中维护的插件包括
1.顶级目录下的pom.xml文件
- src/main/java/目录中的Java源代码,以及
- src/main/resources/ 中的 plugins.config 文件
如果插件源包含单元测试,它们的源位于 src/test/java/ 中,这样生成的测试类将不会包含在最终的 .jar 文件中。
图书馆
大多数库都可以作为常规的Maven依赖项使用(您可以search for them on Maven Central)。
子模块
斐济过去经常通过 Git 子模块来维护与 fiji.git 存储库外部开发的项目的关系。事实证明,这对于徒步旅行来说太麻烦而且太不探究。
所有子模块连接现在都被适当的Maven依赖管理所取代。
斐济构建系统
斐济曾经拥有自己的构建系统。但是,我们在2012年改用Maven。
为了方便入门,有一个 on GitHub 项目允许在没有成熟的 Maven 的情况下构建斐济;但是,对于认真的开发,建议使用真正的 Maven,甚至更好,使用 Eclipse 或 Netbeans。
为了兼容,可以通过 fiji.git 签出的顶级目录中的 ./Build.sh 调用 Mini Maven。 尽管有这个名字,它并没有真正构建任何东西,而只是将所有 Fiji 组件作为 Maven 依赖项引入。
bin/ 目录
很多任务——例如提交新的子模块或插件源,或者发布 Fiji 的新版本——都是由脚本执行的。这些脚本位于 *
其中一些脚本是 shell 脚本,其他脚本是带有特殊 shebang 行的 Jython 脚本,这些行会触发使用当前 Fiji 启动器来调用它们。