本技術(shù)涉及軟件構(gòu)建,具體涉及一種軟件構(gòu)建方法、裝置、設(shè)備、介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、隨著工業(yè)化和信息化的發(fā)展,工程項(xiàng)目日益龐大,工程構(gòu)建速度也需要相應(yīng)加快。然而,傳統(tǒng)的工程構(gòu)建方式往往需要大量的時(shí)間和資源來(lái)完成,這導(dǎo)致了工程師的工作效率低下和工程的延誤。因此,需要一種軟件構(gòu)建方法來(lái)提高工程的構(gòu)建速度,以提高工作效率,加快工程開(kāi)發(fā)驗(yàn)證流程。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本技術(shù)實(shí)施例至少提供一種軟件構(gòu)建方法、圖像處理方法、裝置及設(shè)備。
2、本技術(shù)實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
3、第一方面,本技術(shù)實(shí)施例提供一種軟件構(gòu)建方法,訓(xùn)練方法包括:
4、獲取當(dāng)前構(gòu)建任務(wù)的當(dāng)前階段的字典數(shù)據(jù)以及工程軟件的源碼校驗(yàn)信息;所述當(dāng)前構(gòu)建任務(wù)為所述工程軟件在構(gòu)建過(guò)程中的任一構(gòu)建任務(wù);
5、基于所述當(dāng)前階段的字典數(shù)據(jù)以及所述工程軟件的源碼校驗(yàn)信息,確定所述當(dāng)前階段的當(dāng)前校驗(yàn)信息;
6、基于所述當(dāng)前階段的當(dāng)前校驗(yàn)信息,確定所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略;所述構(gòu)建策略用于表征所述當(dāng)前構(gòu)建任務(wù)是否需重新構(gòu)建;
7、基于所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略,完成所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建。
8、本技術(shù)實(shí)施例中,在通過(guò)當(dāng)前階段的字典數(shù)據(jù)以及工程軟件的源碼校驗(yàn)信息,確定當(dāng)前階段的當(dāng)前校驗(yàn)信息;然后通過(guò)當(dāng)前階段的當(dāng)前校驗(yàn)信息,確定當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略;最后基于當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略,完成當(dāng)前構(gòu)建任務(wù)的構(gòu)建。這樣,通過(guò)基于當(dāng)前階段的字典數(shù)據(jù)以及工程軟件的源碼校驗(yàn)信息確定的當(dāng)前階段的當(dāng)前校驗(yàn)信息,可以準(zhǔn)確地確定出當(dāng)前構(gòu)建任務(wù)是否需重新構(gòu)建,從而可以減少構(gòu)建任務(wù)重復(fù)構(gòu)建的情況,進(jìn)而提高了工程的構(gòu)建速度,加快了工程開(kāi)發(fā)驗(yàn)證流程。
9、在一些實(shí)施例中,所述基于所述當(dāng)前階段的當(dāng)前校驗(yàn)信息,確定所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略,包括:在本地中存在所述當(dāng)前構(gòu)建任務(wù)的當(dāng)前階段的歷史校驗(yàn)信息的情況下,確定所述當(dāng)前階段的歷史校驗(yàn)信息與所述當(dāng)前階段的當(dāng)前校驗(yàn)信息之間的比較信息;在所述比較信息表征所述歷史校驗(yàn)信息與所述當(dāng)前校驗(yàn)信息一致的情況下,確定所述當(dāng)前構(gòu)建任務(wù)無(wú)需進(jìn)行構(gòu)建的構(gòu)建策略。
10、本技術(shù)實(shí)施例中,當(dāng)前階段的歷史校驗(yàn)信息與當(dāng)前階段的當(dāng)前校驗(yàn)信息之間的比較信息,表示二者一致的情況下,代表本地中存在當(dāng)前構(gòu)建任務(wù)的歷史緩存文件,并且對(duì)當(dāng)前構(gòu)建任務(wù)進(jìn)行構(gòu)建得到的當(dāng)前緩存文件與該歷史緩存文件一致,此時(shí)為了提高構(gòu)建效率,便可以采用該歷史緩存文件,而無(wú)需對(duì)該當(dāng)前構(gòu)建任務(wù)重新進(jìn)行構(gòu)建。
11、在一些實(shí)施例中,所述方法還包括:在所述比較信息表征所述歷史校驗(yàn)信息與所述當(dāng)前校驗(yàn)信息不一致的情況下,獲取與所述當(dāng)前構(gòu)建任務(wù)具有依賴(lài)關(guān)系的其他構(gòu)建任務(wù)在當(dāng)前階段的歷史校驗(yàn)信息;在所述其他構(gòu)建任務(wù)在當(dāng)前階段的歷史校驗(yàn)信息,與所述字典數(shù)據(jù)中當(dāng)前依賴(lài)校驗(yàn)信息一致的情況下,確定以所述當(dāng)前階段為構(gòu)建起點(diǎn)構(gòu)建所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略。
12、本技術(shù)實(shí)施例中,在比較信息表征歷史校驗(yàn)信息與當(dāng)前校驗(yàn)信息不一致的情況下,獲取與當(dāng)前構(gòu)建任務(wù)具有依賴(lài)關(guān)系的其他構(gòu)建任務(wù)在當(dāng)前階段的歷史校驗(yàn)信息;在其他構(gòu)建任務(wù)在當(dāng)前階段的歷史校驗(yàn)信息,與字典數(shù)據(jù)中當(dāng)前依賴(lài)校驗(yàn)信息一致的情況下,確定以當(dāng)前階段為構(gòu)建起點(diǎn)構(gòu)建當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略。這樣,當(dāng)其他構(gòu)建任務(wù)在當(dāng)前階段的歷史校驗(yàn)信息,與字典數(shù)據(jù)中當(dāng)前依賴(lài)校驗(yàn)信息一致時(shí),可以確定僅以當(dāng)前階段為構(gòu)建起點(diǎn)構(gòu)建當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略,從而可以提高構(gòu)建工程軟件的效率。
13、在一些實(shí)施例中,所述方法還包括:在所述其他構(gòu)建任務(wù)在當(dāng)前階段的歷史校驗(yàn)信息,與所述字典數(shù)據(jù)中當(dāng)前依賴(lài)校驗(yàn)信息不一致的情況下,確定構(gòu)建所述其他構(gòu)建任務(wù)以及所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略。
14、本技術(shù)實(shí)施例中,在其他構(gòu)建任務(wù)在當(dāng)前階段的歷史校驗(yàn)信息,與字典數(shù)據(jù)中當(dāng)前依賴(lài)校驗(yàn)信息不一致的情況下,確定構(gòu)建其他構(gòu)建任務(wù)以及當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略。這樣,通過(guò)他構(gòu)建任務(wù)在當(dāng)前階段的歷史校驗(yàn)信息與字典數(shù)據(jù)中當(dāng)前依賴(lài)校驗(yàn)信息,確定在構(gòu)建當(dāng)前構(gòu)建任務(wù)時(shí),是否需要先構(gòu)建其他構(gòu)建任務(wù),從而提高了構(gòu)建工程軟件的準(zhǔn)確性。
15、在一些實(shí)施例中,所述基于所述當(dāng)前階段的當(dāng)前校驗(yàn)信息,確定所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略,包括:在本地中不存在所述當(dāng)前構(gòu)建任務(wù)的當(dāng)前階段的歷史校驗(yàn)信息的情況下,向緩存服務(wù)器中發(fā)送緩存匹配請(qǐng)求;所述緩存匹配請(qǐng)求攜帶所述當(dāng)前階段的當(dāng)前校驗(yàn)信息;接收所述緩存服務(wù)器發(fā)送的針對(duì)所述緩存匹配請(qǐng)求的響應(yīng)消息;在所述響應(yīng)消息中存在與所述當(dāng)前階段的當(dāng)前校驗(yàn)信息匹配的緩存文件的情況下,確定采用將所述緩存文件作為所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建產(chǎn)物的構(gòu)建策略。
16、本技術(shù)實(shí)施例中,在本地中不存在當(dāng)前構(gòu)建任務(wù)的當(dāng)前階段的歷史校驗(yàn)信息的情況下,向緩存服務(wù)器中發(fā)送緩存匹配請(qǐng)求;緩存匹配請(qǐng)求攜帶當(dāng)前階段的當(dāng)前校驗(yàn)信息;在響應(yīng)消息中存在與當(dāng)前階段的當(dāng)前校驗(yàn)信息匹配的緩存文件的情況下,確定采用將所述緩存文件作為所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建產(chǎn)物的構(gòu)建策略。這樣,通過(guò)與緩存服務(wù)器的交互,能夠獲取到與當(dāng)前構(gòu)建任務(wù)的當(dāng)前校驗(yàn)信息對(duì)應(yīng)的緩存文件,從而能夠在當(dāng)前構(gòu)建任務(wù)在本地首次構(gòu)建的情況下,跳過(guò)配置編譯階段,直接獲取到對(duì)應(yīng)的緩存文件的效果,進(jìn)而提高了構(gòu)建工程軟件的效率。
17、在一些實(shí)施例中,所述基于所述當(dāng)前階段的字典數(shù)據(jù)以及所述工程軟件的源碼校驗(yàn)信息,確定所述當(dāng)前階段的當(dāng)前校驗(yàn)信息,包括:基于預(yù)設(shè)的白名單數(shù)據(jù),確定所述當(dāng)前階段的字典數(shù)據(jù)中的非校驗(yàn)數(shù)據(jù);基于所述當(dāng)前階段的字典數(shù)據(jù)中除所述非校驗(yàn)數(shù)據(jù)以外的校驗(yàn)數(shù)據(jù),以及所述工程軟件的源碼校驗(yàn)信息,確定所述當(dāng)前階段的當(dāng)前校驗(yàn)信息。
18、本技術(shù)實(shí)施例中,為了消除非校驗(yàn)數(shù)據(jù)的影響,可以將當(dāng)前階段的字典數(shù)據(jù)中的非校驗(yàn)數(shù)據(jù)移除,得到校驗(yàn)數(shù)據(jù),然后基于該校驗(yàn)數(shù)據(jù)以及工程軟件的源碼校驗(yàn)信息,確定當(dāng)前階段的當(dāng)前校驗(yàn)信息。這樣,能夠?qū)⒁蚝?jiǎn)單操作而發(fā)生變化的非校驗(yàn)數(shù)據(jù)移除,從而減少了簡(jiǎn)單操作對(duì)構(gòu)建工程軟件的影響,進(jìn)而提高了構(gòu)建工程軟件的效率。
19、第二方面,本技術(shù)實(shí)施例提供一種軟件構(gòu)建裝置,軟件構(gòu)建裝置,包括:
20、獲取模塊,用于獲取當(dāng)前構(gòu)建任務(wù)的當(dāng)前階段的字典數(shù)據(jù)以及工程軟件的源碼校驗(yàn)信息;所述當(dāng)前構(gòu)建任務(wù)為所述工程軟件在構(gòu)建過(guò)程中的任一構(gòu)建任務(wù);
21、第一確定單元,用于基于所述當(dāng)前階段的字典數(shù)據(jù)以及所述工程軟件的源碼校驗(yàn)信息,確定所述當(dāng)前階段的當(dāng)前校驗(yàn)信息;
22、第二確定單元,用于基于所述當(dāng)前階段的當(dāng)前校驗(yàn)信息,確定所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略;
23、第三確定單元,用于基于所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建策略,完成所述當(dāng)前構(gòu)建任務(wù)的構(gòu)建。
24、第三方面,本技術(shù)實(shí)施例提供一種軟件構(gòu)建設(shè)備,包括存儲(chǔ)器和處理器,存儲(chǔ)器存儲(chǔ)有可在處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行程序時(shí)實(shí)現(xiàn)上述方法中的部分或全部步驟。
25、第四方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法中的部分或全部步驟。
26、第五方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法中的部分或全部步驟。
27、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,而非限制本技術(shù)的技術(shù)方案。