摘要:為了方便小組里的同學快速創建新項目,并且保持框架及配置的一致性,維護了模板工程。模板工程基于,用不了,需要另外找。
為了方便小組里的同學快速創建新項目,并且保持框架及配置的一致性,維護了模板工程。接下來需要一個好用的工具來快速生成新項目。
模板工程基于Gradle,用不了Maven Archetype,需要另外找。
工具需要滿足的條件
模板工程需要更新,能直接跑單元測試,所以工具不能限制工程結構,不能讓模板工程來適應這個工具
模板工程放在公司內網,所以工具不能強制要求模板上傳到工具自建的公網倉庫
網上找了一些工具,目前找到的不太符合要求
gradle-archetype-plugin:不符合條件1
yeoman:不符合條件2
后來自建了一段小腳本及操作規范來解決這個問題
模板工程:1)包名唯一標識使用prjName,可定制,2)需要配置的地方注釋里加上標記[config],可定制
執行自建的 dup_architype.sh 創建新項目
在IDE打開新項目,搜索[config]找到所有需要手動修改配置的地方,根據注釋及上下文做出修改
dup_architype.sh 的大致執行流程:
把模板工程拷貝到指定的新項目所在路徑,排除掉不需要的目錄
重命名prjName這個唯一標識為自定義的業務名稱
替換項目文件中的prjName為自定義的業務名稱
dup_architype.sh 內容:
# template project absolute path SRC=/Users/sandynz/Documents/projects/boottemp/ # target project absolute path TARGET=/Users/sandynz/Documents/projects/prj1 # target project package name PKGNAME=prj1 # copy echo "start copy" rsync -avz --exclude out --exclude build --exclude target --exclude .git --exclude .gradle --exclude .idea $SRC $TARGET # rename dir echo "start rename dir" find $TARGET -name prjName -execdir mv {} $PKGNAME ";" # replace content echo "start replace content" find $TARGET -type f -exec sed -i "" "s/prjName/$PKGNAME/g" {} ;
該腳本里的 SRC/TARGET/PKGNAME 都需要在執行之前修改。含義如下:
SRC : 模板工程絕對路徑
TARGET : 目標項目絕對路徑
PKGNAME : 目標項目唯一標識,用于包名,不包含com.xyz.這樣的前綴
腳本預設
工程使用 Gradle/Git/IntellijIDEA,不需要復制的目錄已經在rsync參數排除掉;其它需要排除的目錄可以添加--exclude自行排除
包名中的唯一標識是prjName(整體包名com.xyz.prjName),可自行定制
實際使用下來還算方便,簡單有效。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73722.html
摘要:作者小傅哥博客沉淀分享成長,讓自己和他人都能有所收獲接下來還需要把我們創建的工程模板以及數據服務配置到中,這樣在插件啟動的時候就可以把我們自己插件啟動起來了。作者:小傅哥博客:https://bugstack.cn沉淀、分享、成長,讓自己和他人都能有所收獲!???? 接下來還需要把我們創建的工程模板以及數據服務配置到 plugin.xml 中,這樣在插件啟動的時候就可以...
摘要:你們說能不能就用的開發模式來實現客戶端啊這樣版版版就都有了。有道云筆記可能就是最貼近我們想法的產品,有客戶端,有版。這個項目由發起和維護。 最近一個多月一直在用 AngularJS 做公司的一個項目(還沒有做完),我之前主要是用 PHP 開發服務端的,AngularJS 也是現學現賣,整個過程還是比較有意義的,覺得很有必要寫篇文章記錄一下。 緣起 事情是這樣的……我們團隊的產品是一款 ...
摘要:你們說能不能就用的開發模式來實現客戶端啊這樣版版版就都有了。有道云筆記可能就是最貼近我們想法的產品,有客戶端,有版。這個項目由發起和維護。 最近一個多月一直在用 AngularJS 做公司的一個項目(還沒有做完),我之前主要是用 PHP 開發服務端的,AngularJS 也是現學現賣,整個過程還是比較有意義的,覺得很有必要寫篇文章記錄一下。 緣起 事情是這樣的……我們團隊的產品是一款 ...
摘要:許多新的棉絨檢查。如果程序在斷點上暫停,則應用程序重新啟動。新的中的新型提供了對應用程序活動的實時統一視圖。要打開,請按照下列步驟操作單擊視圖工具您也可以在工具欄中單擊。從工具欄中選擇要配置的設備和應用程序進程。這樣基本上就順利安裝了。 簡介: Android Studio是Android的官方IDE。它是專為Android而打造,可以加快您的開發速度,幫助您為每款Android設備構...
閱讀 1229·2021-11-15 11:37
閱讀 2246·2021-09-30 09:55
閱讀 4483·2021-09-22 15:51
閱讀 3741·2021-09-22 15:46
閱讀 2766·2019-08-30 15:52
閱讀 423·2019-08-29 16:20
閱讀 2889·2019-08-29 15:12
閱讀 1130·2019-08-26 18:27