项目特殊的切分支方式,IDEA 自带的 svn 插件逻辑不甚兼容,特别容易出现 OutOfMemoryError。查明原因后,准备更改 svn 插件以修复 OOM 问题。下面记录一下从源码编译 IDEA 社区版的相关注意事项。
注意,以下经验基于 IDEA2023.1。
源码准备
构建最新版本
如果是构建最新版本,直接从 intellij-community git clone 最新源码:
1 | git clone https://github.com/JetBrains/intellij-community.git |
下载整个仓库非常大,需要耗费比较多时间,如果不需要仓库历史,可以加上 git clone --depth 1
参数节省时间。
构建社区版需要依赖 android module,这是一个独立的仓库,可以直接在上一步 clone 好的目录运行 getPlugin.sh
直接获取。
构建特定版本
构建特定版本比较麻烦一些,需要从 tags 中下载制定版本并解压。(特别容易断线,多尝试几次)
而 android module 也要下载对应的版本 tags,存放到上一步解压的目录的根目录,并命名为 android。
准备对应版本的 IDEA
如果是构建最新版本,需要安装最新版本的 IDEA;若是特定版本,则选定前一个版本的 IDEA。历史版本的 IDEA 可以从这里下载。
构建编译
使用正确版本的 IDEA 打开上一步获取的项目根目录文件夹,若遇到提示升级插件版本,点升级并重启 IDEA。
全部索引构建完毕,直接可以运行 IDEA-MAIN 运行调试;若需要构建安装包,在 Run Configuration 选择 Build IDEA Community Installers (current OS) 运行即可编译出安装包。