From: <kp...@us...> - 2010-09-28 08:02:45
|
Revision: 18624 http://jedit.svn.sourceforge.net/jedit/?rev=18624&view=rev Author: kpouer Date: 2010-09-28 08:02:38 +0000 (Tue, 28 Sep 2010) Log Message: ----------- added ivy support for plugin compilation Modified Paths: -------------- build-support/trunk/plugin-build.xml Added Paths: ----------- build-support/trunk/ivysettings.properties build-support/trunk/ivysettings.xml Added: build-support/trunk/ivysettings.properties =================================================================== --- build-support/trunk/ivysettings.properties (rev 0) +++ build-support/trunk/ivysettings.properties 2010-09-28 08:02:38 UTC (rev 18624) @@ -0,0 +1 @@ +mirror=ovh \ No newline at end of file Added: build-support/trunk/ivysettings.xml =================================================================== --- build-support/trunk/ivysettings.xml (rev 0) +++ build-support/trunk/ivysettings.xml 2010-09-28 08:02:38 UTC (rev 18624) @@ -0,0 +1,13 @@ +<ivysettings> + <properties file="ivysettings.properties"/> + <resolvers> + <ibiblio name="maven" m2compatible="true" usepoms="false"/> + <url name="jedit-plugins-resolver"> + <artifact pattern="jar:http://${mirror}.dl.sourceforge.net/sourceforge/jedit-plugins/[artifact]-[revision]-bin.zip!/[artifact].jar" /> + </url> + </resolvers> + <modules> + <module organisation="jedit-plugins" name=".*" resolver="jedit-plugins-resolver"/> + <module organisation="*" name=".*" resolver="maven"/> + </modules> +</ivysettings> \ No newline at end of file Modified: build-support/trunk/plugin-build.xml =================================================================== --- build-support/trunk/plugin-build.xml 2010-09-28 04:30:48 UTC (rev 18623) +++ build-support/trunk/plugin-build.xml 2010-09-28 08:02:38 UTC (rev 18624) @@ -1,4 +1,4 @@ -<project name="jEditPlugin" default="build"> +<project xmlns:ivy="antlib:org.apache.ivy.ant" name="jEditPlugin" default="build"> <!-- {{{ Top-Level build file for jEdit plugins. ====== --> <!-- @@ -70,6 +70,7 @@ <property name="build.docs" value="${build.dir}/docs" /> <property name="build.javadoc" value="${build.docs}/javadoc" /> <property name="build.extras" value="${build.dir}/extras" /> + <property name="build.lib" value="${build.dir}/lib" /> <!-- default compiler flags --> <property name="compiler.debug" value="off" /> @@ -125,6 +126,9 @@ <path id="default.class.path"> <pathelement location="${jedit.install.dir}/jedit.jar" /> <pathelement location="${junit.jar}" /> + <fileset dir="${build.dir}"> + <include name="lib/*.jar"/> + </fileset> </path> <!-- this is the classpath used by the "compile" @@ -215,6 +219,51 @@ </and> </selector> + <!--{{{ Ivy setup *****============================== --> + <property name="ivy.install.version" value="2.2.0-rc1" /> + <condition property="ivy.home" value="${env.IVY_HOME}"> + <isset property="env.IVY_HOME" /> + </condition> + <property name="ivy.home" value="${user.home}/.ant" /> + <property name="ivy.jar.dir" value="${ivy.home}/lib" /> + <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" /> + <property name="ivy.settings.file" value="${build.support}/ivysettings.xml" /> + + <target name="download-ivy" unless="offline"> + + <mkdir dir="${ivy.jar.dir}"/> + <!-- download Ivy from web site so that it can be used even without any special installation --> + <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" + dest="${ivy.jar.file}" usetimestamp="true"/> + </target> + + <target name="init-ivy" depends="download-ivy"> + <!-- try to load ivy here from ivy home, in case the user has not already dropped + it into ant's lib dir (note that the latter copy will always take precedence). + We will not fail as long as local lib dir exists (it may be empty) and + ivy is in at least one of ant's lib dir or the local lib dir. --> + <path id="ivy.lib.path"> + <fileset dir="${ivy.jar.dir}" includes="*.jar"/> + + </path> + <taskdef resource="org/apache/ivy/ant/antlib.xml" + uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/> + </target> + <!--}}}--> + + <!--{{{ Target: resolve ============================== --> + <target name="checkIvy"> + <condition property="ivyPresent"> + <available file="ivy.xml" type="file"/> + </condition> + </target> + <target name="resolve" description="Retrieve dependencies" + depends="checkIvy,init-ivy" if="ivyPresent"> + <echo>ivy.xml present, retrieving dependencies</echo> + <ivy:retrieve pattern="${build.lib}/[artifact].[ext]"/> + </target> + <!-- ===============================================}}} --> + <!-- {{{ Target: compile ============================== --> <!-- Compiles all the ".java" files present in the directory pointed by the "src.dir" property @@ -233,7 +282,7 @@ compiler.source: the source option (1.5) compiler.listfiles: the listfiles option (no) --> <target name="compile" - description="Compile the plugin's classes"> + description="Compile the plugin's classes" depends="resolve"> <mkdir dir="${build.classes}" /> <jp.javac> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |