摘要:為了方便小組里的同學(xué)快速創(chuàng)建新項(xiàng)目,并且保持框架及配置的一致性,維護(hù)了模板工程。模板工程基于,用不了,需要另外找。
為了方便小組里的同學(xué)快速創(chuàng)建新項(xiàng)目,并且保持框架及配置的一致性,維護(hù)了模板工程。接下來(lái)需要一個(gè)好用的工具來(lái)快速生成新項(xiàng)目。
模板工程基于Gradle,用不了Maven Archetype,需要另外找。
工具需要滿足的條件
模板工程需要更新,能直接跑單元測(cè)試,所以工具不能限制工程結(jié)構(gòu),不能讓模板工程來(lái)適應(yīng)這個(gè)工具
模板工程放在公司內(nèi)網(wǎng),所以工具不能強(qiáng)制要求模板上傳到工具自建的公網(wǎng)倉(cāng)庫(kù)
網(wǎng)上找了一些工具,目前找到的不太符合要求
gradle-archetype-plugin:不符合條件1
yeoman:不符合條件2
后來(lái)自建了一段小腳本及操作規(guī)范來(lái)解決這個(gè)問(wèn)題
模板工程:1)包名唯一標(biāo)識(shí)使用prjName,可定制,2)需要配置的地方注釋里加上標(biāo)記[config],可定制
執(zhí)行自建的 dup_architype.sh 創(chuàng)建新項(xiàng)目
在IDE打開新項(xiàng)目,搜索[config]找到所有需要手動(dòng)修改配置的地方,根據(jù)注釋及上下文做出修改
dup_architype.sh 的大致執(zhí)行流程:
把模板工程拷貝到指定的新項(xiàng)目所在路徑,排除掉不需要的目錄
重命名prjName這個(gè)唯一標(biāo)識(shí)為自定義的業(yè)務(wù)名稱
替換項(xiàng)目文件中的prjName為自定義的業(yè)務(wù)名稱
dup_architype.sh 內(nèi)容:
# 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 都需要在執(zhí)行之前修改。含義如下:
SRC : 模板工程絕對(duì)路徑
TARGET : 目標(biāo)項(xiàng)目絕對(duì)路徑
PKGNAME : 目標(biāo)項(xiàng)目唯一標(biāo)識(shí),用于包名,不包含com.xyz.這樣的前綴
腳本預(yù)設(shè)
工程使用 Gradle/Git/IntellijIDEA,不需要復(fù)制的目錄已經(jīng)在rsync參數(shù)排除掉;其它需要排除的目錄可以添加--exclude自行排除
包名中的唯一標(biāo)識(shí)是prjName(整體包名com.xyz.prjName),可自行定制
實(shí)際使用下來(lái)還算方便,簡(jiǎn)單有效。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/73722.html
摘要:作者小傅哥博客沉淀分享成長(zhǎng),讓自己和他人都能有所收獲接下來(lái)還需要把我們創(chuàng)建的工程模板以及數(shù)據(jù)服務(wù)配置到中,這樣在插件啟動(dòng)的時(shí)候就可以把我們自己插件啟動(dòng)起來(lái)了。作者:小傅哥博客:https://bugstack.cn沉淀、分享、成長(zhǎng),讓自己和他人都能有所收獲!???? 接下來(lái)還需要把我們創(chuàng)建的工程模板以及數(shù)據(jù)服務(wù)配置到 plugin.xml 中,這樣在插件啟動(dòng)的時(shí)候就可以...
摘要:你們說(shuō)能不能就用的開發(fā)模式來(lái)實(shí)現(xiàn)客戶端啊這樣版版版就都有了。有道云筆記可能就是最貼近我們想法的產(chǎn)品,有客戶端,有版。這個(gè)項(xiàng)目由發(fā)起和維護(hù)。 最近一個(gè)多月一直在用 AngularJS 做公司的一個(gè)項(xiàng)目(還沒(méi)有做完),我之前主要是用 PHP 開發(fā)服務(wù)端的,AngularJS 也是現(xiàn)學(xué)現(xiàn)賣,整個(gè)過(guò)程還是比較有意義的,覺(jué)得很有必要寫篇文章記錄一下。 緣起 事情是這樣的……我們團(tuán)隊(duì)的產(chǎn)品是一款 ...
摘要:你們說(shuō)能不能就用的開發(fā)模式來(lái)實(shí)現(xiàn)客戶端啊這樣版版版就都有了。有道云筆記可能就是最貼近我們想法的產(chǎn)品,有客戶端,有版。這個(gè)項(xiàng)目由發(fā)起和維護(hù)。 最近一個(gè)多月一直在用 AngularJS 做公司的一個(gè)項(xiàng)目(還沒(méi)有做完),我之前主要是用 PHP 開發(fā)服務(wù)端的,AngularJS 也是現(xiàn)學(xué)現(xiàn)賣,整個(gè)過(guò)程還是比較有意義的,覺(jué)得很有必要寫篇文章記錄一下。 緣起 事情是這樣的……我們團(tuán)隊(duì)的產(chǎn)品是一款 ...
摘要:許多新的棉絨檢查。如果程序在斷點(diǎn)上暫停,則應(yīng)用程序重新啟動(dòng)。新的中的新型提供了對(duì)應(yīng)用程序活動(dòng)的實(shí)時(shí)統(tǒng)一視圖。要打開,請(qǐng)按照下列步驟操作單擊視圖工具您也可以在工具欄中單擊。從工具欄中選擇要配置的設(shè)備和應(yīng)用程序進(jìn)程。這樣基本上就順利安裝了。 簡(jiǎn)介: Android Studio是Android的官方IDE。它是專為Android而打造,可以加快您的開發(fā)速度,幫助您為每款A(yù)ndroid設(shè)備構(gòu)...
閱讀 1245·2021-11-15 11:37
閱讀 2256·2021-09-30 09:55
閱讀 4525·2021-09-22 15:51
閱讀 3753·2021-09-22 15:46
閱讀 2776·2019-08-30 15:52
閱讀 430·2019-08-29 16:20
閱讀 2898·2019-08-29 15:12
閱讀 1140·2019-08-26 18:27