diff --git a/proposal/myrmidon/antlib.xml b/proposal/myrmidon/antlib.xml
index 6b70d9fe2..6ff50788b 100644
--- a/proposal/myrmidon/antlib.xml
+++ b/proposal/myrmidon/antlib.xml
@@ -56,24 +56,21 @@ Legal:
-
-
-
+
-
-
-
-
-
-
-
+
diff --git a/proposal/myrmidon/build.xml b/proposal/myrmidon/build.xml
index 13a2e6ea1..97ed68a8d 100644
--- a/proposal/myrmidon/build.xml
+++ b/proposal/myrmidon/build.xml
@@ -182,6 +182,16 @@ Legal:
+
+
+
+
+
+
+
+
+
+
@@ -292,7 +302,7 @@ Legal:
-
+
@@ -302,9 +312,12 @@ Legal:
-
+
@@ -316,19 +329,7 @@ Legal:
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+ manifest="${manifest.dir}/selftest.mf"
+ descriptor="${manifest.dir}/selftest-ant-descriptor.xml"
+ rolesDescriptor="${manifest.dir}/empty-roles.xml">
-
-
-
-
-
-
-
+
Adam Murdoch
+ * @version $Revision$ $Date$
+ */
+public class AntlibJarTask
+ extends Jar
+{
+ private File m_roleDescriptor;
+ private File m_typeDescriptor;
+ private File m_serviceDescriptor;
+
+ public void setRolesDescriptor( final File roleDescriptor )
+ {
+ m_roleDescriptor = roleDescriptor;
+ }
+
+ public void setDescriptor( final File typeDescriptor )
+ {
+ m_typeDescriptor = typeDescriptor;
+ }
+
+ public void setServicesDescriptor( final File serviceDescriptor )
+ {
+ m_serviceDescriptor = serviceDescriptor;
+ }
+
+ public void execute() throws BuildException
+ {
+ maybeAddFile( m_roleDescriptor, "META-INF/ant-roles.xml" );
+ maybeAddFile( m_typeDescriptor, "META-INF/ant-descriptor.xml" );
+ maybeAddFile( m_serviceDescriptor, "META-INF/ant-services.xml" );
+
+ super.execute();
+ }
+
+ private void maybeAddFile( final File file, final String path )
+ {
+ if( file == null )
+ {
+ return;
+ }
+ if( ! file.isFile() )
+ {
+ throw new BuildException( "File \"" + file + "\" does not exist or is not a file." );
+ }
+
+ // Create a ZipFileSet for this file, and pass it up.
+ final ZipFileSet fs = new ZipFileSet();
+ fs.setDir( file.getParentFile() );
+ fs.setIncludes( file.getName() );
+ fs.setFullpath( path );
+ addFileset( fs );
+ }
+}
diff --git a/proposal/myrmidon/src/manifest/core-ant-descriptor.template b/proposal/myrmidon/src/manifest/ant-descriptor.template
similarity index 100%
rename from proposal/myrmidon/src/manifest/core-ant-descriptor.template
rename to proposal/myrmidon/src/manifest/ant-descriptor.template
diff --git a/proposal/myrmidon/src/manifest/builtin-ant-roles.template b/proposal/myrmidon/src/manifest/ant-roles.template
similarity index 100%
rename from proposal/myrmidon/src/manifest/builtin-ant-roles.template
rename to proposal/myrmidon/src/manifest/ant-roles.template