專利名稱:一種生成ide工程文件和解決方案文件的方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于軟件領(lǐng)域,尤其涉及一種生成IDE工程文件和解決方案文件的方法
與裝置。
背景技術(shù):
集成開發(fā)環(huán)境IDE作為軟件開發(fā)的平臺對于軟件的開發(fā)及其重要,然而因?yàn)楝F(xiàn) 有IDE的多樣性,不同的小組,不同的部門,不同的公司使用的IDE不一定相同,而對 于開發(fā)同一個項(xiàng)目的各小組、部門、公司來說,如果使用不同的IDE必然造成整合IDE
編譯參數(shù)等大量重復(fù)的勞動。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種生成IDE工程文件和解決方案文件的方法與 裝置,旨在解決對于開發(fā)同一個項(xiàng)目的各小組、部門、公司IDE不同的問題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種生成IDE工程文件和解決方案文件的方法, 所述方法包括以下步驟根據(jù)規(guī)范化模板定義項(xiàng)目文件的編譯參數(shù);選擇使用的IDE工具;解析配置文件,根據(jù)所述IDE工具初始化系統(tǒng)上下文信息;檢查并排序項(xiàng)目模塊間的依賴關(guān)系,生成排序列表,完成系統(tǒng)上下文初始化;根據(jù)所述排序列表遞歸生成IDE工具的工程文件和解決方案文件。本發(fā)明實(shí)施例的另一目的在于提供一種生成IDE工程文件和解決方案文件的裝 置,所述裝置包括規(guī)范編譯參數(shù)定義單元,用于根據(jù)規(guī)范化模板規(guī)范定義項(xiàng)目文件的編譯參數(shù);IDE工具選擇單元,用于通過工程文件的根目錄,選擇IDE工具;通用模塊加載單元,用于在應(yīng)用系統(tǒng)啟動時(shí)加載通用模塊;配置解析單元,用于解析通用配置文件,并根據(jù)用戶選擇的IDE工具類型初始 化系統(tǒng)上下文信息;檢查單元,用于檢查項(xiàng)目模塊之間的循環(huán)依賴關(guān)系;系統(tǒng)初始化完成單元,用于排序依賴項(xiàng)目,將排序列表加入上下文環(huán)境中,完 成系統(tǒng)初始化;工程文件和解決方案文件生成單元,用于根據(jù)所述排序列表,IDE生成模塊遞 歸對項(xiàng)目生成符合用戶選擇的IDE工具的工程文件和解決方案文件;操作信息記錄單元,用于記錄操作信息。在本發(fā)明實(shí)施例中,根據(jù)規(guī)范化的模板定義項(xiàng)目文件的編譯參數(shù),通過工程文 件根目錄選擇IDE工具,通過解析配置文件初始化系統(tǒng)上下文信息,檢查并排序項(xiàng)目模 塊間的依賴關(guān)系,完成系統(tǒng)上下文初始化,根據(jù)生成的排序列表遞歸生成IDE工具的工程文件和解決方案文件。通過本發(fā)明實(shí)施例可以快速,簡便的生成多種IDE工具的工程 文件和解決方案文件。
圖1是本 發(fā)明實(shí)施例提供的生成IDE工程文件和解決方案文件方法的流程圖;圖2是本發(fā)明實(shí)施例提供的生成IDE工程文件和解決方案的裝置圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施 例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋 本發(fā)明,并不用于限定本發(fā)明。在本發(fā)明實(shí)施例中,根據(jù)規(guī)范化的模板定義項(xiàng)目文件的編譯參數(shù),通過工程文 件根目錄選擇IDE工具,通過解析配置文件初始化系統(tǒng)上下文信息,檢查并排序項(xiàng)目模 塊間的依賴關(guān)系,完成系統(tǒng)上下文初始化,根據(jù)生成的排序列表遞歸生成IDE工具的工 程文件和解決方案文件。通過本發(fā)明實(shí)施例可以快速,簡便的生成多種IDE工具的工程 文件和解決方案文件如圖1所示為本發(fā)明實(shí)施例提供的生成IDE工程文件和解決方案文件方法的流程 圖,詳述如下步驟S101,根據(jù)規(guī)范化模板定義給定的項(xiàng)目文件的編譯參數(shù)。在本發(fā)明實(shí)施例中,根據(jù)規(guī)范化模板定義項(xiàng)目文件的編譯參數(shù)可以確保同一項(xiàng) 目的編譯參數(shù)在不同的IDE中保持統(tǒng)一,所述編譯參數(shù)包括工程參數(shù),平臺參數(shù),模塊 參數(shù);規(guī)范化模板根據(jù)項(xiàng)目而改變,對于規(guī)范化模板的定義不屬于本發(fā)明保護(hù)的范圍。步驟S102,進(jìn)入工程文件根目錄,選擇IDE工具。步驟S103,啟動應(yīng)用系統(tǒng),加載通用模塊,所述通用模塊包括配置解析模塊、 檢查模塊和日志模塊。步驟S104,配置解析模塊配置文件,根據(jù)用戶選擇的IDE工具類型初始化系統(tǒng) 上下文信息。在本發(fā)明實(shí)施例中,配置解析模塊在解析模塊配置文件之后,將獲得的參數(shù)信 息保存在參數(shù)字典中。步驟S105,檢查模塊校驗(yàn)項(xiàng)目模塊之間是否存在循環(huán)依賴。是,則進(jìn)入步驟 S106 ;否,則進(jìn)入步驟S107。在本發(fā)明實(shí)施例中,檢查模塊遞歸分析參數(shù)字典中保存的參數(shù)信息,根據(jù)所述 參數(shù)信息采用深度優(yōu)先算法,計(jì)算項(xiàng)目模塊之間的依賴關(guān)系,分析項(xiàng)目模塊之間是否存 在循環(huán)依賴。步驟S106,排序依賴項(xiàng)目,將排序列表加入上下文環(huán)境中,完成系統(tǒng)初始化。在本發(fā)明實(shí)施例中,根據(jù)拓?fù)渑判蛩惴ǎ瑸橐蕾図?xiàng)目模塊進(jìn)行排序,保證項(xiàng)目 模塊之間單方向的依賴,將排序列表加入上下文環(huán)境中,完成系統(tǒng)的初始化。步驟S107,根據(jù)所述排序列表,IDE生成模塊遞歸對項(xiàng)目生成符合用戶選擇的 IDE工具的工程文件和解決方案文件。
步驟S108,日志模塊記錄操作信息,退出應(yīng)用系統(tǒng)。在本發(fā)明實(shí)施例中,根據(jù)規(guī)范化的模板定義項(xiàng)目文件的編譯參數(shù),通過工程文 件根目錄選擇IDE工具,通過解析配置文件初始化系統(tǒng)上下文信息,檢查并排序項(xiàng)目模 塊間的依賴關(guān)系,完成系統(tǒng)上下文初始化,根據(jù)生成的排序列表遞歸生成IDE工具的工 程文件和解決方案文件。通過本發(fā)明實(shí)施例可以快速,簡便的生成多種IDE工具的工程 文件和解決方案文件。如圖2所示為本發(fā)明實(shí)施例提供的生成IDE工程文件和解決方案文件的裝置圖, 所述裝置包括規(guī)范編譯參數(shù)定義單元21,用于根據(jù)規(guī)范化模板規(guī)范定義項(xiàng)目文件的編譯參 數(shù);IDE工具選擇單元22,用于通過工程文件的根目錄,選擇IDE工具;通用模塊加載單元23,用于在應(yīng)用系統(tǒng)啟動時(shí)加載通用模塊,所述通用模塊包 括配置解析模塊、檢查模塊和日志模塊;配置解析單元24,用于解析通用配置文件,并根據(jù)用戶選擇的IDE工具類型初 始化系統(tǒng)上下文信息;檢查單元25,用于檢查項(xiàng)目模塊之間是否存在循環(huán)依賴;所述依賴關(guān)系檢查單元還包括參數(shù)信息分析子單元251,用于遞歸分析參數(shù)字典中保存的參數(shù)信息;依賴關(guān)系計(jì)算子單元252,用于根據(jù)所述參數(shù)信息采用深度優(yōu)先算法,計(jì)算項(xiàng)目 模塊之間的依賴關(guān)系;系統(tǒng)初始化完成單元26,用于排序依賴項(xiàng)目,將排序列表加入上下文環(huán)境中, 完成系統(tǒng)初始化;所述系統(tǒng)初始化完成單元26還包括依賴項(xiàng)目排序子單元261,用于根據(jù)拓?fù)渑判蛩惴?,為依賴?xiàng)目模塊進(jìn)行排 序;排序列表加入子單元262,用于將所述依賴項(xiàng)目排序子單元261生成的排序列表 加入到系統(tǒng)上下文環(huán)境中;工程文件和解決方案文件 生成單元27,用于根據(jù)所述排序列表,IDE生成模塊 遞歸對項(xiàng)目生成符合用戶選擇的IDE工具的工程文件和解決方案文件;操作信息記錄單元28,用于記錄操作信息。在本發(fā)明實(shí)施例中,根據(jù)規(guī)范化的模板定義項(xiàng)目文件的編譯參數(shù),通過工程文 件根目錄選擇IDE工具,通過解析配置文件初始化系統(tǒng)上下文信息,檢查并排序項(xiàng)目模 塊間的依賴關(guān)系,完成系統(tǒng)上下文初始化,根據(jù)生成的排序列表遞歸生成IDE工具的工 程文件和解決方案文件。通過本發(fā)明實(shí)施例可以快速,簡便的生成多種IDE工具的工程 文件和解決方案文件以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的 精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之 內(nèi)。
權(quán)利要求
1.一種生成IDE工程文件和解決方案文件的方法,其特征在于,所述方法包括以下 步驟根據(jù)規(guī)范化模板定義項(xiàng)目文件的編譯參數(shù); 選擇使用的IDE工具;解析配置文件,根據(jù)所述IDE工具初始化系統(tǒng)上下文信息; 檢查并排序項(xiàng)目模塊間的依賴關(guān)系,生成排序列表,完成系統(tǒng)上下文初始化; 根據(jù)所述排序列表遞歸生成所述IDE工具的工程文件和解決方案文件。
2.如權(quán)利要求1所述的方法,其特征在于,所述編譯參數(shù)包括 工程參數(shù)、平臺參數(shù)和模塊參數(shù)。
3.如權(quán)利要求1所述的方法,其特征在于,解析配置文件之后還包括將解析的配 置文件之后獲得的參數(shù)信息保存在參數(shù)字典中。
4.如權(quán)利要求3所述的方法,其特征在于,遞歸分析參數(shù)字典中保存的參數(shù)信息,根 據(jù)所述參數(shù)信息采用深度優(yōu)先算法,計(jì)算項(xiàng)目模塊之間的依賴關(guān)系,分析項(xiàng)目模塊之間 是否存在循環(huán)依賴。
5.如權(quán)利要求4所述的方法,其特征在于,如果存在根據(jù)拓?fù)渑判蛩惴?,為依賴?xiàng)目 模塊進(jìn)行排序,保證項(xiàng)目模塊之間單方向的依賴,將排序列表加入上下文環(huán)境中,完成 系統(tǒng)的初始化。
6.一種生成IDE工程文件和解決方案文件的裝置,所述裝置包括規(guī)范編譯參數(shù)定義單元,用于根據(jù)規(guī)范化模板規(guī)范定義項(xiàng)目文件的編譯參數(shù); IDE工具選擇單元,用于通過工程文件的根目錄,選擇IDE工具; 通用模塊加載單元,用于在應(yīng)用系統(tǒng)啟動時(shí)加載通用模塊;配置解析單元,用于解析通用配置文件,并根據(jù)用戶選擇的IDE工具類型初始化系 統(tǒng)上下文信息;檢查單元,用于檢查項(xiàng)目模塊之間的循環(huán)依賴關(guān)系;系統(tǒng)初始化完成單元,用于排序依賴項(xiàng)目,將排序列表加入上下文環(huán)境中,完成系 統(tǒng)初始化;工程文件和解決方案文件生成單元,用于根據(jù)所述排序列表,IDE生成模塊遞歸對 項(xiàng)目生成符合用戶選擇的IDE工具的工程文件和解決方案文件; 操作信息記錄單元,用于記錄操作信息。
7.如權(quán)利要求6所述的裝置,其特征在于,所述檢查單元還包括 參數(shù)信息分析子單元,用于遞歸分析參數(shù)字典中保存的參數(shù)信息;依賴關(guān)系計(jì)算子單元,用于根據(jù)所述參數(shù)信息采用深度優(yōu)先算法,計(jì)算項(xiàng)目模塊之 間的依賴關(guān)系。
8.如權(quán)利要求7所述的裝置,其特征在于,所述系統(tǒng)初始化完成單元還包括 依賴項(xiàng)目排序子單元,用于根據(jù)拓?fù)渑判蛩惴ǎ瑸橐蕾図?xiàng)目模塊進(jìn)行排序;排序列表加入子單元,用于將所述依賴項(xiàng)目排序子單元261生成的排序列表加入到 系統(tǒng)上下文環(huán)境中。
全文摘要
本發(fā)明適用于軟件領(lǐng)域,提供了一種生成IDE工程文件和解決方案文件的方法和裝置。該方法包括以下步驟根據(jù)規(guī)范化模板定義項(xiàng)目文件的編譯參數(shù);選擇使用的IDE工具;解析配置文件,根據(jù)所述IDE工具初始化系統(tǒng)上下文信息;檢查并排序項(xiàng)目模塊間的依賴關(guān)系,生成排序列表,完成系統(tǒng)上下文初始化;根據(jù)所述排序列表遞歸生成IDE工具的工程文件和解決方案文件。在本發(fā)明實(shí)施例中,根據(jù)規(guī)范化的模板定義項(xiàng)目文件的編譯參數(shù),通過解析配置文件初始化系統(tǒng)上下文信息,檢查并排序項(xiàng)目模塊間的依賴關(guān)系,完成系統(tǒng)上下文初始化,根據(jù)生成的排序列表遞歸生成IDE工具的工程文件和解決方案文件。
文檔編號G06F9/44GK102012816SQ20101056638
公開日2011年4月13日 申請日期2010年11月30日 優(yōu)先權(quán)日2010年11月30日
發(fā)明者劉波, 王志國 申請人:深圳創(chuàng)維-Rgb電子有限公司