二、編譯(Ant)
代碼更新成功之后,下一步就是要編譯。這里使用默認的 Ant 構建文件 build.xml。Ant 的編譯命令如下:
首先清理原來的編譯文件:
ant clean |
然后重新編譯整個工程:
ant –f build.xml –lib ecj.jar |
通常會把 ant 的日志文件打印出來分析。如果編譯成功在日志文件中可以看到如下關鍵字:
BUILD SUCCESSFUL Total time: 25 seconds Buildfile: build.xml |
如果編譯失敗,則會打印出如下日志。從日志中可以分析出出現編譯錯誤的兩個 java 文件是 MailSignatureTasks.java 和 SignatureAddVCardWithPhoto.java,下面已經用黑體字標出。
ECHO is off. Buildfile: build.xml init: [echo] Check for necessary classpath elements, fail without them. [echo] RFT Java compiler W32 = C:\Program Files\IBM\SDP70\jdk\bin\javac.exe [echo] Jar (cbg) = C:\Documents and Settings\zhangsis\zhangsis_notesclient_int\ wplcqe.02\notesclient\utilities\svt\cbg.perf_1.5.0.jar [echo] Jar (jcommon) = C:\Documents and Settings\zhangsis\zhangsis_notesclient_int\ wplcqe.02\notesclient\utilities\svt\jcommon-1.0.6.jar [echo] Jar (jfreechart) = C:\Documents and Settings\zhangsis\zhangsis_notesclient_int\ wplcqe.02\notesclient\utilities\svt\jfreechart-1.0.2.jar [echo] Jar (Notes) = C:\Documents and Settings\zhangsis\zhangsis_notesclient_int\ wplcqe.02\notesclient\utilities\jars\Notes.jar compile_datastore_w32: [echo] Compile the Java files in notesclient RFT datastore [rft_javac_1.5] Compiling 195 source files to C:\Documents and Settings\zhangsis\ zhangsis_notesclient_int\wplcqe.02\notesclient [rft_javac_1.5] C:/Documents and Settings/zhangsis/zhangsis_notesclient_int/ wplcqe.02/notesclient/tasks/client/mail/MailSignatureTasks.java:270: cannot find symbol [rft_javac_1.5] symbol : method deletePhoto() [rft_javac_1.5] location: class appobjects.dialog.client.mail.DlgAppendVcard [rft_javac_1.5] dlgAppend.deletePhoto(); [rft_javac_1.5] ^ [rft_javac_1.5] C:/Documents and Settings/zhangsis/zhangsis_notesclient_int/wplcqe.02/ notesclient/testcases/client/pim/mail/signature/SignatureAddVCardWithPhoto.java:112: cannot find symbol [rft_javac_1.5] symbol : method setPhoto(java.lang.String) [rft_javac_1.5] location: class appobjects.dialog.client.mail.DlgAppendVcard [rft_javac_1.5] log.altVerify(true, dlgAppend.setPhoto(sPicname), "Set Photo"); [rft_javac_1.5] ^ [rft_javac_1.5] Note: * uses or overrides a deprecated API. [rft_javac_1.5] Note: Recompile with -Xlint:deprecation for details. [rft_javac_1.5] Note: Some input files use unchecked or unsafe operations. [rft_javac_1.5] Note: Recompile with -Xlint:unchecked for details. [rft_javac_1.5] 2 errors |
三、壓縮文件(STAF)
如果編譯成功就壓縮所有測試腳本,上傳到 LA Server。利用 STAF 壓縮文件的命令是:
staf local zip add zipfile <filename> directory <directory name> RECURSE relativeto <Directory> |
四、創建 Maseline(Cleartool)
編譯成功之后,還有個任務是要創建 baseline,這樣如果以后需要某個不同版本的代碼,也可以順利找回來,cleartool 命令是:
cleartool mkbl -view <baseline name> |
五、找編譯錯誤的文件和作者(Cleartool)
如果編譯有錯,則在日志文件中通過正則表達式匹配找到編譯有錯的腳本,然后通過如下 cleartool 命令找到最后在 ClearCase 里邊更新腳本的 ID:
cleartool desc -fmt %u <element> |
原文轉自:http://www.anti-gravitydesign.com