| <project name="StructuralSearchPlugin" default="jar_plugin" basedir=""> |
| <property name="plugname" value="StructuralSearchPlugin"/> |
| <property name="releasePlugname" value="SS"/> |
| <property name="build.path" value="${project.path}/build_out"/> |
| <property name="version" value="0.7.0.1"/> |
| <property name="description" value="This is experimental yet useful plugin for searching source code |
| in terms of java syntax (query code by example :-). It is intended to be used for: |
| &lt;LI&gt;understanding new libraries, finding highlevel code patterns (singletons, serialization implementation, |
| Struts actions, ejbs, servlets, filters, source metadata, etc), analyzing |
| opportunities for aspect refactoring (finding exception handling, methods with |
| specific signatures and structure, etc). For instance, for exploring source code of JDK 1.5 with Aurora |
| one could use search to find added entities (classes, methods, etc), generic classes, methods and declarations or just |
| parameterized symbols. Note, that the plugin could miss some generic stuff that is not supported by Aurora (e.g. anonymous typed vars). |
| &lt;LI&gt; finding expressions, statements or group of statements regardsless of particular whitespace indentation. |
| This could be useful e.g. after applying extract method refactoring to find the other occurences the such extracted code. |
| &lt;LI&gt;Find code fragments (symbols, references, constants) like given pattern. |
| &lt;BR&gt;Warning, the plugin is PSI dependent, works with 1156 and 706" /> |
| <target name="clean"> |
| <delete includeEmptyDirs="true" failonerror="false"> |
| <fileset dir="${build.path}" includes="**/*.class,**/*.html,META-INF/*.xml,META-INF/*.txt"/> |
| </delete> |
| <mkdir dir="${build.path}"/> |
| </target> |
| <target name="copy_files"> |
| <copy todir="${build.path}/META-INF" > |
| <fileset dir="${project.path}/META-INF" includes="plugin.xml,version.txt"/> |
| </copy> |
| <copy todir="${build.path}/resources"> |
| <fileset dir="${project.path}/resources"/> |
| </copy> |
| <copy todir="${build.path}"> |
| <fileset dir="${project.path}/classes" includes="**/*.class"> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="version" depends="copy_files"> |
| <replace dir="${build.path}" includes="**/*.xml **/*.html **/*.txt"> |
| <replacefilter token="@PLUGIN.VERSION@" value="${version}"/> |
| <replacefilter token="@PLUGIN.DESCRIPTION@" value="${description}"/> |
| </replace> |
| </target> |
| <target name="jar_plugin" depends="clean,copy_files,version" > |
| |
| <jar jarfile="${build.path}/${plugname}.jar" basedir="${build.path}" |
| excludes="${plugname}.jar" |
| /> |
| |
| <copy todir="${idea.path}/debug/plugins"> |
| <fileset dir="${build.path}" includes="*.jar" /> |
| </copy> |
| </target> |
| </project> |