Ant visualize plugin

 

Thời gian gần đây, tôi có nhu cầu sử dụng Ant, mặc dù đã biết Ant từ khá lâu (hơn 1 năm) nhưng lần này thì mới  là ….”thực sự sử dụng” và trải nghiệm của tôi là : sao mà rắc rối thế.

Ant thì tốt, tuy nhiên điều tôi thấy là nó thiếu một công cụ để hỗ trợ giao diện, như các bạn thấy, đọc một file Ant và thao tác trên nó, đặc biệt trên một file Ant lớn thì quả nhiên là….điên đầu.

Cái khó nên tôi phải ráng ló cái khôn, sau khi cực nhọc cho xong cái project, tôi cũng quyết định viết một plugin cho nó(test và xài cho project sau).

Tôi viết một “Ant Visualize plugin” với mục đích visualize một file Ant, chương trình sẽ đọc file Ant và vẽ một Graph, mỗi một task sẽ tương ứng một node trên graph nà, double click lên task để thực thi.

 

image

Left: thông tin console khi chạy plugin.

Right: Graph visualize của file Ant.

Double Click lên  Task để thực thi.

1. Cài đặt:

Chương trình sử dụng thư viện GEF của eclipse, nếu phiên bản eclipse của bạn là myeclipse thì thư viện này đã được tích hợp sẵn (Tôi kiểm tra trên myeclipse 6.6, 7.0 và 7.5).

Nếu sử dụng eclipse, chương trình có thể chạy được trên phiên bản eclipse 3.4 và 3.5 (ganymede và Galileo) với những version khác thì tôi chưa test, nhưng chắc chắn là nó cũng sẽ chạy được.

1.1 Cài đặt GEF cho eclipse:

Bạn download thư viện GEF từ địa chỉ sau:

http://www.mediafire.com/file/qlz3tittnzz/GEF-ALL-3.5.0.zip

Sau đó giả nén vào thư mục gốc của eclipse:

image

giải nén vào thư mục gốc chứa eclipse.

Lưu ý : Khi giải nén vào thư mục gốc, winrar sẽ chép đè một số file, OK để tiếp tục.

(Nhớ exit eclipse trước khi giải nén).

1.2 Cài đặt Ant Visualize Plugin:

Cài đặt Ant Visualize hết sức đơn giản, bạn download file từ địa chỉ sau:

http://www.mediafire.com/file/om0zwmyyj0y/antvisualize.rar

Chép file AntVisualizePlugin_1.0.0.jar vào thư mục dropins

image

Khởi động (khỏi động lai) eclipse và bạn có thể sử dụng plugin này.

2. Hướng dẫn sử dụng:

Khởi động eclipse/myeclipse

Nếu cửa sổ plugin chưa xuất hiện, bạn vào Window/Show view/Other…

image

Kéo xuống cuối và chọn Ant Visualize.

image

Bạn cũng nên mở cửa sổ Console để theo dõi thông báo từ plugin(Window/Show View/Console).

Trên cửa sổ Ant Visualize click Open Ant

image

Cuối cùng chọn Load/Reload.

image

Double Click vào Node để chạy một task.

(Lưu ý: để một task có thể thực thi được, Ant phải được cài đặt trên hệ thống gồm ANT_HOME và PATH=ANT_HOME/bin. Nói chung nếu máy bạn lâu nay chạy được Ant là được rồi).

Trong quá trình chạy, Console có thể làm cho bạn bị rối, check vào CheckBox : “Clear console before execute task” console sẽ tự clear trước khi chạy một task khác.

Nó được visualize từ file xml như sau:

<?xml version="1.0"?>
<project name="UKLights" default="all" basedir=".">

    <property name="src" value="src"/>
    <property name="build" value="build"/>
    <property name="build.jar" value="build\jar"/>
    <property name="class.dir" value="build\classes"/>
    <property name="lib" value="lib"/>
    <path id="compile.classpath">
        <fileset dir="${lib}">
            <include name="*.jar"/>
        </fileset>
    </path>

    <target name="init">
          <mkdir dir="${build}"/>
    </target>

    <target name="all" depends="UKLights" description="builds whole projects">        <echo> Doing all </echo>     </target>
    <target name="UKLights" depends="compile,copygoogle"
            description="Builds the main UKLights project">
        <echo>Doing UKLights</echo>
    </target>
    <target name="compile" depends="clean,init">
    <mkdir dir="${class.dir}"/>
        <!-- Compile the java code -->
        <javac srcdir="${src}" destdir="${class.dir}">
            <classpath refid="compile.classpath"/>
        </javac>
    </target>
    <target name="jar">
        <mkdir dir="${build.jar}"/>
        <jar destfile="${build.jar}/HelloWorld.jar" basedir="${class.dir}">
            <manifest>
                <attribute name="Main-Class" value="UKLights"/>
            </manifest>
        </jar>
    </target>

    <target name="run">
        <java jar="${build.jar}/HelloWorld.jar" fork="true"/>
    </target>

    <target name="copygoogle" depends="compile">
        <copy file="${src}/google.png" tofile="${class.dir}/google.png"/>
    </target>
    <target name="clean" description="Removes previous build">
        <delete verbose="true">
            <fileset dir="${build}"/>
        </delete>
    </target>
</project>

 

Lần đầu tiên mình viết một sản phẩm cho ….cộng đồng nên chắc là sản phẩm sẽ có những ….ngây ngô nhất định, mong bạn đóng góp để mình cải thiện trong thời gian tới.

Nếu có thể xin comment trên blog này

Blog : dangtritue.blogspot.com

hay gửi một yêu cầu qua mail nhé:

Email: dangtritue@yahoo.com

Download một số ví dụ về Ant tại đây:

http://www.mediafire.com/file/wqndkghyzdh/AntExamples.rar

Nếu bạn nào gặp trục trặc về vấn đề download/Cài đặt, hãy liên hệ ngay nhé.

Hy vọng là một công cụ hữu ích cho cộng đồng.

Lang Thang.

About Langthang

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

3 comments :

  1. Hi,

    plugin của bạn tương thích với phiên bản nào của Eclipse? Mình thử trên 3.4.2 thì bị stackoverflow.

    plugin này có hỗ trợ các file ant đc import hay các lệnh ant trong file ant ko?

    Truong

    ReplyDelete
  2. Lâu quá rồi mới ghé thăm admin, blog thay đổi nhiều vậy.

    ReplyDelete