From fad2050774dddbde79936890651b6c5943080d04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Thu, 26 May 2005 14:45:51 +0000 Subject: [PATCH] - ontoalign is now divided in three jars (align, procalign, alignwn) - ithere has been a lot of clean up in lib - there has been quite some clean up in ling --- build.xml | 12 ++++++++---- distrib/MANIFEST-pr.MF | 4 ++++ distrib/MANIFEST-wn.MF | 4 ++++ distrib/MANIFEST.MF | 3 +-- distrib/README.TXT | 4 ++-- lib/procalign.jar | Bin 87273 -> 77905 bytes 6 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 distrib/MANIFEST-pr.MF create mode 100644 distrib/MANIFEST-wn.MF diff --git a/build.xml b/build.xml index 6b4a8bc7..62d72cc4 100644 --- a/build.xml +++ b/build.xml @@ -69,14 +69,18 @@ <echo message="Jarchiving..."/> <copy file="distrib/LICENSE.TXT" tofile="classes/LICENSE.TXT" filtering="true"/> <delete file="lib/align.jar"/> - <jar jarfile="lib/align.jar"> + <jar jarfile="lib/align.jar" manifest="distrib/MANIFEST.MF"> <fileset dir="classes" includes="org/**/*.class"/> <fileset dir="classes" includes="LICENSE.TXT"/> </jar> <delete file="lib/procalign.jar"/> - <jar jarfile="lib/procalign.jar" manifest="distrib/MANIFEST.MF"> - <fileset dir="classes" includes="fr/**/*.class"/> - <!--fileset dir="resources" includes="*.properties"/--> + <jar jarfile="lib/procalign.jar" manifest="distrib/MANIFEST-pr.MF"> + <fileset dir="classes" includes="fr/**/*.class" excludes="fr/inrialpes/exmo/align/ling/**/*.class"/> + <fileset dir="classes" includes="LICENSE.TXT"/> + </jar> + <delete file="lib/alignwn.jar"/> + <jar jarfile="lib/alignwn.jar" manifest="distrib/MANIFEST-wn.MF"> + <fileset dir="classes" includes="fr/inrialpes/exmo/align/ling/**/*.class"/> <fileset dir="classes" includes="LICENSE.TXT"/> </jar> </target> diff --git a/distrib/MANIFEST-pr.MF b/distrib/MANIFEST-pr.MF new file mode 100644 index 00000000..976994e7 --- /dev/null +++ b/distrib/MANIFEST-pr.MF @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Created-By: Jerome.Euzenat@inrialpes.fr +Class-Path: api.jar impl.jar io.jar rdfparser.jar getopt.jar commons-logging.jar log4j.jar rdfapi.jar align.jar procalign.jar +Main-Class: fr/inrialpes/exmo/align/util/Procalign diff --git a/distrib/MANIFEST-wn.MF b/distrib/MANIFEST-wn.MF new file mode 100644 index 00000000..13c629cc --- /dev/null +++ b/distrib/MANIFEST-wn.MF @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Created-By: Jerome.Euzenat@inrialpes.fr +Class-Path: api.jar impl.jar io.jar rdfparser.jar jwnl.jar getopt.jar commons-logging.jar log4j.jar rdfapi.jar align.jar procalign.jar alignwn.jar +Main-Class: fr/inrialpes/exmo/align/util/Procalign diff --git a/distrib/MANIFEST.MF b/distrib/MANIFEST.MF index cf807956..d25b20d2 100644 --- a/distrib/MANIFEST.MF +++ b/distrib/MANIFEST.MF @@ -1,4 +1,3 @@ Manifest-Version: 1.0 Created-By: Jerome.Euzenat@inrialpes.fr -Class-Path: api.jar examples.jar impl.jar io.jar owltest.jar rdfparser.jar jwnl.jar dig.jar getopt.jar inference.jar commons-logging.jar log4j.jar rdfapi.jar validation.jar align.jar procalign.jar -Main-Class: fr/inrialpes/exmo/align/util/Procalign +Class-Path: api.jar impl.jar io.jar rdfparser.jar getopt.jar commons-logging.jar log4j.jar rdfapi.jar align.jar diff --git a/distrib/README.TXT b/distrib/README.TXT index f4a3f089..6da81681 100644 --- a/distrib/README.TXT +++ b/distrib/README.TXT @@ -1,7 +1,7 @@ Ontology alignment API and implementation, version @VERS@ @DATE@ -Copyright (C) 2003-2004 INRIA Rhône-Alpes. +Copyright (C) 2003-2005 INRIA Rhône-Alpes. Copyright (C) 2004 Université de Montréal. This program is free software; you can redistribute it and/or @@ -63,7 +63,7 @@ Using with JWNL (Wordnet) - jwnl.jar commons-logging.jar must be in lib. - file_properties.xml must be in current directory -$ java -jar lib/procalign.jar file://localhost$CWD/rdf/edu.umbc.ebiquity.publication.owl file://localhost$CWD/rdf/edu.mit.visus.bibtex.owl -i fr.inrialpes.exmo.align.ling.JWNLAlignmentTest -o aligns/JWNL.owl +$ java -jar lib/alignwn.jar file://localhost$CWD/rdf/edu.umbc.ebiquity.publication.owl file://localhost$CWD/rdf/edu.mit.visus.bibtex.owl -i fr.inrialpes.exmo.align.ling.JWNLAlignmentTest -o aligns/JWNL.owl LAST RELEASE ------------ diff --git a/lib/procalign.jar b/lib/procalign.jar index d2c18ca7dda62e1c77967dbb418b33787320c20a..57d257fc30ffc022cae14b0223fa5ba66e6bb81e 100644 GIT binary patch delta 2622 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 X=dx`nYPd_WuoKAEfrM1+VROiTF|Yr0 delta 11831 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 G0Qf%_A%c$p -- GitLab