fix eol: add svn property + run fixcrlf to use native eol for all text files

git-svn-id: https://svn.apache.org/repos/asf/incubator/ivy/core/trunk@544480 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Xavier Hanin 2007-06-05 13:21:26 +00:00
parent 2461d9c7bc
commit cb52855f86
896 changed files with 77910 additions and 77900 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
Apache Ivy is an effort undergoing incubation at The Apache Software
Foundation (ASF). Incubation is required of all newly accepted projects
until a further review indicates that the infrastructure, communications,
and decision making process have stabilized in a manner consistent with
other successful ASF projects. While incubation status is not necessarily
a reflection of the completeness or stability of the code, it does
Apache Ivy is an effort undergoing incubation at The Apache Software
Foundation (ASF). Incubation is required of all newly accepted projects
until a further review indicates that the infrastructure, communications,
and decision making process have stabilized in a manner consistent with
other successful ASF projects. While incubation status is not necessarily
a reflection of the completeness or stability of the code, it does
indicate that the project has yet to be fully endorsed by the ASF.

404
LICENSE
View File

@ -1,203 +1,203 @@
/*
* Apache License
* Version 2.0, January 2004
* http://www.apache.org/licenses/
*
* TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
*
* 1. Definitions.
*
* "License" shall mean the terms and conditions for use, reproduction,
* and distribution as defined by Sections 1 through 9 of this document.
*
* "Licensor" shall mean the copyright owner or entity authorized by
* the copyright owner that is granting the License.
*
* "Legal Entity" shall mean the union of the acting entity and all
* other entities that control, are controlled by, or are under common
* control with that entity. For the purposes of this definition,
* "control" means (i) the power, direct or indirect, to cause the
* direction or management of such entity, whether by contract or
* otherwise, or (ii) ownership of fifty percent (50%) or more of the
* outstanding shares, or (iii) beneficial ownership of such entity.
*
* "You" (or "Your") shall mean an individual or Legal Entity
* exercising permissions granted by this License.
*
* "Source" form shall mean the preferred form for making modifications,
* including but not limited to software source code, documentation
* source, and configuration files.
*
* "Object" form shall mean any form resulting from mechanical
* transformation or translation of a Source form, including but
* not limited to compiled object code, generated documentation,
* and conversions to other media types.
*
* "Work" shall mean the work of authorship, whether in Source or
* Object form, made available under the License, as indicated by a
* copyright notice that is included in or attached to the work
* (an example is provided in the Appendix below).
*
* "Derivative Works" shall mean any work, whether in Source or Object
* form, that is based on (or derived from) the Work and for which the
* editorial revisions, annotations, elaborations, or other modifications
* represent, as a whole, an original work of authorship. For the purposes
* of this License, Derivative Works shall not include works that remain
* separable from, or merely link (or bind by name) to the interfaces of,
* the Work and Derivative Works thereof.
*
* "Contribution" shall mean any work of authorship, including
* the original version of the Work and any modifications or additions
* to that Work or Derivative Works thereof, that is intentionally
* submitted to Licensor for inclusion in the Work by the copyright owner
* or by an individual or Legal Entity authorized to submit on behalf of
* the copyright owner. For the purposes of this definition, "submitted"
* means any form of electronic, verbal, or written communication sent
* to the Licensor or its representatives, including but not limited to
* communication on electronic mailing lists, source code control systems,
* and issue tracking systems that are managed by, or on behalf of, the
* Licensor for the purpose of discussing and improving the Work, but
* excluding communication that is conspicuously marked or otherwise
* designated in writing by the copyright owner as "Not a Contribution."
*
* "Contributor" shall mean Licensor and any individual or Legal Entity
* on behalf of whom a Contribution has been received by Licensor and
* subsequently incorporated within the Work.
*
* 2. Grant of Copyright License. Subject to the terms and conditions of
* this License, each Contributor hereby grants to You a perpetual,
* worldwide, non-exclusive, no-charge, royalty-free, irrevocable
* copyright license to reproduce, prepare Derivative Works of,
* publicly display, publicly perform, sublicense, and distribute the
* Work and such Derivative Works in Source or Object form.
*
* 3. Grant of Patent License. Subject to the terms and conditions of
* this License, each Contributor hereby grants to You a perpetual,
* worldwide, non-exclusive, no-charge, royalty-free, irrevocable
* (except as stated in this section) patent license to make, have made,
* use, offer to sell, sell, import, and otherwise transfer the Work,
* where such license applies only to those patent claims licensable
* by such Contributor that are necessarily infringed by their
* Contribution(s) alone or by combination of their Contribution(s)
* with the Work to which such Contribution(s) was submitted. If You
* institute patent litigation against any entity (including a
* cross-claim or counterclaim in a lawsuit) alleging that the Work
* or a Contribution incorporated within the Work constitutes direct
* or contributory patent infringement, then any patent licenses
* granted to You under this License for that Work shall terminate
* as of the date such litigation is filed.
*
* 4. Redistribution. You may reproduce and distribute copies of the
* Work or Derivative Works thereof in any medium, with or without
* modifications, and in Source or Object form, provided that You
* meet the following conditions:
*
* (a) You must give any other recipients of the Work or
* Derivative Works a copy of this License; and
*
* (b) You must cause any modified files to carry prominent notices
* stating that You changed the files; and
*
* (c) You must retain, in the Source form of any Derivative Works
* that You distribute, all copyright, patent, trademark, and
* attribution notices from the Source form of the Work,
* excluding those notices that do not pertain to any part of
* the Derivative Works; and
*
* (d) If the Work includes a "NOTICE" text file as part of its
* distribution, then any Derivative Works that You distribute must
* include a readable copy of the attribution notices contained
* within such NOTICE file, excluding those notices that do not
* pertain to any part of the Derivative Works, in at least one
* of the following places: within a NOTICE text file distributed
* as part of the Derivative Works; within the Source form or
* documentation, if provided along with the Derivative Works; or,
* within a display generated by the Derivative Works, if and
* wherever such third-party notices normally appear. The contents
* of the NOTICE file are for informational purposes only and
* do not modify the License. You may add Your own attribution
* notices within Derivative Works that You distribute, alongside
* or as an addendum to the NOTICE text from the Work, provided
* that such additional attribution notices cannot be construed
* as modifying the License.
*
* You may add Your own copyright statement to Your modifications and
* may provide additional or different license terms and conditions
* for use, reproduction, or distribution of Your modifications, or
* for any such Derivative Works as a whole, provided Your use,
* reproduction, and distribution of the Work otherwise complies with
* the conditions stated in this License.
*
* 5. Submission of Contributions. Unless You explicitly state otherwise,
* any Contribution intentionally submitted for inclusion in the Work
* by You to the Licensor shall be under the terms and conditions of
* this License, without any additional terms or conditions.
* Notwithstanding the above, nothing herein shall supersede or modify
* the terms of any separate license agreement you may have executed
* with Licensor regarding such Contributions.
*
* 6. Trademarks. This License does not grant permission to use the trade
* names, trademarks, service marks, or product names of the Licensor,
* except as required for reasonable and customary use in describing the
* origin of the Work and reproducing the content of the NOTICE file.
*
* 7. Disclaimer of Warranty. Unless required by applicable law or
* agreed to in writing, Licensor provides the Work (and each
* Contributor provides its Contributions) on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied, including, without limitation, any warranties or conditions
* of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
* PARTICULAR PURPOSE. You are solely responsible for determining the
* appropriateness of using or redistributing the Work and assume any
* risks associated with Your exercise of permissions under this License.
*
* 8. Limitation of Liability. In no event and under no legal theory,
* whether in tort (including negligence), contract, or otherwise,
* unless required by applicable law (such as deliberate and grossly
* negligent acts) or agreed to in writing, shall any Contributor be
* liable to You for damages, including any direct, indirect, special,
* incidental, or consequential damages of any character arising as a
* result of this License or out of the use or inability to use the
* Work (including but not limited to damages for loss of goodwill,
* work stoppage, computer failure or malfunction, or any and all
* other commercial damages or losses), even if such Contributor
* has been advised of the possibility of such damages.
*
* 9. Accepting Warranty or Additional Liability. While redistributing
* the Work or Derivative Works thereof, You may choose to offer,
* and charge a fee for, acceptance of support, warranty, indemnity,
* or other liability obligations and/or rights consistent with this
* License. However, in accepting such obligations, You may act only
* on Your own behalf and on Your sole responsibility, not on behalf
* of any other Contributor, and only if You agree to indemnify,
* defend, and hold each Contributor harmless for any liability
* incurred by, or claims asserted against, such Contributor by reason
* of your accepting any such warranty or additional liability.
*
* END OF TERMS AND CONDITIONS
*
* APPENDIX: How to apply the Apache License to your work.
*
* To apply the Apache License to your work, attach the following
* boilerplate notice, with the fields enclosed by brackets "[]"
* replaced with your own identifying information. (Don't include
* the brackets!) The text should be enclosed in the appropriate
* comment syntax for the file format. We also recommend that a
* file or class name and description of purpose be included on the
* same "printed page" as the copyright notice for easier
* identification within third-party archives.
*
* Copyright [yyyy] [name of copyright owner]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
/*
* Apache License
* Version 2.0, January 2004
* http://www.apache.org/licenses/
*
* TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
*
* 1. Definitions.
*
* "License" shall mean the terms and conditions for use, reproduction,
* and distribution as defined by Sections 1 through 9 of this document.
*
* "Licensor" shall mean the copyright owner or entity authorized by
* the copyright owner that is granting the License.
*
* "Legal Entity" shall mean the union of the acting entity and all
* other entities that control, are controlled by, or are under common
* control with that entity. For the purposes of this definition,
* "control" means (i) the power, direct or indirect, to cause the
* direction or management of such entity, whether by contract or
* otherwise, or (ii) ownership of fifty percent (50%) or more of the
* outstanding shares, or (iii) beneficial ownership of such entity.
*
* "You" (or "Your") shall mean an individual or Legal Entity
* exercising permissions granted by this License.
*
* "Source" form shall mean the preferred form for making modifications,
* including but not limited to software source code, documentation
* source, and configuration files.
*
* "Object" form shall mean any form resulting from mechanical
* transformation or translation of a Source form, including but
* not limited to compiled object code, generated documentation,
* and conversions to other media types.
*
* "Work" shall mean the work of authorship, whether in Source or
* Object form, made available under the License, as indicated by a
* copyright notice that is included in or attached to the work
* (an example is provided in the Appendix below).
*
* "Derivative Works" shall mean any work, whether in Source or Object
* form, that is based on (or derived from) the Work and for which the
* editorial revisions, annotations, elaborations, or other modifications
* represent, as a whole, an original work of authorship. For the purposes
* of this License, Derivative Works shall not include works that remain
* separable from, or merely link (or bind by name) to the interfaces of,
* the Work and Derivative Works thereof.
*
* "Contribution" shall mean any work of authorship, including
* the original version of the Work and any modifications or additions
* to that Work or Derivative Works thereof, that is intentionally
* submitted to Licensor for inclusion in the Work by the copyright owner
* or by an individual or Legal Entity authorized to submit on behalf of
* the copyright owner. For the purposes of this definition, "submitted"
* means any form of electronic, verbal, or written communication sent
* to the Licensor or its representatives, including but not limited to
* communication on electronic mailing lists, source code control systems,
* and issue tracking systems that are managed by, or on behalf of, the
* Licensor for the purpose of discussing and improving the Work, but
* excluding communication that is conspicuously marked or otherwise
* designated in writing by the copyright owner as "Not a Contribution."
*
* "Contributor" shall mean Licensor and any individual or Legal Entity
* on behalf of whom a Contribution has been received by Licensor and
* subsequently incorporated within the Work.
*
* 2. Grant of Copyright License. Subject to the terms and conditions of
* this License, each Contributor hereby grants to You a perpetual,
* worldwide, non-exclusive, no-charge, royalty-free, irrevocable
* copyright license to reproduce, prepare Derivative Works of,
* publicly display, publicly perform, sublicense, and distribute the
* Work and such Derivative Works in Source or Object form.
*
* 3. Grant of Patent License. Subject to the terms and conditions of
* this License, each Contributor hereby grants to You a perpetual,
* worldwide, non-exclusive, no-charge, royalty-free, irrevocable
* (except as stated in this section) patent license to make, have made,
* use, offer to sell, sell, import, and otherwise transfer the Work,
* where such license applies only to those patent claims licensable
* by such Contributor that are necessarily infringed by their
* Contribution(s) alone or by combination of their Contribution(s)
* with the Work to which such Contribution(s) was submitted. If You
* institute patent litigation against any entity (including a
* cross-claim or counterclaim in a lawsuit) alleging that the Work
* or a Contribution incorporated within the Work constitutes direct
* or contributory patent infringement, then any patent licenses
* granted to You under this License for that Work shall terminate
* as of the date such litigation is filed.
*
* 4. Redistribution. You may reproduce and distribute copies of the
* Work or Derivative Works thereof in any medium, with or without
* modifications, and in Source or Object form, provided that You
* meet the following conditions:
*
* (a) You must give any other recipients of the Work or
* Derivative Works a copy of this License; and
*
* (b) You must cause any modified files to carry prominent notices
* stating that You changed the files; and
*
* (c) You must retain, in the Source form of any Derivative Works
* that You distribute, all copyright, patent, trademark, and
* attribution notices from the Source form of the Work,
* excluding those notices that do not pertain to any part of
* the Derivative Works; and
*
* (d) If the Work includes a "NOTICE" text file as part of its
* distribution, then any Derivative Works that You distribute must
* include a readable copy of the attribution notices contained
* within such NOTICE file, excluding those notices that do not
* pertain to any part of the Derivative Works, in at least one
* of the following places: within a NOTICE text file distributed
* as part of the Derivative Works; within the Source form or
* documentation, if provided along with the Derivative Works; or,
* within a display generated by the Derivative Works, if and
* wherever such third-party notices normally appear. The contents
* of the NOTICE file are for informational purposes only and
* do not modify the License. You may add Your own attribution
* notices within Derivative Works that You distribute, alongside
* or as an addendum to the NOTICE text from the Work, provided
* that such additional attribution notices cannot be construed
* as modifying the License.
*
* You may add Your own copyright statement to Your modifications and
* may provide additional or different license terms and conditions
* for use, reproduction, or distribution of Your modifications, or
* for any such Derivative Works as a whole, provided Your use,
* reproduction, and distribution of the Work otherwise complies with
* the conditions stated in this License.
*
* 5. Submission of Contributions. Unless You explicitly state otherwise,
* any Contribution intentionally submitted for inclusion in the Work
* by You to the Licensor shall be under the terms and conditions of
* this License, without any additional terms or conditions.
* Notwithstanding the above, nothing herein shall supersede or modify
* the terms of any separate license agreement you may have executed
* with Licensor regarding such Contributions.
*
* 6. Trademarks. This License does not grant permission to use the trade
* names, trademarks, service marks, or product names of the Licensor,
* except as required for reasonable and customary use in describing the
* origin of the Work and reproducing the content of the NOTICE file.
*
* 7. Disclaimer of Warranty. Unless required by applicable law or
* agreed to in writing, Licensor provides the Work (and each
* Contributor provides its Contributions) on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied, including, without limitation, any warranties or conditions
* of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
* PARTICULAR PURPOSE. You are solely responsible for determining the
* appropriateness of using or redistributing the Work and assume any
* risks associated with Your exercise of permissions under this License.
*
* 8. Limitation of Liability. In no event and under no legal theory,
* whether in tort (including negligence), contract, or otherwise,
* unless required by applicable law (such as deliberate and grossly
* negligent acts) or agreed to in writing, shall any Contributor be
* liable to You for damages, including any direct, indirect, special,
* incidental, or consequential damages of any character arising as a
* result of this License or out of the use or inability to use the
* Work (including but not limited to damages for loss of goodwill,
* work stoppage, computer failure or malfunction, or any and all
* other commercial damages or losses), even if such Contributor
* has been advised of the possibility of such damages.
*
* 9. Accepting Warranty or Additional Liability. While redistributing
* the Work or Derivative Works thereof, You may choose to offer,
* and charge a fee for, acceptance of support, warranty, indemnity,
* or other liability obligations and/or rights consistent with this
* License. However, in accepting such obligations, You may act only
* on Your own behalf and on Your sole responsibility, not on behalf
* of any other Contributor, and only if You agree to indemnify,
* defend, and hold each Contributor harmless for any liability
* incurred by, or claims asserted against, such Contributor by reason
* of your accepting any such warranty or additional liability.
*
* END OF TERMS AND CONDITIONS
*
* APPENDIX: How to apply the Apache License to your work.
*
* To apply the Apache License to your work, attach the following
* boilerplate notice, with the fields enclosed by brackets "[]"
* replaced with your own identifying information. (Don't include
* the brackets!) The text should be enclosed in the appropriate
* comment syntax for the file format. We also recommend that a
* file or class name and description of purpose be included on the
* same "printed page" as the copyright notice for easier
* identification within third-party archives.
*
* Copyright [yyyy] [name of copyright owner]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

View File

@ -1,80 +1,80 @@
Manifest-Version: 1.0
Bundle-Name: Ivy
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.apache.ivy
Bundle-Vendor: Apache Software Foundation
Bundle-DocURL: http://incubator.apache.org/ivy
Import-Package: javax.xml.parsers,
javax.xml.transform,
javax.xml.transform.sax,
javax.xml.transform.stream,
org.xml.sax,
org.xml.sax.ext,
org.xml.sax.helpers,
com.jcraft.jsch;resolution:=optional,
javax.swing;resolution:=optional,
javax.swing.event;resolution:=optional,
org.apache.commons.cli;resolution:=optional,
org.apache.commons.httpclient;resolution:=optional,
org.apache.commons.httpclient.methods;resolution:=optional,
org.apache.commons.httpclient.params;resolution:=optional,
org.apache.commons.httpclient.protocol;resolution:=optional,
org.apache.commons.vfs;resolution:=optional,
org.apache.commons.vfs.impl;resolution:=optional,
org.apache.commons.vfs.provider;resolution:=optional,
org.apache.commons.vfs.provider.webdav;resolution:=optional,
org.apache.oro.text;resolution:=optional,
org.apache.oro.text.regex;resolution:=optional,
org.apache.webdav;resolution:=optional,
org.apache.tools.ant;resolution:=optional,
org.apache.tools.ant.filters;resolution:=optional,
org.apache.tools.ant.taskdefs;resolution:=optional,
org.apache.tools.ant.types;resolution:=optional,
org.apache.tools.ant.util;resolution:=optional
Export-Package: org.apache.ivy;version="2.0.0",
org.apache.ivy.ant;version="2.0.0",
org.apache.ivy.core;version="2.0.0",
org.apache.ivy.core.cache;version="2.0.0",
org.apache.ivy.core.check;version="2.0.0",
org.apache.ivy.core.deliver;version="2.0.0",
org.apache.ivy.core.event;version="2.0.0",
org.apache.ivy.core.event.download;version="2.0.0",
org.apache.ivy.core.event.resolve;version="2.0.0",
org.apache.ivy.core.install;version="2.0.0",
org.apache.ivy.core.module.descriptor;version="2.0.0",
org.apache.ivy.core.module.id;version="2.0.0",
org.apache.ivy.core.module.status;version="2.0.0",
org.apache.ivy.core.publish;version="2.0.0",
org.apache.ivy.core.report;version="2.0.0",
org.apache.ivy.core.resolve;version="2.0.0",
org.apache.ivy.core.retrieve;version="2.0.0",
org.apache.ivy.core.search;version="2.0.0",
org.apache.ivy.core.settings;version="2.0.0",
org.apache.ivy.core.sort;version="2.0.0",
org.apache.ivy.plugins;version="2.0.0",
org.apache.ivy.plugins.circular;version="2.0.0",
org.apache.ivy.plugins.conflict;version="2.0.0",
org.apache.ivy.plugins.latest;version="2.0.0",
org.apache.ivy.plugins.matcher;version="2.0.0",
org.apache.ivy.plugins.namespace;version="2.0.0",
org.apache.ivy.plugins.parser;version="2.0.0",
org.apache.ivy.plugins.parser.m2;version="2.0.0",
org.apache.ivy.plugins.parser.xml;version="2.0.0",
org.apache.ivy.plugins.report;version="2.0.0",
org.apache.ivy.plugins.repository;version="2.0.0",
org.apache.ivy.plugins.repository.file;version="2.0.0",
org.apache.ivy.plugins.repository.sftp;version="2.0.0",
org.apache.ivy.plugins.repository.ssh;version="2.0.0",
org.apache.ivy.plugins.repository.url;version="2.0.0",
org.apache.ivy.plugins.repository.vfs;version="2.0.0",
org.apache.ivy.plugins.repository.vsftp;version="2.0.0",
org.apache.ivy.plugins.resolver;version="2.0.0",
org.apache.ivy.plugins.resolver.util;version="2.0.0",
org.apache.ivy.plugins.util;version="2.0.0",
org.apache.ivy.plugins.trigger;version="2.0.0",
org.apache.ivy.plugins.version;version="2.0.0",
org.apache.ivy.tools.analyser;version="2.0.0",
org.apache.ivy.util;version="2.0.0",
org.apache.ivy.util.extendable;version="2.0.0",
org.apache.ivy.util.filter;version="2.0.0",
org.apache.ivy.util.url;version="2.0.0"
Manifest-Version: 1.0
Bundle-Name: Ivy
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.apache.ivy
Bundle-Vendor: Apache Software Foundation
Bundle-DocURL: http://incubator.apache.org/ivy
Import-Package: javax.xml.parsers,
javax.xml.transform,
javax.xml.transform.sax,
javax.xml.transform.stream,
org.xml.sax,
org.xml.sax.ext,
org.xml.sax.helpers,
com.jcraft.jsch;resolution:=optional,
javax.swing;resolution:=optional,
javax.swing.event;resolution:=optional,
org.apache.commons.cli;resolution:=optional,
org.apache.commons.httpclient;resolution:=optional,
org.apache.commons.httpclient.methods;resolution:=optional,
org.apache.commons.httpclient.params;resolution:=optional,
org.apache.commons.httpclient.protocol;resolution:=optional,
org.apache.commons.vfs;resolution:=optional,
org.apache.commons.vfs.impl;resolution:=optional,
org.apache.commons.vfs.provider;resolution:=optional,
org.apache.commons.vfs.provider.webdav;resolution:=optional,
org.apache.oro.text;resolution:=optional,
org.apache.oro.text.regex;resolution:=optional,
org.apache.webdav;resolution:=optional,
org.apache.tools.ant;resolution:=optional,
org.apache.tools.ant.filters;resolution:=optional,
org.apache.tools.ant.taskdefs;resolution:=optional,
org.apache.tools.ant.types;resolution:=optional,
org.apache.tools.ant.util;resolution:=optional
Export-Package: org.apache.ivy;version="2.0.0",
org.apache.ivy.ant;version="2.0.0",
org.apache.ivy.core;version="2.0.0",
org.apache.ivy.core.cache;version="2.0.0",
org.apache.ivy.core.check;version="2.0.0",
org.apache.ivy.core.deliver;version="2.0.0",
org.apache.ivy.core.event;version="2.0.0",
org.apache.ivy.core.event.download;version="2.0.0",
org.apache.ivy.core.event.resolve;version="2.0.0",
org.apache.ivy.core.install;version="2.0.0",
org.apache.ivy.core.module.descriptor;version="2.0.0",
org.apache.ivy.core.module.id;version="2.0.0",
org.apache.ivy.core.module.status;version="2.0.0",
org.apache.ivy.core.publish;version="2.0.0",
org.apache.ivy.core.report;version="2.0.0",
org.apache.ivy.core.resolve;version="2.0.0",
org.apache.ivy.core.retrieve;version="2.0.0",
org.apache.ivy.core.search;version="2.0.0",
org.apache.ivy.core.settings;version="2.0.0",
org.apache.ivy.core.sort;version="2.0.0",
org.apache.ivy.plugins;version="2.0.0",
org.apache.ivy.plugins.circular;version="2.0.0",
org.apache.ivy.plugins.conflict;version="2.0.0",
org.apache.ivy.plugins.latest;version="2.0.0",
org.apache.ivy.plugins.matcher;version="2.0.0",
org.apache.ivy.plugins.namespace;version="2.0.0",
org.apache.ivy.plugins.parser;version="2.0.0",
org.apache.ivy.plugins.parser.m2;version="2.0.0",
org.apache.ivy.plugins.parser.xml;version="2.0.0",
org.apache.ivy.plugins.report;version="2.0.0",
org.apache.ivy.plugins.repository;version="2.0.0",
org.apache.ivy.plugins.repository.file;version="2.0.0",
org.apache.ivy.plugins.repository.sftp;version="2.0.0",
org.apache.ivy.plugins.repository.ssh;version="2.0.0",
org.apache.ivy.plugins.repository.url;version="2.0.0",
org.apache.ivy.plugins.repository.vfs;version="2.0.0",
org.apache.ivy.plugins.repository.vsftp;version="2.0.0",
org.apache.ivy.plugins.resolver;version="2.0.0",
org.apache.ivy.plugins.resolver.util;version="2.0.0",
org.apache.ivy.plugins.util;version="2.0.0",
org.apache.ivy.plugins.trigger;version="2.0.0",
org.apache.ivy.plugins.version;version="2.0.0",
org.apache.ivy.tools.analyser;version="2.0.0",
org.apache.ivy.util;version="2.0.0",
org.apache.ivy.util.extendable;version="2.0.0",
org.apache.ivy.util.filter;version="2.0.0",
org.apache.ivy.util.url;version="2.0.0"

28
NOTICE
View File

@ -1,14 +1,14 @@
=========================================================================
== NOTICE file corresponding to the section 4 d of ==
== the Apache License, Version 2.0, ==
== in this case for the Apache Ivy distribution. ==
=========================================================================
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
Portions of Ivy were originally developed by
Jayasoft SARL and are
licensed to the Apache Software Foundation under the
"Software Grant License Agreement"
=========================================================================
== NOTICE file corresponding to the section 4 d of ==
== the Apache License, Version 2.0, ==
== in this case for the Apache Ivy distribution. ==
=========================================================================
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
Portions of Ivy were originally developed by
Jayasoft SARL and are
licensed to the Apache Software Foundation under the
"Software Grant License Agreement"

68
README
View File

@ -1,34 +1,34 @@
Apache Ivy v2.0.0-alpha1-incubating
------------------------------------
Supported Platforms
--------------------
Apache Ivy requires Java level 1.4; it has been tested with Sun Java SDK v1.4.2
Even if not mandatory, Apache Ivy is most of the times used with Apache Ant, for which version 1.6.0 or greater is required.
Installation
----------------------
Please read doc/doc/install.html for installation instructions.
Getting Started
----------------
For an introduction to Apache Ivy and how to use it, please read the documentation
located in the doc subdirectory. A good place to start is the index.html
Disclaimer
-----------
Apache Ivy is an effort undergoing incubation at The Apache Software
Foundation (ASF). Incubation is required of all newly accepted projects
until a further review indicates that the infrastructure, communications,
and decision making process have stabilized in a manner consistent with
other successful ASF projects. While incubation status is not necessarily
a reflection of the completeness or stability of the code, it does
indicate that the project has yet to be fully endorsed by the ASF.
Apache Ivy v2.0.0-alpha1-incubating
------------------------------------
Supported Platforms
--------------------
Apache Ivy requires Java level 1.4; it has been tested with Sun Java SDK v1.4.2
Even if not mandatory, Apache Ivy is most of the times used with Apache Ant, for which version 1.6.0 or greater is required.
Installation
----------------------
Please read doc/doc/install.html for installation instructions.
Getting Started
----------------
For an introduction to Apache Ivy and how to use it, please read the documentation
located in the doc subdirectory. A good place to start is the index.html
Disclaimer
-----------
Apache Ivy is an effort undergoing incubation at The Apache Software
Foundation (ASF). Incubation is required of all newly accepted projects
until a further review indicates that the infrastructure, communications,
and decision making process have stabilized in a manner consistent with
other successful ASF projects. While incubation status is not necessarily
a reflection of the completeness or stability of the code, it does
indicate that the project has yet to be fully endorsed by the ASF.

View File

@ -1,191 +1,191 @@
Apache Ivy v2.0.0-alpha1-incubating
Release Notes
-----------------------------------------------------------------------
CONTENTS
1. What is Apache Ivy?
2. Status of this release
3. Major Changes in this Release
4. Migrating from Jayasoft Ivy to Apache Ivy
5. How to Get Involved
6. How to Report Issues
7. Committers and Contributors for this release
8. List of Changes in this Release
1. What is Apache Ivy?
Apache Ivy is a tool for managing (recording, tracking, resolving and reporting)
project dependencies.
It is characterized by the following:
1. flexibility and configurability
Apache Ivy is essentially process agnostic and is not tied to any
methodology or structure.
Instead it provides the necessary flexibility and configurability
to be adapted to a broad range of dependency management and build
processes.
2. tight integration with Apache Ant
while available as a standalone tool, Apache Ivy works particularly well
with Apache Ant providing a number of powerful Ant tasks ranging
from dependency resolution to dependency reporting and publication.
2. Status of this release
This release of Apache Ivy is the first release within the Apache Incubator,
and is labelled and should be considered as an alpha version.
This means that we do not guarantee any stability, that API and features are still
likely to change until final 2.0.0 version, and thus we do not encourage the use
of this version, except for very early testing.
The current production quality version is still 1.4.1, which has not been produced
within the Apache Software Foundation.
3. Major Changes in this Release
This section describes what has changed between version 1.4.1 and this version of
Apache Ivy.
This new version of Apache Ivy is fully compatible with previous versions as long as you do
not use custom plugins: Ivy API has changed, but not its behavior:
Some tasks and configuration elements have been renamed, but the old versions
are still available, they are only deprecated (you will see deprecated warnings).
3.1. Java Package Name Changes
All of the Ivy Java package names have changed in Apache Ivy. They now start
with org.apache rather than fr.jayasoft. There have been other changes as well.
Important refactorings have done on the source code to ease the understanding
of Ivy internal architecture by new developers.
A class named org.apache.ivy.Ivy14 is provided with an API compatible with the
fr.jayasoft.Ivy class of Ivy 1.4.1, to ease migration to this new version.
3.2. Configuration replaced by Settings
Configuration used to have two meanings in prior Ivy versions, causing some confusion
with new users.
To avoid this confusion, Apache Ivy calls settings instead of configuration the files
used to customize Ivy. Configuration is still used for module configurations.
Besides the changes in the documentation, this renaming also imply a modification
in settings files, which now use ivysettings as root element instead of ivyconf,
and settings instead of conf element to define top level defaults (such as
defaultCache, ...).
Previous names have been deprecated, so previous settings files can still be used, but
you will see a deprecation warning.
3.3. public resolver in default settings is now ibiblio in m2 compatible mode
In previous versions Ivy used to use the ivyrep resolver as default public resolver,
but ivyrep is no longer maintained, while maven 2 repository on ibiblio is growing rapidly.
Since Ivy is compatible with maven 2 repository, defaulting to the ibiblio maven 2
repository makes more sense.
If you have any issue of backward compatibility with these new settings, you can simply
set the following ant property before calling configure (implicitly or explicitly):
ivy.14.compatible=true
4. Migrating from Jayasoft Ivy to Apache Ivy
Apache Ivy is fully compatible with Jayasoft Ivy as long as you do not use
custom plugins.
This means that you can use Apache Ivy as a drop in replacement of Jayasoft Ivy.
However due to the the renaming of configuration files to settings files, we
strongly suggest to update your configuration files:
- rename the files called ivyconf*.xml in ivysettings*.xml
- rename 'ivyconf' element in 'ivysettings'
- rename 'conf' element of those settings file in 'settings'
Migrating custom plugins can be done by using the org.apache.ivy.Ivy14 class
instead of fr.jayasoft.ivy.Ivy, and reorganizing your imports to reflect the
changes in the package names.
5. How to Get Involved
The Apache Ivy project really needs and appreciates any contributions,
including documentation help, source code and feedback. If you are interested
in contributing, please visit http://incubator.apache.org/ivy/get-involved.html.
6. How to Report Issues
The Apache Ivy project uses JIRA for issue tracking. Please report any
issues you find at http://issues.apache.org/jira/browse/IVY
7. Committers and Contributors for this Release
Here is the list of people who have contributed source code and documentation
to this release. Many thanks to all of them, and also to the whole Ivy community
contributing ideas and feedback, and promoting the use of Ivy. The list would be too
long, but Ivy couldn't be what it is without you!
Committers
Maarten Coene
Xavier Hanin
Contributors
Stephane Baillez
Pierre Hägnestrand
Matt Inger
Costin Leau
William Lyvers
Gilles Scokart
John Williams
8. List of Changes in this Release
For a full release history of Ivy see the file CHANGES.txt
For details about the following changes, check our JIRA install at
http://issues.apache.org/jira/browse/ivy
- TASK: refactor Ivy source code to improve readibility (IVY-434)
- NEW: define artifacts not declared by the dependency module descriptor (IVY-419)
- NEW: Module wide exclude (IVY-431)
- NEW: The default public resolver used is now ibiblio with m2 compatible mode (IVY-463)
- IMPROVE: OSGIfy ivy artifacts (IVY-464) (thanks to Costin Leau)
- IMPROVE: Let user specify Ivy file when using a post-resolve task (IVY-455)
- IMPROVE: IvyArtifactProperty and IvyArtifactReport tasks should be a post resolve task (IVY-452)
- IMPROVE: Rename ivy configuration in settings to remove ambiguity on configuration meaning (IVY-438)
- IMPROVE: Please typedef CacheResolver as "cache" for us (IVY-359)
- IMPROVE: ivy:retrieve should be able to create symlinks (IVY-353) (thanks to John Williams)
- IMPROVE: Ability to have multiple roots in the <ivy:buildfilelist> task (IVY-340) (thanks to Matt Inger)
- IMPROVE: Refactoring / documentation / test of matcher package (IVY-375) (thanks to Stephane Baillez)
- IMPROVE: Add a unit test to verify that latest.integration accepts released modules (IVY-394) (thanks to Gilles Scokart)
- IMPROVE: New "modules in use" section in console report at the end of resolve (IVY-373) (thanks to John Wiliams)
- IMPROVE: Generated XML reports now contains more information about the resolved module (IVY-446)
- FIX: ivy-retrieve failure when explicit absolute 'ivy.dep.file' path specified (IVY-396)
- FIX: IvyPostResolve Task doesn't reuse Ivy file of previous resolve (IVY-458)
- FIX: Ivy standalone is passing null args to main method when invoking with no args (IVY-457)
- FIX: Invalid error report with m2compatible resolver (IVY-456)
- FIX: IvyPostResolve Task doesn't use specified cache for the resolve (IVY-453)
- FIX: XmlModuleDescriptorWriterTest not working with Java 6 (IVY-374)
- FIX: Conflict managers ignored, when assigned to modules in Ivy configuration (setting, ivyconf.xml) (IVY-448)
- FIX: Ivy should fail if ';' has been used in publications/artifact/@conf of ivy.xml (IVY-441)
- FIX: Ivy should fail where dependency uses undefined configuration (IVY-442)
- FIX: Dynamic revision not calculated properly when using multiple directories (IVY-427)
- FIX: LatestRevisionStrategy.sort() doesn't sort as specified (IVY-435)
- FIX: setting m2compatible on ibiblio resolver overwrite root and pattern settings (IVY-437)
- FIX: ivy.revision property not set correctly for second resolve (IVY-429)
- FIX: NPE when no organisation or no name is provided in module element of ivyconf (IVY-422)
- FIX: FileUtil#copy(File src, File dest, CopyProgressListener l, boolean overwrite) (IVY-420)
- FIX: Invalid pom parsing when version is only declared in parent (IVY-436)
- FIX: ${project.groupId} and ${project.version} not processed correctly in poms (IVY-425)
- FIX: Incorrect pom parsing with profile (IVY-423)
- FIX: Ivy doesn't recognize maven2 classifiers (IVY-418)
- FIX: PomModuleDescriptorParser fails with nested profile dependency (IVY-392) (thanks to William Lyvers)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency having extra attributes (IVY-415)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency on a branch (IVY-404)
- FIX: latest-time conflict manager not working properly (IVY-407)
- FIX: LatestRevisionStrategy do not consider all dynamic revisions properly (IVY-383) (thanks to John Williams for the unit test)
- FIX: IOException during publish causes NullPointerException (IVY-371)
- FIX: Comments in ivy.xml duplicated (IVY-336) (thanks to Gilles Scokart)
- FIX: Ivy failure when the ivy.xml file contains non US-ASCII characters (IVY-346) (thanks to Gilles Scokart)
- FIX: Urlresolver is not possible to use dynamic revisions on nonstandard repository structure (IVY-350) (thanks to Pierre Hägnestrand)
Apache Ivy v2.0.0-alpha1-incubating
Release Notes
-----------------------------------------------------------------------
CONTENTS
1. What is Apache Ivy?
2. Status of this release
3. Major Changes in this Release
4. Migrating from Jayasoft Ivy to Apache Ivy
5. How to Get Involved
6. How to Report Issues
7. Committers and Contributors for this release
8. List of Changes in this Release
1. What is Apache Ivy?
Apache Ivy is a tool for managing (recording, tracking, resolving and reporting)
project dependencies.
It is characterized by the following:
1. flexibility and configurability
Apache Ivy is essentially process agnostic and is not tied to any
methodology or structure.
Instead it provides the necessary flexibility and configurability
to be adapted to a broad range of dependency management and build
processes.
2. tight integration with Apache Ant
while available as a standalone tool, Apache Ivy works particularly well
with Apache Ant providing a number of powerful Ant tasks ranging
from dependency resolution to dependency reporting and publication.
2. Status of this release
This release of Apache Ivy is the first release within the Apache Incubator,
and is labelled and should be considered as an alpha version.
This means that we do not guarantee any stability, that API and features are still
likely to change until final 2.0.0 version, and thus we do not encourage the use
of this version, except for very early testing.
The current production quality version is still 1.4.1, which has not been produced
within the Apache Software Foundation.
3. Major Changes in this Release
This section describes what has changed between version 1.4.1 and this version of
Apache Ivy.
This new version of Apache Ivy is fully compatible with previous versions as long as you do
not use custom plugins: Ivy API has changed, but not its behavior:
Some tasks and configuration elements have been renamed, but the old versions
are still available, they are only deprecated (you will see deprecated warnings).
3.1. Java Package Name Changes
All of the Ivy Java package names have changed in Apache Ivy. They now start
with org.apache rather than fr.jayasoft. There have been other changes as well.
Important refactorings have done on the source code to ease the understanding
of Ivy internal architecture by new developers.
A class named org.apache.ivy.Ivy14 is provided with an API compatible with the
fr.jayasoft.Ivy class of Ivy 1.4.1, to ease migration to this new version.
3.2. Configuration replaced by Settings
Configuration used to have two meanings in prior Ivy versions, causing some confusion
with new users.
To avoid this confusion, Apache Ivy calls settings instead of configuration the files
used to customize Ivy. Configuration is still used for module configurations.
Besides the changes in the documentation, this renaming also imply a modification
in settings files, which now use ivysettings as root element instead of ivyconf,
and settings instead of conf element to define top level defaults (such as
defaultCache, ...).
Previous names have been deprecated, so previous settings files can still be used, but
you will see a deprecation warning.
3.3. public resolver in default settings is now ibiblio in m2 compatible mode
In previous versions Ivy used to use the ivyrep resolver as default public resolver,
but ivyrep is no longer maintained, while maven 2 repository on ibiblio is growing rapidly.
Since Ivy is compatible with maven 2 repository, defaulting to the ibiblio maven 2
repository makes more sense.
If you have any issue of backward compatibility with these new settings, you can simply
set the following ant property before calling configure (implicitly or explicitly):
ivy.14.compatible=true
4. Migrating from Jayasoft Ivy to Apache Ivy
Apache Ivy is fully compatible with Jayasoft Ivy as long as you do not use
custom plugins.
This means that you can use Apache Ivy as a drop in replacement of Jayasoft Ivy.
However due to the the renaming of configuration files to settings files, we
strongly suggest to update your configuration files:
- rename the files called ivyconf*.xml in ivysettings*.xml
- rename 'ivyconf' element in 'ivysettings'
- rename 'conf' element of those settings file in 'settings'
Migrating custom plugins can be done by using the org.apache.ivy.Ivy14 class
instead of fr.jayasoft.ivy.Ivy, and reorganizing your imports to reflect the
changes in the package names.
5. How to Get Involved
The Apache Ivy project really needs and appreciates any contributions,
including documentation help, source code and feedback. If you are interested
in contributing, please visit http://incubator.apache.org/ivy/get-involved.html.
6. How to Report Issues
The Apache Ivy project uses JIRA for issue tracking. Please report any
issues you find at http://issues.apache.org/jira/browse/IVY
7. Committers and Contributors for this Release
Here is the list of people who have contributed source code and documentation
to this release. Many thanks to all of them, and also to the whole Ivy community
contributing ideas and feedback, and promoting the use of Ivy. The list would be too
long, but Ivy couldn't be what it is without you!
Committers
Maarten Coene
Xavier Hanin
Contributors
Stephane Baillez
Pierre Hägnestrand
Matt Inger
Costin Leau
William Lyvers
Gilles Scokart
John Williams
8. List of Changes in this Release
For a full release history of Ivy see the file CHANGES.txt
For details about the following changes, check our JIRA install at
http://issues.apache.org/jira/browse/ivy
- TASK: refactor Ivy source code to improve readibility (IVY-434)
- NEW: define artifacts not declared by the dependency module descriptor (IVY-419)
- NEW: Module wide exclude (IVY-431)
- NEW: The default public resolver used is now ibiblio with m2 compatible mode (IVY-463)
- IMPROVE: OSGIfy ivy artifacts (IVY-464) (thanks to Costin Leau)
- IMPROVE: Let user specify Ivy file when using a post-resolve task (IVY-455)
- IMPROVE: IvyArtifactProperty and IvyArtifactReport tasks should be a post resolve task (IVY-452)
- IMPROVE: Rename ivy configuration in settings to remove ambiguity on configuration meaning (IVY-438)
- IMPROVE: Please typedef CacheResolver as "cache" for us (IVY-359)
- IMPROVE: ivy:retrieve should be able to create symlinks (IVY-353) (thanks to John Williams)
- IMPROVE: Ability to have multiple roots in the <ivy:buildfilelist> task (IVY-340) (thanks to Matt Inger)
- IMPROVE: Refactoring / documentation / test of matcher package (IVY-375) (thanks to Stephane Baillez)
- IMPROVE: Add a unit test to verify that latest.integration accepts released modules (IVY-394) (thanks to Gilles Scokart)
- IMPROVE: New "modules in use" section in console report at the end of resolve (IVY-373) (thanks to John Wiliams)
- IMPROVE: Generated XML reports now contains more information about the resolved module (IVY-446)
- FIX: ivy-retrieve failure when explicit absolute 'ivy.dep.file' path specified (IVY-396)
- FIX: IvyPostResolve Task doesn't reuse Ivy file of previous resolve (IVY-458)
- FIX: Ivy standalone is passing null args to main method when invoking with no args (IVY-457)
- FIX: Invalid error report with m2compatible resolver (IVY-456)
- FIX: IvyPostResolve Task doesn't use specified cache for the resolve (IVY-453)
- FIX: XmlModuleDescriptorWriterTest not working with Java 6 (IVY-374)
- FIX: Conflict managers ignored, when assigned to modules in Ivy configuration (setting, ivyconf.xml) (IVY-448)
- FIX: Ivy should fail if ';' has been used in publications/artifact/@conf of ivy.xml (IVY-441)
- FIX: Ivy should fail where dependency uses undefined configuration (IVY-442)
- FIX: Dynamic revision not calculated properly when using multiple directories (IVY-427)
- FIX: LatestRevisionStrategy.sort() doesn't sort as specified (IVY-435)
- FIX: setting m2compatible on ibiblio resolver overwrite root and pattern settings (IVY-437)
- FIX: ivy.revision property not set correctly for second resolve (IVY-429)
- FIX: NPE when no organisation or no name is provided in module element of ivyconf (IVY-422)
- FIX: FileUtil#copy(File src, File dest, CopyProgressListener l, boolean overwrite) (IVY-420)
- FIX: Invalid pom parsing when version is only declared in parent (IVY-436)
- FIX: ${project.groupId} and ${project.version} not processed correctly in poms (IVY-425)
- FIX: Incorrect pom parsing with profile (IVY-423)
- FIX: Ivy doesn't recognize maven2 classifiers (IVY-418)
- FIX: PomModuleDescriptorParser fails with nested profile dependency (IVY-392) (thanks to William Lyvers)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency having extra attributes (IVY-415)
- FIX: Static revision replacement is not working when delivering an artifact with a dependency on a branch (IVY-404)
- FIX: latest-time conflict manager not working properly (IVY-407)
- FIX: LatestRevisionStrategy do not consider all dynamic revisions properly (IVY-383) (thanks to John Williams for the unit test)
- FIX: IOException during publish causes NullPointerException (IVY-371)
- FIX: Comments in ivy.xml duplicated (IVY-336) (thanks to Gilles Scokart)
- FIX: Ivy failure when the ivy.xml file contains non US-ASCII characters (IVY-346) (thanks to Gilles Scokart)
- FIX: Urlresolver is not possible to use dynamic revisions on nonstandard repository structure (IVY-350) (thanks to Pierre Hägnestrand)

View File

@ -1,5 +1,5 @@
#This section defines the sources to compile for ivy-ant.jar
org/apache/ivy/ant/*.java
#This section defines the resources to copy for ivy-ant.jar
org/apache/ivy/ant/*.xml
#This section defines the sources to compile for ivy-ant.jar
org/apache/ivy/ant/*.java
#This section defines the resources to copy for ivy-ant.jar
org/apache/ivy/ant/*.xml

View File

@ -1,179 +1,179 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="IvyRelease" default="snapshot" xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
<import file="build.xml"/>
<target name="generate-doc">
<!-- requires java 6 jdk in path and Apache Ant 1.7 -->
<copy todir="${doc.build.dir}">
<fileset dir="${doc.src.dir}" includes="images/**,style/**,samples/**" />
</copy>
<script language="javascript"><![CDATA[
importClass(java.io.File);
fs = project.createDataType("fileset");
fs.setDir( new File(project.getProperty("doc.src.dir")) );
fs.setIncludes("**/*.html");
fs.setExcludes("template.html,"
+"*Template.html,"
+"conflict-solving-algo.html,"
+"doc/use.html,"
+"doc/reference.html,"
+"samples/**,"
+"reports/**,"
+"xooki/**,"
+"presentations/**,"
+"test/**");
// Get the files (array) of that fileset
ds = fs.getDirectoryScanner(project);
srcFiles = ds.getIncludedFiles();
// iterate over that array
for (i=0; i<srcFiles.length; i++) {
// get the values via Java API
var file = new File(fs.getDir(project), srcFiles[i]);
var basedir = file.getParent();
var filename = file.getName();
var filepath = srcFiles[i].substring(0, srcFiles[i].lastIndexOf(project.getProperty("file.separator"))+1);
exec = project.createTask("exec");
exec.setDir(new File(basedir));
exec.setExecutable("jrunscript");
exec.createArg().setValue(project.getProperty("doc.src.dir")+"/xooki/xooki.js");
exec.createArg().setValue("-noddtree");
exec.createArg().setValue(filename);
exec.createArg().setValue(project.getProperty("doc.build.dir")+"/"+filepath);
exec.perform();
}
]]></script>
</target>
<target name="all-doc" depends="javadoc, generate-doc" />
<target name="init-snapshot" depends="default-version">
<property name="snapshot.full.name" value="apache-ivy-${build.version}" />
</target>
<target name="snapshot-src" depends="init-snapshot,all-doc">
<mkdir dir="${distrib.dir}"/>
<zip destfile="${distrib.dir}/${snapshot.full.name}-src.zip">
<zipfileset dir="${doc.build.dir}" prefix="${snapshot.full.name}/doc" excludes="**/reports/coverage/**,**/reports/test/**"/>
<zipfileset dir="${src.dir}" prefix="${snapshot.full.name}/src/java"/>
<zipfileset dir="${basedir}/src/example" prefix="${snapshot.full.name}/src/example"/>
<zipfileset dir="${test.dir}" prefix="${snapshot.full.name}/test/java"/>
<zipfileset dir="${basedir}/test/repositories" prefix="${snapshot.full.name}/test/repositories"/>
<zipfileset dir="${basedir}/test/buildlist" prefix="${snapshot.full.name}/test/buildlist"/>
<zipfileset dir="${basedir}/test/triggers" prefix="${snapshot.full.name}/test/triggers" excludes="**/cache/**"/>
<zipfileset dir="${basedir}/test/xsl" prefix="${snapshot.full.name}/test/xsl"/>
<zipfileset dir="${src.dir}/org/apache/ivy/plugins/parser/xml" includes="ivy.xsd" fullpath="${snapshot.full.name}/ivy.xsd"/>
<zipfileset dir="${basedir}" includes="MANIFEST.MF" fullpath="${snapshot.full.name}/MANIFEST.MF"/>
<zipfileset dir="${basedir}" includes="DISCLAIMER" fullpath="${snapshot.full.name}/DISCLAIMER"/>
<zipfileset dir="${basedir}" includes="NOTICE" fullpath="${snapshot.full.name}/NOTICE"/>
<zipfileset dir="${basedir}" includes="LICENSE" fullpath="${snapshot.full.name}/LICENSE"/>
<zipfileset dir="${basedir}" includes="CHANGES.txt" fullpath="${snapshot.full.name}/CHANGES.txt"/>
<zipfileset dir="${basedir}" includes="RELEASE_NOTES" fullpath="${snapshot.full.name}/RELEASE_NOTES"/>
<zipfileset dir="${basedir}" includes="ivysettings.xml" fullpath="${snapshot.full.name}/ivysettings.xml"/>
<zipfileset dir="${basedir}" includes="build.properties" fullpath="${snapshot.full.name}/build.properties"/>
<zipfileset dir="${basedir}" includes="ivy.xml" fullpath="${snapshot.full.name}/ivy.xml"/>
<zipfileset dir="${basedir}" includes="build.xml" fullpath="${snapshot.full.name}/build.xml"/>
</zip>
<tar destfile="${distrib.dir}/${snapshot.full.name}-src.tar.gz"
compression="gzip" longfile="gnu">
<zipfileset src="${distrib.dir}/${snapshot.full.name}-src.zip"/>
</tar>
</target>
<target name="snapshot-bin" depends="init-snapshot, jar, all-doc">
<mkdir dir="${distrib.dir}"/>
<ivy:deliver
deliverpattern="${distrib.dir}/ivy.xml"
pubrevision="${build.version}"
pubdate="${pubdate}"
status="${status}"/>
<zip destfile="${distrib.dir}/${snapshot.full.name}-bin.zip">
<zipfileset dir="${doc.build.dir}" prefix="${snapshot.full.name}/doc" excludes="**/reports/coverage/**,**/reports/test/**"/>
<zipfileset dir="${basedir}/src/example" prefix="${snapshot.full.name}/src/example"/>
<zipfileset dir="${basedir}" includes="DISCLAIMER" fullpath="${snapshot.full.name}/DISCLAIMER"/>
<zipfileset dir="${basedir}" includes="NOTICE" fullpath="${snapshot.full.name}/NOTICE"/>
<zipfileset dir="${basedir}" includes="LICENSE" fullpath="${snapshot.full.name}/LICENSE"/>
<zipfileset dir="${basedir}" includes="CHANGES.txt" fullpath="${snapshot.full.name}/CHANGES.txt"/>
<zipfileset dir="${basedir}" includes="RELEASE_NOTES" fullpath="${snapshot.full.name}/RELEASE_NOTES"/>
<zipfileset dir="${src.dir}/org/apache/ivy/plugins/parser/xml" includes="ivy.xsd" fullpath="${snapshot.full.name}/ivy.xsd"/>
<zipfileset dir="${basedir}" includes="ivy.xml" fullpath="${snapshot.full.name}/ivy.xml"/>
<zipfileset dir="${artifacts.build.dir}" includes="${final.name}" fullpath="${snapshot.full.name}/ivy-${build.version}.jar"/>
<zipfileset dir="${artifacts.build.dir}" includes="${final.core.name}" fullpath="${snapshot.full.name}/ivy-core-${build.version}.jar"/>
</zip>
<tar destfile="${distrib.dir}/${snapshot.full.name}-bin.tar.gz"
compression="gzip" longfile="gnu">
<zipfileset src="${distrib.dir}/${snapshot.full.name}-bin.zip"/>
</tar>
<copy file="${artifacts.build.dir}/${final.name}" todir="${distrib.dir}" />
<copy file="${artifacts.build.dir}/${final.core.name}" todir="${distrib.dir}" />
<copy file="${src.dir}/org/apache/ivy/plugins/parser/xml/ivy.xsd" todir="${distrib.dir}" />
</target>
<target name="snapshot-checksums">
<checksum algorithm="md5">
<fileset dir="${distrib.dir}">
<include name="*.zip"/>
<include name="*.gz"/>
</fileset>
</checksum>
<checksum algorithm="sha">
<fileset dir="${distrib.dir}">
<include name="*.zip"/>
<include name="*.gz"/>
</fileset>
</checksum>
</target>
<target name="snapshot-version">
<property name="version.prefix" value="${target.ivy.version}-dev-"/>
</target>
<target name="release-version">
<input message="please enter version: " addproperty="build.version"/>
<input message="please enter status: (integration,milestone,release)" addproperty="status"/>
</target>
<target name="snapshot" depends="localivy, clean-ivy-home, init-ivy, clean-all, snapshot-version, coverage-report, snapshot-src, snapshot-bin, snapshot-checksums"
description="used for nightly and integration builds"/>
<target name="release" depends="release-version, snapshot" description="make a new release of Ivy"/>
<!--
publication on ivy web site
requires to be logged in on people.apache.org
-->
<available property="loggedin" file="/www/incubator.apache.org/ivy/index.html"/>
<target name="publish-latest" if="loggedin" description="publishes the last snapshot done to ivy web site">
<property name="html.dir" value="/www/incubator.apache.org/ivy/downloads/latest/"/>
<delete>
<fileset dir="${html.dir}"/>
</delete>
<copy todir="${html.dir}">
<fileset dir="${distrib.dir}"/>
</copy>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="IvyRelease" default="snapshot" xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
<import file="build.xml"/>
<target name="generate-doc">
<!-- requires java 6 jdk in path and Apache Ant 1.7 -->
<copy todir="${doc.build.dir}">
<fileset dir="${doc.src.dir}" includes="images/**,style/**,samples/**" />
</copy>
<script language="javascript"><![CDATA[
importClass(java.io.File);
fs = project.createDataType("fileset");
fs.setDir( new File(project.getProperty("doc.src.dir")) );
fs.setIncludes("**/*.html");
fs.setExcludes("template.html,"
+"*Template.html,"
+"conflict-solving-algo.html,"
+"doc/use.html,"
+"doc/reference.html,"
+"samples/**,"
+"reports/**,"
+"xooki/**,"
+"presentations/**,"
+"test/**");
// Get the files (array) of that fileset
ds = fs.getDirectoryScanner(project);
srcFiles = ds.getIncludedFiles();
// iterate over that array
for (i=0; i<srcFiles.length; i++) {
// get the values via Java API
var file = new File(fs.getDir(project), srcFiles[i]);
var basedir = file.getParent();
var filename = file.getName();
var filepath = srcFiles[i].substring(0, srcFiles[i].lastIndexOf(project.getProperty("file.separator"))+1);
exec = project.createTask("exec");
exec.setDir(new File(basedir));
exec.setExecutable("jrunscript");
exec.createArg().setValue(project.getProperty("doc.src.dir")+"/xooki/xooki.js");
exec.createArg().setValue("-noddtree");
exec.createArg().setValue(filename);
exec.createArg().setValue(project.getProperty("doc.build.dir")+"/"+filepath);
exec.perform();
}
]]></script>
</target>
<target name="all-doc" depends="javadoc, generate-doc" />
<target name="init-snapshot" depends="default-version">
<property name="snapshot.full.name" value="apache-ivy-${build.version}" />
</target>
<target name="snapshot-src" depends="init-snapshot,all-doc">
<mkdir dir="${distrib.dir}"/>
<zip destfile="${distrib.dir}/${snapshot.full.name}-src.zip">
<zipfileset dir="${doc.build.dir}" prefix="${snapshot.full.name}/doc" excludes="**/reports/coverage/**,**/reports/test/**"/>
<zipfileset dir="${src.dir}" prefix="${snapshot.full.name}/src/java"/>
<zipfileset dir="${basedir}/src/example" prefix="${snapshot.full.name}/src/example"/>
<zipfileset dir="${test.dir}" prefix="${snapshot.full.name}/test/java"/>
<zipfileset dir="${basedir}/test/repositories" prefix="${snapshot.full.name}/test/repositories"/>
<zipfileset dir="${basedir}/test/buildlist" prefix="${snapshot.full.name}/test/buildlist"/>
<zipfileset dir="${basedir}/test/triggers" prefix="${snapshot.full.name}/test/triggers" excludes="**/cache/**"/>
<zipfileset dir="${basedir}/test/xsl" prefix="${snapshot.full.name}/test/xsl"/>
<zipfileset dir="${src.dir}/org/apache/ivy/plugins/parser/xml" includes="ivy.xsd" fullpath="${snapshot.full.name}/ivy.xsd"/>
<zipfileset dir="${basedir}" includes="MANIFEST.MF" fullpath="${snapshot.full.name}/MANIFEST.MF"/>
<zipfileset dir="${basedir}" includes="DISCLAIMER" fullpath="${snapshot.full.name}/DISCLAIMER"/>
<zipfileset dir="${basedir}" includes="NOTICE" fullpath="${snapshot.full.name}/NOTICE"/>
<zipfileset dir="${basedir}" includes="LICENSE" fullpath="${snapshot.full.name}/LICENSE"/>
<zipfileset dir="${basedir}" includes="CHANGES.txt" fullpath="${snapshot.full.name}/CHANGES.txt"/>
<zipfileset dir="${basedir}" includes="RELEASE_NOTES" fullpath="${snapshot.full.name}/RELEASE_NOTES"/>
<zipfileset dir="${basedir}" includes="ivysettings.xml" fullpath="${snapshot.full.name}/ivysettings.xml"/>
<zipfileset dir="${basedir}" includes="build.properties" fullpath="${snapshot.full.name}/build.properties"/>
<zipfileset dir="${basedir}" includes="ivy.xml" fullpath="${snapshot.full.name}/ivy.xml"/>
<zipfileset dir="${basedir}" includes="build.xml" fullpath="${snapshot.full.name}/build.xml"/>
</zip>
<tar destfile="${distrib.dir}/${snapshot.full.name}-src.tar.gz"
compression="gzip" longfile="gnu">
<zipfileset src="${distrib.dir}/${snapshot.full.name}-src.zip"/>
</tar>
</target>
<target name="snapshot-bin" depends="init-snapshot, jar, all-doc">
<mkdir dir="${distrib.dir}"/>
<ivy:deliver
deliverpattern="${distrib.dir}/ivy.xml"
pubrevision="${build.version}"
pubdate="${pubdate}"
status="${status}"/>
<zip destfile="${distrib.dir}/${snapshot.full.name}-bin.zip">
<zipfileset dir="${doc.build.dir}" prefix="${snapshot.full.name}/doc" excludes="**/reports/coverage/**,**/reports/test/**"/>
<zipfileset dir="${basedir}/src/example" prefix="${snapshot.full.name}/src/example"/>
<zipfileset dir="${basedir}" includes="DISCLAIMER" fullpath="${snapshot.full.name}/DISCLAIMER"/>
<zipfileset dir="${basedir}" includes="NOTICE" fullpath="${snapshot.full.name}/NOTICE"/>
<zipfileset dir="${basedir}" includes="LICENSE" fullpath="${snapshot.full.name}/LICENSE"/>
<zipfileset dir="${basedir}" includes="CHANGES.txt" fullpath="${snapshot.full.name}/CHANGES.txt"/>
<zipfileset dir="${basedir}" includes="RELEASE_NOTES" fullpath="${snapshot.full.name}/RELEASE_NOTES"/>
<zipfileset dir="${src.dir}/org/apache/ivy/plugins/parser/xml" includes="ivy.xsd" fullpath="${snapshot.full.name}/ivy.xsd"/>
<zipfileset dir="${basedir}" includes="ivy.xml" fullpath="${snapshot.full.name}/ivy.xml"/>
<zipfileset dir="${artifacts.build.dir}" includes="${final.name}" fullpath="${snapshot.full.name}/ivy-${build.version}.jar"/>
<zipfileset dir="${artifacts.build.dir}" includes="${final.core.name}" fullpath="${snapshot.full.name}/ivy-core-${build.version}.jar"/>
</zip>
<tar destfile="${distrib.dir}/${snapshot.full.name}-bin.tar.gz"
compression="gzip" longfile="gnu">
<zipfileset src="${distrib.dir}/${snapshot.full.name}-bin.zip"/>
</tar>
<copy file="${artifacts.build.dir}/${final.name}" todir="${distrib.dir}" />
<copy file="${artifacts.build.dir}/${final.core.name}" todir="${distrib.dir}" />
<copy file="${src.dir}/org/apache/ivy/plugins/parser/xml/ivy.xsd" todir="${distrib.dir}" />
</target>
<target name="snapshot-checksums">
<checksum algorithm="md5">
<fileset dir="${distrib.dir}">
<include name="*.zip"/>
<include name="*.gz"/>
</fileset>
</checksum>
<checksum algorithm="sha">
<fileset dir="${distrib.dir}">
<include name="*.zip"/>
<include name="*.gz"/>
</fileset>
</checksum>
</target>
<target name="snapshot-version">
<property name="version.prefix" value="${target.ivy.version}-dev-"/>
</target>
<target name="release-version">
<input message="please enter version: " addproperty="build.version"/>
<input message="please enter status: (integration,milestone,release)" addproperty="status"/>
</target>
<target name="snapshot" depends="localivy, clean-ivy-home, init-ivy, clean-all, snapshot-version, coverage-report, snapshot-src, snapshot-bin, snapshot-checksums"
description="used for nightly and integration builds"/>
<target name="release" depends="release-version, snapshot" description="make a new release of Ivy"/>
<!--
publication on ivy web site
requires to be logged in on people.apache.org
-->
<available property="loggedin" file="/www/incubator.apache.org/ivy/index.html"/>
<target name="publish-latest" if="loggedin" description="publishes the last snapshot done to ivy web site">
<property name="html.dir" value="/www/incubator.apache.org/ivy/downloads/latest/"/>
<delete>
<fileset dir="${html.dir}"/>
</delete>
<copy todir="${html.dir}">
<fileset dir="${distrib.dir}"/>
</copy>
</target>
</project>

View File

@ -1,47 +1,47 @@
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
lib.dir=${basedir}/lib
src.dir=${basedir}/src/java
test.dir=${basedir}/test/java
build.dir=${basedir}/build
classes.build.dir=${basedir}/build/classes
core.classes.build.dir=${classes.build.dir}/core
ant.classes.build.dir=${classes.build.dir}/ant
optional.classes.build.dir=${classes.build.dir}/optional
test.build.dir=${basedir}/build/test
artifacts.build.dir=${basedir}/build/artifact
distrib.dir=${basedir}/build/distrib
doc.build.dir=${basedir}/build/doc
reports.dir=${doc.build.dir}/reports
test.xml.dir=${build.dir}/test-report
test.report.dir=${reports.dir}/test
coverage.report.dir=${reports.dir}/coverage
javadoc.build.dir=${reports.dir}/api
doc.src.dir=${basedir}/doc
checkstyle.report.dir=${reports.dir}/checkstyle
checkstyle.src.dir=${basedir}/src/etc/checkstyle
ivy.minimum.javaversion=1.4
debug.mode=on
ivy.install.version=1.4.1
status=integration
test.class.pattern = *Test
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
lib.dir=${basedir}/lib
src.dir=${basedir}/src/java
test.dir=${basedir}/test/java
build.dir=${basedir}/build
classes.build.dir=${basedir}/build/classes
core.classes.build.dir=${classes.build.dir}/core
ant.classes.build.dir=${classes.build.dir}/ant
optional.classes.build.dir=${classes.build.dir}/optional
test.build.dir=${basedir}/build/test
artifacts.build.dir=${basedir}/build/artifact
distrib.dir=${basedir}/build/distrib
doc.build.dir=${basedir}/build/doc
reports.dir=${doc.build.dir}/reports
test.xml.dir=${build.dir}/test-report
test.report.dir=${reports.dir}/test
coverage.report.dir=${reports.dir}/coverage
javadoc.build.dir=${reports.dir}/api
doc.src.dir=${basedir}/doc
checkstyle.report.dir=${reports.dir}/checkstyle
checkstyle.src.dir=${basedir}/src/etc/checkstyle
ivy.minimum.javaversion=1.4
debug.mode=on
ivy.install.version=1.4.1
status=integration
test.class.pattern = *Test

990
build.xml
View File

@ -1,490 +1,500 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="ivy" default="coverage-report" xmlns:ivy="antlib:org.apache.ivy.ant">
<property environment="env"/>
<property file="version.properties"/>
<property file="build.properties"/>
<property name="final.name" value="ivy.jar" />
<property name="final.core.name" value="ivy-core.jar" />
<target name="init-ivy-user-home" unless="ivy.use.local.home">
<condition property="ivy.home" value="${env.IVY_HOME}">
<isset property="env.IVY_HOME" />
</condition>
<property name="ivy.home" value="${user.home}/.ivy" />
</target>
<target name="init-ivy-local-home" if="ivy.use.local.home">
<property name="ivy.home" value="${basedir}/.ivy" />
</target>
<target name="init-ivy-home" depends="init-ivy-user-home, init-ivy-local-home" />
<target name="init-ivy" depends="compile-ant">
<taskdef resource="org/apache/ivy/ant/antlib.xml"
uri="antlib:org.apache.ivy.ant">
<classpath>
<pathelement location="${core.classes.build.dir}"/>
<pathelement location="${ant.classes.build.dir}"/>
</classpath>
</taskdef>
<ivy:settings />
</target>
<target name="install" depends="jar" description="build Ivy and install it in Ivy home for consecutive builds">
<copy file="${artifacts.build.dir}/${final.name}" tofile="${ivy.jar.file}"/>
</target>
<!-- =================================================================
PREPARATION, CLEANING AND FLAGS TASKS
================================================================= -->
<target name="init">
<path id="build.classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<path id="run.classpath">
<path refid="build.classpath"/>
<pathelement location="${core.classes.build.dir}"/>
<pathelement location="${ant.classes.build.dir}"/>
<pathelement location="${optional.classes.build.dir}"/>
</path>
<path id="test.classpath">
<path refid="run.classpath"/>
<pathelement path="${test.build.dir}"/>
</path>
</target>
<target name="prepare" depends="init">
<mkdir dir="${classes.build.dir}"/>
<mkdir dir="${core.classes.build.dir}"/>
<mkdir dir="${ant.classes.build.dir}"/>
<mkdir dir="${optional.classes.build.dir}"/>
<mkdir dir="${test.build.dir}"/>
<mkdir dir="${artifacts.build.dir}"/>
<mkdir dir="${test.report.dir}"/>
</target>
<target name="clean">
<delete dir="${classes.build.dir}"/>
<delete dir="${test.build.dir}"/>
<delete dir="${artifacts.build.dir}"/>
<delete dir="${test.report.dir}"/>
<delete dir="${javadoc.build.dir}"/>
<delete dir="${doc.build.dir}"/>
<delete dir="${build.dir}"/>
</target>
<target name="clean-lib">
<delete dir="${lib.dir}"/>
</target>
<target name="clean-ivy-cache" depends="init-ivy-home">
<delete dir="${ivy.home}/cache"/>
</target>
<target name="clean-ivy-home" depends="init-ivy-home">
<delete dir="${ivy.home}"/>
</target>
<target name="clean-examples" description="clean all examples">
<subant target="clean" failonerror="false">
<fileset dir="src/example" includes="**/build.xml"/>
</subant>
</target>
<target name="clean-all" depends="clean, clean-lib, clean-examples"/>
<target name="noresolve" description="use to skip dependency resolution">
<property name="no.resolve" value="true"/>
</target>
<target name="notest" description="use to skip tests">
<property name="skip.test" value="true"/>
</target>
<target name="nojavadoc" description="use to skip javadoc">
<property name="skip.javadoc" value="true"/>
</target>
<target name="localivy" description="use a local ivy home">
<property name="ivy.use.local.home" value="true"/>
</target>
<target name="offline" depends="noresolve" description="use to indicate no internet connection is available">
<property name="offline" value="true" />
</target>
<target name="default-version">
<tstamp>
<format property="pubdate" pattern="yyyyMMddHHmmss"/>
</tstamp>
<property name="version.prefix" value="${target.ivy.version}-local-"/>
<property name="build.version" value="${version.prefix}${pubdate}"/>
<property name="bundle.version" value="${target.ivy.bundle.version}"/>
</target>
<!-- =================================================================
DEPENDENCY MNGT, COMPILATION AND JAR
================================================================= -->
<target name="resolve" depends="init-ivy" unless="no.resolve">
<ivy:retrieve conf="default,test" pattern="${lib.dir}/[artifact].[ext]"/>
</target>
<target name="compile-core" depends="prepare">
<javac srcdir="${src.dir}"
destdir="${core.classes.build.dir}"
sourcepath=""
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="no">
<excludesfile name="ant.patterns" />
<excludesfile name="optional.patterns" />
</javac>
<copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
<fileset dir="${src.dir}">
<exclude name="**/*.java"/>
<excludesfile name="ant.patterns" />
<excludesfile name="optional.patterns" />
</fileset>
</copy>
<!-- copy settings files for backward compatibility with ivyconf naming -->
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-local.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-local.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-default-chain.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-default-chain.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-main-chain.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-main-chain.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-public.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-public.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-shared.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-shared.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf.xml" />
</target>
<target name="compile-ant" depends="compile-core">
<javac srcdir="${src.dir}"
destdir="${ant.classes.build.dir}"
sourcepath=""
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="yes">
<classpath>
<pathelement location="${core.classes.build.dir}"/>
</classpath>
<includesfile name="ant.patterns" />
</javac>
<copy todir="${ant.classes.build.dir}" includeEmptyDirs="false">
<fileset dir="${src.dir}">
<includesfile name="ant.patterns" />
<exclude name="**/*.java"/>
</fileset>
</copy>
<!-- copy antlib for backward compatibility with fr.jayasoft.ivy package -->
<copy file="${ant.classes.build.dir}/org/apache/ivy/ant/antlib.xml"
todir="${ant.classes.build.dir}/fr/jayasoft/ivy/ant"/>
</target>
<target name="compile-optional" depends="compile-ant, resolve">
<javac srcdir="${src.dir}"
destdir="${optional.classes.build.dir}"
sourcepath=""
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="no">
<classpath>
<pathelement location="${core.classes.build.dir}"/>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</classpath>
<includesfile name="optional.patterns" />
</javac>
<copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
<fileset dir="${src.dir}">
<includesfile name="optional.patterns" />
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="jar" depends="compile-optional, default-version">
<!-- identify compiled ivy version -->
<echo message="version=${build.version}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true"/>
<echo message="date=${pubdate}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true"/>
<!-- package the two ivy jars -->
<jar destfile="${artifacts.build.dir}/${final.name}"
manifest="${basedir}/MANIFEST.MF">
<metainf dir="${basedir}" includes="LICENSE,DISCLAIMER,NOTICE" />
<manifest>
<attribute name="Build-Version" value="${build.version}"/>
<attribute name="Bundle-Version" value="${bundle.version}"/>
<section name="org/apache/ivy">
<attribute name="Extension-name" value="org.apache.ivy" />
<attribute name="Specification-Title" value="Apache Ivy" />
<attribute name="Specification-Version" value="${build.version}" />
<attribute name="Specification-Vendor" value="Apache Software Foundation" />
<attribute name="Implementation-Title" value="org.apache.tools.ant" />
<attribute name="Implementation-Version" value="${build.version}" />
<attribute name="Implementation-Vendor" value="Apache Software Foundation" />
</section>
</manifest>
<fileset dir="${core.classes.build.dir}" />
<fileset dir="${ant.classes.build.dir}" />
<fileset dir="${optional.classes.build.dir}" />
</jar>
<jar destfile="${artifacts.build.dir}/${final.core.name}">
<metainf dir="${basedir}" includes="LICENSE,DISCLAIMER,NOTICE" />
<manifest>
<attribute name="Build-Version" value="${build.version}"/>
</manifest>
<fileset dir="${core.classes.build.dir}" />
<fileset dir="${optional.classes.build.dir}" />
</jar>
<!-- clean generated module properties file -->
<delete file="${core.classes.build.dir}/module.properties"/>
</target>
<!-- =================================================================
PUBLISH LOCAL
================================================================= -->
<target name="publish-local" depends="jar" description="--> publishes Ivy to Ivy local repository">
<ivy:publish resolver="local" pubrevision="${build.version}"
artifactsPattern="${artifacts.build.dir}/[artifact].[ext]"
forcedeliver="true"/>
</target>
<!-- =================================================================
TESTS
================================================================= -->
<target name="build-custom-resolver-jar" depends="jar">
<mkdir dir="${build.dir}/custom-classpath" />
<javac srcdir="${basedir}/test/custom-classpath"
destdir="${build.dir}/custom-classpath"
classpathref="run.classpath"
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="no"/>
<jar destfile="${test.dir}/org/apache/ivy/core/settings/custom-resolver.jar"
basedir="${build.dir}/custom-classpath"/>
</target>
<target name="init-tests-offline" if="offline">
<fileset id="test.fileset" dir="${test.dir}">
<include name="**/${test.class.pattern}.java"/>
<exclude name="**/Abstract*Test.java"/>
<contains text="junit"/>
<not><contains text="remote.test"/></not>
</fileset>
</target>
<target name="init-tests-online" unless="offline">
<fileset id="test.fileset" dir="${test.dir}">
<include name="**/${test.class.pattern}.java"/>
<exclude name="**/Abstract*Test.java"/>
<contains text="junit"/>
</fileset>
</target>
<target name="init-tests" depends="init-tests-offline, init-tests-online" />
<target name="emma" depends="jar" unless="skip.test">
<ivy:cachepath organisation="emma" module="emma" revision="2.0.5312"
inline="true" conf="default" pathid="emma.classpath"/>
<ivy:cachepath organisation="emma" module="emma_ant" revision="2.0.5312"
inline="true" conf="default" pathid="emma.ant.classpath" transitive="false"/>
<taskdef resource="emma_ant.properties">
<classpath refid="emma.classpath" />
<classpath refid="emma.ant.classpath" />
</taskdef>
<property name="emma.enabled" value="true" />
<property name="coverage.dir" value="${build.dir}/coverage" />
<property name="coverage.classes.dir" value="${coverage.dir}/classes" />
<mkdir dir="${coverage.dir}" />
<mkdir dir="${coverage.classes.dir}" />
<emma enabled="${emma.enabled}" >
<instr mode="copy"
destdir="${coverage.dir}/classes"
metadatafile="${coverage.dir}/metadata.emma">
<instrpath>
<pathelement location="${core.classes.build.dir}"/>
<pathelement location="${ant.classes.build.dir}"/>
<pathelement location="${optional.classes.build.dir}"/>
</instrpath>
</instr>
</emma>
<delete file="${coverage.dir}/coverage.emma" />
<!-- add emma path to test path, because emma jars need to be available when running
instrumented classes -->
<ivy:addpath topath="test.classpath">
<path refid="emma.classpath"/>
</ivy:addpath>
</target>
<target name="build-test" depends="jar">
<javac srcdir="${test.dir}"
destdir="${test.build.dir}"
classpathref="run.classpath"
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="no"/>
<copy todir="${test.build.dir}">
<fileset dir="${test.dir}">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="test-internal" depends="build-test, init-tests" unless="skip.test">
<mkdir dir="${test.xml.dir}" />
<junit
haltonfailure="off"
haltonerror="off"
errorproperty="test.failed"
failureproperty="test.failed"
showoutput="no"
printsummary="yes"
fork="true">
<classpath>
<pathelement location="${coverage.classes.dir}" />
<path refid="test.classpath"/>
</classpath>
<jvmarg value="-Demma.coverage.out.file=${coverage.dir}/coverage.emma" />
<jvmarg value="-Demma.coverage.out.merge=true" />
<formatter type="xml"/>
<batchtest todir="${test.xml.dir}">
<fileset refid="test.fileset" />
</batchtest>
</junit>
</target>
<target name="test" depends="test-internal" description="Run the test">
<fail if="test.failed"
message="At least one test has failed. See logs (in ${test.xml.dir}) for details (use the target test-report to run the test with a report)"/>
</target>
<!-- =================================================================
REPORTS AND DOCUMENTATION
================================================================= -->
<target name="test-report" depends="test-internal" unless="skip.test">
<junitreport todir="${test.xml.dir}">
<fileset dir="${test.xml.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${test.report.dir}" />
</junitreport>
<fail if="test.failed"
message="At least one test has failed. See logs (in ${test.xml.dir}) or report (in ${test.report.dir})"/>
</target>
<target name="coverage-report" depends="emma, test-report" unless="skip.test"
description="run tests with instrumentation and generate coverage report">
<mkdir dir="${coverage.report.dir}" />
<emma>
<report sourcepath="${src.dir}" >
<fileset dir="${coverage.dir}" >
<include name="*.emma" />
</fileset>
<txt outfile="${coverage.report.dir}/coverage.txt" />
<html outfile="${coverage.report.dir}/coverage.html" />
</report>
</emma>
</target>
<target name="javadoc" unless="skip.javadoc">
<javadoc destdir="${javadoc.build.dir}">
<fileset dir="${src.dir}" includes="**/*.java,**/package.html"/>
</javadoc>
</target>
<target name="fixcrlf">
<fixcrlf srcdir="${doc.src.dir}" includes="**/*.html,**/*.json" excludes="samples/**,presentations/**" eol="lf" />
<!--
<apply executable="svn">
<arg value="propset"/>
<arg value="svn:eol-style"/>
<arg value='"LF"'/>
<fileset dir="${doc.src.dir}" includes="**/*.html,**/*.json" excludes="samples/**,presentations/**" />
</apply>
-->
</target>
<target name="checkstyle" depends="jar" description="checks Ivy codebase according to ${config.dir}/checkstyle-config">
<ivy:cachepath organisation="checkstyle" module="checkstyle" revision="4.3"
inline="true" conf="default" pathid="checkstyle.classpath" transitive="true"/>
<taskdef resource="checkstyletask.properties" classpathref="checkstyle.classpath" />
<mkdir dir="${checkstyle.report.dir}"/>
<checkstyle config="${checkstyle.src.dir}/checkstyle-config" failOnViolation="false">
<formatter type="xml" toFile="${checkstyle.report.dir}/checkstyle.xml"/>
<fileset dir="${src.dir}">
<include name="**/*.java"/>
</fileset>
</checkstyle>
</target>
<target name="checkstyle-report" depends="checkstyle">
<property name="checkstyle.basedir" location="${src.dir}"/>
<xslt in="${checkstyle.report.dir}/checkstyle.xml"
style="${checkstyle.src.dir}/checkstyle-frames.xsl"
out="${checkstyle.report.dir}/output.txt">
<param name="basedir" expression="${checkstyle.basedir}"/>
</xslt>
</target>
<!-- =================================================================
IDE SPECIFIC
================================================================= -->
<available file="${basedir}/.classpath" property="eclipse.classpath.exists"/>
<target name="check-eclipse-classpath-overwrite" if="eclipse.classpath.exists">
<input message=".classpath file already exists.${line.separator}Are you sure you want to overwrite it and loose your original file?"
validargs="Y,N,y,n" addproperty="eclipse.classpath.confirm"/>
<condition property="eclipse.classpath.abort">
<equals arg1="${eclipse.classpath.confirm}" arg2="N" casesensitive="false"/>
</condition>
</target>
<target name="eclipse-default" depends="resolve, check-eclipse-classpath-overwrite"
unless="eclipse.classpath.abort"
description="--> creates a default .classpath for eclipse, using jars resolved by this ant build">
<copy file="${basedir}/.classpath.default" tofile="${basedir}/.classpath" overwrite="true"/>
</target>
<target name="eclipse-ivyde" depends="check-eclipse-classpath-overwrite"
unless="eclipse.classpath.abort"
description="--> creates a .classpath for eclipse using Apache IvyDE version">
<copy file="${basedir}/.classpath.ivyde" tofile="${basedir}/.classpath" overwrite="true"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="ivy" default="coverage-report" xmlns:ivy="antlib:org.apache.ivy.ant">
<property environment="env"/>
<property file="version.properties"/>
<property file="build.properties"/>
<property name="final.name" value="ivy.jar" />
<property name="final.core.name" value="ivy-core.jar" />
<target name="init-ivy-user-home" unless="ivy.use.local.home">
<condition property="ivy.home" value="${env.IVY_HOME}">
<isset property="env.IVY_HOME" />
</condition>
<property name="ivy.home" value="${user.home}/.ivy" />
</target>
<target name="init-ivy-local-home" if="ivy.use.local.home">
<property name="ivy.home" value="${basedir}/.ivy" />
</target>
<target name="init-ivy-home" depends="init-ivy-user-home, init-ivy-local-home" />
<target name="init-ivy" depends="compile-ant">
<taskdef resource="org/apache/ivy/ant/antlib.xml"
uri="antlib:org.apache.ivy.ant">
<classpath>
<pathelement location="${core.classes.build.dir}"/>
<pathelement location="${ant.classes.build.dir}"/>
</classpath>
</taskdef>
<ivy:settings />
</target>
<target name="install" depends="jar" description="build Ivy and install it in Ivy home for consecutive builds">
<copy file="${artifacts.build.dir}/${final.name}" tofile="${ivy.jar.file}"/>
</target>
<!-- =================================================================
PREPARATION, CLEANING AND FLAGS TASKS
================================================================= -->
<target name="init">
<path id="build.classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<path id="run.classpath">
<path refid="build.classpath"/>
<pathelement location="${core.classes.build.dir}"/>
<pathelement location="${ant.classes.build.dir}"/>
<pathelement location="${optional.classes.build.dir}"/>
</path>
<path id="test.classpath">
<path refid="run.classpath"/>
<pathelement path="${test.build.dir}"/>
</path>
</target>
<target name="prepare" depends="init">
<mkdir dir="${classes.build.dir}"/>
<mkdir dir="${core.classes.build.dir}"/>
<mkdir dir="${ant.classes.build.dir}"/>
<mkdir dir="${optional.classes.build.dir}"/>
<mkdir dir="${test.build.dir}"/>
<mkdir dir="${artifacts.build.dir}"/>
<mkdir dir="${test.report.dir}"/>
</target>
<target name="clean">
<delete dir="${classes.build.dir}"/>
<delete dir="${test.build.dir}"/>
<delete dir="${artifacts.build.dir}"/>
<delete dir="${test.report.dir}"/>
<delete dir="${javadoc.build.dir}"/>
<delete dir="${doc.build.dir}"/>
<delete dir="${build.dir}"/>
</target>
<target name="clean-lib">
<delete dir="${lib.dir}"/>
</target>
<target name="clean-ivy-cache" depends="init-ivy-home">
<delete dir="${ivy.home}/cache"/>
</target>
<target name="clean-ivy-home" depends="init-ivy-home">
<delete dir="${ivy.home}"/>
</target>
<target name="clean-examples" description="clean all examples">
<subant target="clean" failonerror="false">
<fileset dir="src/example" includes="**/build.xml"/>
</subant>
</target>
<target name="clean-all" depends="clean, clean-lib, clean-examples"/>
<target name="noresolve" description="use to skip dependency resolution">
<property name="no.resolve" value="true"/>
</target>
<target name="notest" description="use to skip tests">
<property name="skip.test" value="true"/>
</target>
<target name="nojavadoc" description="use to skip javadoc">
<property name="skip.javadoc" value="true"/>
</target>
<target name="localivy" description="use a local ivy home">
<property name="ivy.use.local.home" value="true"/>
</target>
<target name="offline" depends="noresolve" description="use to indicate no internet connection is available">
<property name="offline" value="true" />
</target>
<target name="default-version">
<tstamp>
<format property="pubdate" pattern="yyyyMMddHHmmss"/>
</tstamp>
<property name="version.prefix" value="${target.ivy.version}-local-"/>
<property name="build.version" value="${version.prefix}${pubdate}"/>
<property name="bundle.version" value="${target.ivy.bundle.version}"/>
</target>
<!-- =================================================================
DEPENDENCY MNGT, COMPILATION AND JAR
================================================================= -->
<target name="resolve" depends="init-ivy" unless="no.resolve">
<ivy:retrieve conf="default,test" pattern="${lib.dir}/[artifact].[ext]"/>
</target>
<target name="compile-core" depends="prepare">
<javac srcdir="${src.dir}"
destdir="${core.classes.build.dir}"
sourcepath=""
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="no">
<excludesfile name="ant.patterns" />
<excludesfile name="optional.patterns" />
</javac>
<copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
<fileset dir="${src.dir}">
<exclude name="**/*.java"/>
<excludesfile name="ant.patterns" />
<excludesfile name="optional.patterns" />
</fileset>
</copy>
<!-- copy settings files for backward compatibility with ivyconf naming -->
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-local.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-local.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-default-chain.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-default-chain.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-main-chain.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-main-chain.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-public.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-public.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-shared.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-shared.xml" />
<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings.xml"
tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf.xml" />
</target>
<target name="compile-ant" depends="compile-core">
<javac srcdir="${src.dir}"
destdir="${ant.classes.build.dir}"
sourcepath=""
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="yes">
<classpath>
<pathelement location="${core.classes.build.dir}"/>
</classpath>
<includesfile name="ant.patterns" />
</javac>
<copy todir="${ant.classes.build.dir}" includeEmptyDirs="false">
<fileset dir="${src.dir}">
<includesfile name="ant.patterns" />
<exclude name="**/*.java"/>
</fileset>
</copy>
<!-- copy antlib for backward compatibility with fr.jayasoft.ivy package -->
<copy file="${ant.classes.build.dir}/org/apache/ivy/ant/antlib.xml"
todir="${ant.classes.build.dir}/fr/jayasoft/ivy/ant"/>
</target>
<target name="compile-optional" depends="compile-ant, resolve">
<javac srcdir="${src.dir}"
destdir="${optional.classes.build.dir}"
sourcepath=""
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="no">
<classpath>
<pathelement location="${core.classes.build.dir}"/>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</classpath>
<includesfile name="optional.patterns" />
</javac>
<copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
<fileset dir="${src.dir}">
<includesfile name="optional.patterns" />
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="jar" depends="compile-optional, default-version">
<!-- identify compiled ivy version -->
<echo message="version=${build.version}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true"/>
<echo message="date=${pubdate}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true"/>
<!-- package the two ivy jars -->
<jar destfile="${artifacts.build.dir}/${final.name}"
manifest="${basedir}/MANIFEST.MF">
<metainf dir="${basedir}" includes="LICENSE,DISCLAIMER,NOTICE" />
<manifest>
<attribute name="Build-Version" value="${build.version}"/>
<attribute name="Bundle-Version" value="${bundle.version}"/>
<section name="org/apache/ivy">
<attribute name="Extension-name" value="org.apache.ivy" />
<attribute name="Specification-Title" value="Apache Ivy" />
<attribute name="Specification-Version" value="${build.version}" />
<attribute name="Specification-Vendor" value="Apache Software Foundation" />
<attribute name="Implementation-Title" value="org.apache.tools.ant" />
<attribute name="Implementation-Version" value="${build.version}" />
<attribute name="Implementation-Vendor" value="Apache Software Foundation" />
</section>
</manifest>
<fileset dir="${core.classes.build.dir}" />
<fileset dir="${ant.classes.build.dir}" />
<fileset dir="${optional.classes.build.dir}" />
</jar>
<jar destfile="${artifacts.build.dir}/${final.core.name}">
<metainf dir="${basedir}" includes="LICENSE,DISCLAIMER,NOTICE" />
<manifest>
<attribute name="Build-Version" value="${build.version}"/>
</manifest>
<fileset dir="${core.classes.build.dir}" />
<fileset dir="${optional.classes.build.dir}" />
</jar>
<!-- clean generated module properties file -->
<delete file="${core.classes.build.dir}/module.properties"/>
</target>
<!-- =================================================================
PUBLISH LOCAL
================================================================= -->
<target name="publish-local" depends="jar" description="--> publishes Ivy to Ivy local repository">
<ivy:publish resolver="local" pubrevision="${build.version}"
artifactsPattern="${artifacts.build.dir}/[artifact].[ext]"
forcedeliver="true"/>
</target>
<!-- =================================================================
TESTS
================================================================= -->
<target name="build-custom-resolver-jar" depends="jar">
<mkdir dir="${build.dir}/custom-classpath" />
<javac srcdir="${basedir}/test/custom-classpath"
destdir="${build.dir}/custom-classpath"
classpathref="run.classpath"
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="no"/>
<jar destfile="${test.dir}/org/apache/ivy/core/settings/custom-resolver.jar"
basedir="${build.dir}/custom-classpath"/>
</target>
<target name="init-tests-offline" if="offline">
<fileset id="test.fileset" dir="${test.dir}">
<include name="**/${test.class.pattern}.java"/>
<exclude name="**/Abstract*Test.java"/>
<contains text="junit"/>
<not><contains text="remote.test"/></not>
</fileset>
</target>
<target name="init-tests-online" unless="offline">
<fileset id="test.fileset" dir="${test.dir}">
<include name="**/${test.class.pattern}.java"/>
<exclude name="**/Abstract*Test.java"/>
<contains text="junit"/>
</fileset>
</target>
<target name="init-tests" depends="init-tests-offline, init-tests-online" />
<target name="emma" depends="jar" unless="skip.test">
<ivy:cachepath organisation="emma" module="emma" revision="2.0.5312"
inline="true" conf="default" pathid="emma.classpath"/>
<ivy:cachepath organisation="emma" module="emma_ant" revision="2.0.5312"
inline="true" conf="default" pathid="emma.ant.classpath" transitive="false"/>
<taskdef resource="emma_ant.properties">
<classpath refid="emma.classpath" />
<classpath refid="emma.ant.classpath" />
</taskdef>
<property name="emma.enabled" value="true" />
<property name="coverage.dir" value="${build.dir}/coverage" />
<property name="coverage.classes.dir" value="${coverage.dir}/classes" />
<mkdir dir="${coverage.dir}" />
<mkdir dir="${coverage.classes.dir}" />
<emma enabled="${emma.enabled}" >
<instr mode="copy"
destdir="${coverage.dir}/classes"
metadatafile="${coverage.dir}/metadata.emma">
<instrpath>
<pathelement location="${core.classes.build.dir}"/>
<pathelement location="${ant.classes.build.dir}"/>
<pathelement location="${optional.classes.build.dir}"/>
</instrpath>
</instr>
</emma>
<delete file="${coverage.dir}/coverage.emma" />
<!-- add emma path to test path, because emma jars need to be available when running
instrumented classes -->
<ivy:addpath topath="test.classpath">
<path refid="emma.classpath"/>
</ivy:addpath>
</target>
<target name="build-test" depends="jar">
<javac srcdir="${test.dir}"
destdir="${test.build.dir}"
classpathref="run.classpath"
source="${ivy.minimum.javaversion}"
target="${ivy.minimum.javaversion}"
debug="${debug.mode}"
includeantruntime="no"/>
<copy todir="${test.build.dir}">
<fileset dir="${test.dir}">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="test-internal" depends="build-test, init-tests" unless="skip.test">
<mkdir dir="${test.xml.dir}" />
<junit
haltonfailure="off"
haltonerror="off"
errorproperty="test.failed"
failureproperty="test.failed"
showoutput="no"
printsummary="yes"
fork="true">
<classpath>
<pathelement location="${coverage.classes.dir}" />
<path refid="test.classpath"/>
</classpath>
<jvmarg value="-Demma.coverage.out.file=${coverage.dir}/coverage.emma" />
<jvmarg value="-Demma.coverage.out.merge=true" />
<formatter type="xml"/>
<batchtest todir="${test.xml.dir}">
<fileset refid="test.fileset" />
</batchtest>
</junit>
</target>
<target name="test" depends="test-internal" description="Run the test">
<fail if="test.failed"
message="At least one test has failed. See logs (in ${test.xml.dir}) for details (use the target test-report to run the test with a report)"/>
</target>
<!-- =================================================================
REPORTS AND DOCUMENTATION
================================================================= -->
<target name="test-report" depends="test-internal" unless="skip.test">
<junitreport todir="${test.xml.dir}">
<fileset dir="${test.xml.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${test.report.dir}" />
</junitreport>
<fail if="test.failed"
message="At least one test has failed. See logs (in ${test.xml.dir}) or report (in ${test.report.dir})"/>
</target>
<target name="coverage-report" depends="emma, test-report" unless="skip.test"
description="run tests with instrumentation and generate coverage report">
<mkdir dir="${coverage.report.dir}" />
<emma>
<report sourcepath="${src.dir}" >
<fileset dir="${coverage.dir}" >
<include name="*.emma" />
</fileset>
<txt outfile="${coverage.report.dir}/coverage.txt" />
<html outfile="${coverage.report.dir}/coverage.html" />
</report>
</emma>
</target>
<target name="javadoc" unless="skip.javadoc">
<javadoc destdir="${javadoc.build.dir}">
<fileset dir="${src.dir}" includes="**/*.java,**/package.html"/>
</javadoc>
</target>
<target name="fixcrlf">
<property name="eol.native.includes"
value="**/*.html,**/*.json,**/*.java,**/*.xml,**/*.txt,**/*.MF,**/*.properties,**/*.patterns,**/*.pom,**/*.xsl,**/*.css"/>
<property name="eol.native.excludes"
value="build/**,bin/**,lib/**"/>
<fileset id="eol.native.fileset"
dir="${basedir}"
includes="${eol.native.includes}"
excludes="${eol.native.excludes}"/>
<fixcrlf srcdir="${basedir}"
includes="${eol.native.includes}"
excludes="${eol.native.excludes}"/>
<apply executable="svn">
<fileset refid="eol.native.fileset"/>
<arg value="propset"/>
<arg value="svn:eol-style"/>
<arg value='"native"'/>
</apply>
</target>
<target name="checkstyle" depends="jar" description="checks Ivy codebase according to ${checkstyle.src.dir}/checkstyle-config">
<ivy:cachepath organisation="checkstyle" module="checkstyle" revision="4.3"
inline="true" conf="default" pathid="checkstyle.classpath" transitive="true"/>
<taskdef resource="checkstyletask.properties" classpathref="checkstyle.classpath" />
<mkdir dir="${checkstyle.report.dir}"/>
<checkstyle config="${checkstyle.src.dir}/checkstyle-config" failOnViolation="false">
<formatter type="xml" toFile="${checkstyle.report.dir}/checkstyle.xml"/>
<fileset dir="${src.dir}">
<include name="**/*.java"/>
</fileset>
</checkstyle>
</target>
<target name="checkstyle-report" depends="checkstyle">
<property name="checkstyle.basedir" location="${src.dir}"/>
<xslt in="${checkstyle.report.dir}/checkstyle.xml"
style="${checkstyle.src.dir}/checkstyle-frames.xsl"
out="${checkstyle.report.dir}/output.txt">
<param name="basedir" expression="${checkstyle.basedir}"/>
</xslt>
</target>
<!-- =================================================================
IDE SPECIFIC
================================================================= -->
<available file="${basedir}/.classpath" property="eclipse.classpath.exists"/>
<target name="check-eclipse-classpath-overwrite" if="eclipse.classpath.exists">
<input message=".classpath file already exists.${line.separator}Are you sure you want to overwrite it and loose your original file?"
validargs="Y,N,y,n" addproperty="eclipse.classpath.confirm"/>
<condition property="eclipse.classpath.abort">
<equals arg1="${eclipse.classpath.confirm}" arg2="N" casesensitive="false"/>
</condition>
</target>
<target name="eclipse-default" depends="resolve, check-eclipse-classpath-overwrite"
unless="eclipse.classpath.abort"
description="--> creates a default .classpath for eclipse, using jars resolved by this ant build">
<copy file="${basedir}/.classpath.default" tofile="${basedir}/.classpath" overwrite="true"/>
</target>
<target name="eclipse-ivyde" depends="check-eclipse-classpath-overwrite"
unless="eclipse.classpath.abort"
description="--> creates a .classpath for eclipse using Apache IvyDE version">
<copy file="${basedir}/.classpath.ivyde" tofile="${basedir}/.classpath" overwrite="true"/>
</target>
</project>

View File

@ -1,121 +1,121 @@
= Ivy Proposal =
The following presents the proposal for creating a new Ivy project within the Apache Software Foundation.
== Abstract ==
Ivy (http://www.jayasoft.org/ivy) is a java based tool for tracking, resolving and managing project dependencies.
== Proposal ==
Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies. It is characterized by the following:
1) flexibility and configurability - Ivy is essentially process agnostic and is not tied to any methodology or structure. Instead it provides the necessary flexibility and configurability to be adapted to a broad range of dependency management and build processes.
2) tight integration with Apache Ant - while available as a standalone tool, Ivy works particularly well with Apache Ant providing a number of powerful Ant tasks ranging from dependency resolution to dependency reporting and publication.
== Rationale ==
Software development is increasingly characterized by leveraging externally provided components/capabilities and by a rapid release cycle. As a result it is not unusual for a project to depend on numerous third-party components which themselves may be dependent on a multitude of third-party of different or identical third-party components. Managing these dependencies - determining what the dependencies are, how they are used, the impact of a change, conflicts among dependencies, etc. - is extremely difficult and absolutely necessary. Ivy is one of a handful of tools addressing this need. While often compared to Maven - which has similar Ant tasks - Ivy differs from Maven in both its focus and philosophy. Ivy is solely focused on dependency management and is designed from the ground up to adapt to a wide range of requirements and scenarios. Examples include multiple aritfacts per module, plugin resolvers, configurable repository configurations and conflict managers.
The maintainers of Ivy are interested in joining the Apache Software Foundation for several reasons:
* Ivy has been hosted since its beginning in 2004 by a private company, which make people feel like it's a corporate product, thus slowing the contribution by the community. We strongly believe in the open source movement, and would like to make Ivy independent from Jayasoft.
* We'd like to enjoy the benefits of utilizing Apache's infrastructure and legal protection.
* It might open the door for cooperation with other projects, such as Ant or Maven.
* We strongly believe in Apache philosophy, especially Meritocracy.
== Current status ==
=== Meritocracy ===
Ivy was originally created by Xavier Hanin in September 2004. Since then more than 20 users have contributed patches, and one of them has been promoted to the status of committer based on his merit through patch contribution.
=== Community ===
Ivy already has a growing user community, with more than 10,000 downloads since its 1.0 version and more than 500 users registered on the forum.
=== Core Developers ===
Ivy has only two core developers for the moment, but we hope joining the ASF will help increase this number.
Xavier Hanin is the creator of the project, is an independant consultant and co founder of Jayasoft. He has an experience of 9 years in Java software development, uses open source projects intensively, and started his real participation in open source development with Ivy.
Maarten Coene has joined the committer team in may 2006. He has an experience of 9 years in java development, is co-administrator of dom4j, ex-committer for scarab, has contributed patches to several open-source projects and is a user of a lot of open-source projects.
=== Alignment ===
Ivy has no mandatory dependencies except java 1.4. However, it is strongly recommended to be used with Ant. Ivy uses also other Apache projects, especially from Jakarta Commons.
== Known risks ==
=== Orphaned products ===
Due to its small number of committers, there is a risk of being orphaned. The main knowledge of the codebase is still mainly owned by Xavier Hanin. Even if Xavier has no plan to leave Ivy development, this is a problem we are aware of and know that need to be worked on so that the project become less dependent on an individual.
=== Inexperience with Open Source ===
While distributed under an open source license, access to Ivy was initially limited with no public access to the issue tracking system or svn repository. While things have changed since then - the svn repository is publicly accessible, a JIRA instance has been setup since june 2005, many new features are first discussed on the forum or JIRA - experience with a true open source development model is currently limited.
However, Maarten has already a good experience with true open development process, and bring his experience to the project.
=== Homogenous Developers ===
With only two core developers, at least they are not homogenous! Xavier and Maarten knew each other only due to their common interest in Ivy.
=== Reliance on Salaried Developers ===
Maarten is not paid to work on Ivy.
Xavier's case is more complex, as a co founder of Jayasoft, part of his time in Jayasoft was dedicated to Ivy and other open source developments. He now works mainly as an independent consultant, and thus is not a salaried developer.
=== Relationships with Other Apache Products ===
Ivy has a strong relationship with Apache Ant, and is often seen as a good companion of Ant. Being part of Apache could help for a closer collaboration between the two projects.
=== A Excessive Fascination with the Apache Brand ===
Even if we recognize the strong value of the Apache Brand, the purpose of joining Apache is not focused on improving the visibility of the project. The main focus of this proposition is to make Ivy a more open project, with a closer integration with Apache Ant. Even if Ivy does not join the ASF, Ivy will move out of Jayasoft umbrella and try to attract more developers.
== Documentation ==
Further reading on Ivy can be found at:
http://www.jayasoft.org/ivy
== Initial Source ==
The initial code base can be found at:
http://svn.jayasoft.org/projects/tools/ivy
== External Dependencies ==
Ivy has no mandatory dependencies at runtime.
For compilation, it requires:
apache ant
apache commons-httpclient
apache commons-cli
apache oro
apache commons-vfs
jcraft jsch (BSD, already used by commons-vfs and by ant)
== Required Resources ==
=== Mailing lists ===
* ivy-private (with moderated subscriptions)
* ivy-dev
* ivy-user
=== Subversion Directory ===
https://svn.apache.org/repos/asf/incubator/ivy
=== Issue Tracking ===
JIRA Ivy (IVY)
An import from existing JIRA issues at http://jira.jayasoft.org/ would also be very much appreciated
== Initial Committers ==
Xavier Hanin (xavier dot hanin at gmail dot com)
Maarten Coene (maarten_coene at yahoo dot com)
== Affiliations ==
As stated in the Reliance on salaried developers section, Xavier is a co founder of Jayasoft which used to host the project. However, Jayasoft is shifting its focus to local consulting and thus won't be involved anymore in open source development. The participation of Xavier in the project is thus made as an individual, not as a member of Jayasoft. He also strongly believe in the meritocracy principle, and he's ready to see it applied to the project whatever the consequence are for his own weight in the project.
== Sponsors ==
=== Champion ===
Antoine Levy-Lambert
Sylvain Wallez
=== Nominated Mentors ===
Antoine Levy-Lambert
Stephane Baillez
Steve Loughran
=== Sponsoring Entity ===
The Ant PMC has voted the following resolution:
The Ant PMC sponsors Ivy moving to the Apache Incubator.
If the Ivy community wishes to move Ivy to become an Ant subproject
after successful incubation, and if the ASF board agrees to it, Ant
will welcome Ivy as a subproject after the incubation period.
= Ivy Proposal =
The following presents the proposal for creating a new Ivy project within the Apache Software Foundation.
== Abstract ==
Ivy (http://www.jayasoft.org/ivy) is a java based tool for tracking, resolving and managing project dependencies.
== Proposal ==
Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies. It is characterized by the following:
1) flexibility and configurability - Ivy is essentially process agnostic and is not tied to any methodology or structure. Instead it provides the necessary flexibility and configurability to be adapted to a broad range of dependency management and build processes.
2) tight integration with Apache Ant - while available as a standalone tool, Ivy works particularly well with Apache Ant providing a number of powerful Ant tasks ranging from dependency resolution to dependency reporting and publication.
== Rationale ==
Software development is increasingly characterized by leveraging externally provided components/capabilities and by a rapid release cycle. As a result it is not unusual for a project to depend on numerous third-party components which themselves may be dependent on a multitude of third-party of different or identical third-party components. Managing these dependencies - determining what the dependencies are, how they are used, the impact of a change, conflicts among dependencies, etc. - is extremely difficult and absolutely necessary. Ivy is one of a handful of tools addressing this need. While often compared to Maven - which has similar Ant tasks - Ivy differs from Maven in both its focus and philosophy. Ivy is solely focused on dependency management and is designed from the ground up to adapt to a wide range of requirements and scenarios. Examples include multiple aritfacts per module, plugin resolvers, configurable repository configurations and conflict managers.
The maintainers of Ivy are interested in joining the Apache Software Foundation for several reasons:
* Ivy has been hosted since its beginning in 2004 by a private company, which make people feel like it's a corporate product, thus slowing the contribution by the community. We strongly believe in the open source movement, and would like to make Ivy independent from Jayasoft.
* We'd like to enjoy the benefits of utilizing Apache's infrastructure and legal protection.
* It might open the door for cooperation with other projects, such as Ant or Maven.
* We strongly believe in Apache philosophy, especially Meritocracy.
== Current status ==
=== Meritocracy ===
Ivy was originally created by Xavier Hanin in September 2004. Since then more than 20 users have contributed patches, and one of them has been promoted to the status of committer based on his merit through patch contribution.
=== Community ===
Ivy already has a growing user community, with more than 10,000 downloads since its 1.0 version and more than 500 users registered on the forum.
=== Core Developers ===
Ivy has only two core developers for the moment, but we hope joining the ASF will help increase this number.
Xavier Hanin is the creator of the project, is an independant consultant and co founder of Jayasoft. He has an experience of 9 years in Java software development, uses open source projects intensively, and started his real participation in open source development with Ivy.
Maarten Coene has joined the committer team in may 2006. He has an experience of 9 years in java development, is co-administrator of dom4j, ex-committer for scarab, has contributed patches to several open-source projects and is a user of a lot of open-source projects.
=== Alignment ===
Ivy has no mandatory dependencies except java 1.4. However, it is strongly recommended to be used with Ant. Ivy uses also other Apache projects, especially from Jakarta Commons.
== Known risks ==
=== Orphaned products ===
Due to its small number of committers, there is a risk of being orphaned. The main knowledge of the codebase is still mainly owned by Xavier Hanin. Even if Xavier has no plan to leave Ivy development, this is a problem we are aware of and know that need to be worked on so that the project become less dependent on an individual.
=== Inexperience with Open Source ===
While distributed under an open source license, access to Ivy was initially limited with no public access to the issue tracking system or svn repository. While things have changed since then - the svn repository is publicly accessible, a JIRA instance has been setup since june 2005, many new features are first discussed on the forum or JIRA - experience with a true open source development model is currently limited.
However, Maarten has already a good experience with true open development process, and bring his experience to the project.
=== Homogenous Developers ===
With only two core developers, at least they are not homogenous! Xavier and Maarten knew each other only due to their common interest in Ivy.
=== Reliance on Salaried Developers ===
Maarten is not paid to work on Ivy.
Xavier's case is more complex, as a co founder of Jayasoft, part of his time in Jayasoft was dedicated to Ivy and other open source developments. He now works mainly as an independent consultant, and thus is not a salaried developer.
=== Relationships with Other Apache Products ===
Ivy has a strong relationship with Apache Ant, and is often seen as a good companion of Ant. Being part of Apache could help for a closer collaboration between the two projects.
=== A Excessive Fascination with the Apache Brand ===
Even if we recognize the strong value of the Apache Brand, the purpose of joining Apache is not focused on improving the visibility of the project. The main focus of this proposition is to make Ivy a more open project, with a closer integration with Apache Ant. Even if Ivy does not join the ASF, Ivy will move out of Jayasoft umbrella and try to attract more developers.
== Documentation ==
Further reading on Ivy can be found at:
http://www.jayasoft.org/ivy
== Initial Source ==
The initial code base can be found at:
http://svn.jayasoft.org/projects/tools/ivy
== External Dependencies ==
Ivy has no mandatory dependencies at runtime.
For compilation, it requires:
apache ant
apache commons-httpclient
apache commons-cli
apache oro
apache commons-vfs
jcraft jsch (BSD, already used by commons-vfs and by ant)
== Required Resources ==
=== Mailing lists ===
* ivy-private (with moderated subscriptions)
* ivy-dev
* ivy-user
=== Subversion Directory ===
https://svn.apache.org/repos/asf/incubator/ivy
=== Issue Tracking ===
JIRA Ivy (IVY)
An import from existing JIRA issues at http://jira.jayasoft.org/ would also be very much appreciated
== Initial Committers ==
Xavier Hanin (xavier dot hanin at gmail dot com)
Maarten Coene (maarten_coene at yahoo dot com)
== Affiliations ==
As stated in the Reliance on salaried developers section, Xavier is a co founder of Jayasoft which used to host the project. However, Jayasoft is shifting its focus to local consulting and thus won't be involved anymore in open source development. The participation of Xavier in the project is thus made as an individual, not as a member of Jayasoft. He also strongly believe in the meritocracy principle, and he's ready to see it applied to the project whatever the consequence are for his own weight in the project.
== Sponsors ==
=== Champion ===
Antoine Levy-Lambert
Sylvain Wallez
=== Nominated Mentors ===
Antoine Levy-Lambert
Stephane Baillez
Steve Loughran
=== Sponsoring Entity ===
The Ant PMC has voted the following resolution:
The Ant PMC sponsors Ivy moving to the Apache Incubator.
If the Ivy community wishes to move Ivy to become an Ant subproject
after successful incubation, and if the ASF board agrees to it, Ant
will welcome Ivy as a subproject after the incubation period.

View File

@ -1,70 +1,70 @@
- messages
it is quite difficult to know exactly what messages should be output to the console or not, and it often
depends on the user profile: beginner, expert, build manager, simple user, ...
Being able to define the messages output in a single and homogeneous way could be a good thing.
To allow this, maybe a solution could be to output messages in the code only by using keys:
LOGGER.debug("unhandled.revision", mrid.getRevision());
The LOGGER would be a constant initialised with the class name.
a profile wold consist in a message.properties file, associating each key (prefixed by the FQCN) to a
message for the given profile. A key with no mapping result in no message at all.
it would be possible to disable all messages of a class or activate only a certain level per class
(as in log4j for instance) to customize a profile at runtime
shifting is costly, about 400 calls to messages
- promote task to update an already published module with a new status
this task would also automatically update compatiblity data (see below)
- tag task to add one or several tags to an already published module
tag could be added in a simple properties file next to the module ivy file
this properties would be updated by this task
every time ivy parses an ivy file, it would try to locate corresponding tag file,
and if any load tags in the module descriptor instance
- compatiblity data
tags could be used for to indicate that a module has some compatibility level
with another one: if module A 2.0 has been tested successfully with B 1.0 and thus obtain status milestone,
then a tag "compatible.with.A.2.0=milestone" is put on B 1.0
then latest version matcher code could be updated to handle something like this:
latest.compatible.milestone
to be able to get the latest version of a dependency with at least a tag like
compatible.with.A.[any revision]=milestone
since all tags should be inspected to know that, maybe using an xml file like this would be better:
<compatible>
<module org="orga" name="A">
<revision name="2.0" status="milestone"/>
</module>
</compatible>
This would be cleaner, but less simple, and less flexible than using a tags system, which could be used
for other use cases.
Another solution would be to put two tags on B 1.0: one with A revision, and one without. The tag without
the revision could be used for latest.compatible.*, meaning that the last compatiblity status only would
be used. For instance, A 2.0 is said to be release compatible with B 1.0. using latest.compatible.release
is thus resolved to B 1.0. But now A 2.1 is built, and a first test tell that it is (at least) milestone
compatible with B 1.0. The compatibility status of B is thus decreased to milestone, and
latest.compatible.release is not resolved anymore to B 1.0, but maybe B 0.9... at least until the release
compatibility tests are done on A. Then if it is release compatible, the tag is put back to the good status,
and if it isn't compatible, the compatiblity status is left to milestone, which is ok.
Consequently the main problem with this solution is the time before all the tests are run. So maybe a module
should be promoted (and thus compatiblity status updated) only when all tests are done, or when an incompatible
level is reached. Note that this solution is only acceptable in case of automatic tests. When the promotion is
done by a QA team several days or even weeks after the previous status, maybe we can't wait for these tests
to be done...
Another solution would be to promote the module at eeach step, but only update the tag if the compatibility level
is better than the previous one. Another task woudl then allow to indicate an incompatibility, if some level of
tests then fails.
switching between latest compatible and latest version could also be done without any modification in ivy file:
use latest.* dependency revision, and configure your resolve task to use compatible only versions.
this way testing absolute latest version for a continuous integration server would be easy, and if the latest
version fails, latest compatible could be used easily, to test the module in a relative isolation of dependency
changes. In this case the continuous integration server should notify of the first failure before notifying of
the success of the compatible build: integration of latest modules has failed, but not the module itself.
It would thus allow to have more often a latest successful build, even in case of api breaks.
- messages
it is quite difficult to know exactly what messages should be output to the console or not, and it often
depends on the user profile: beginner, expert, build manager, simple user, ...
Being able to define the messages output in a single and homogeneous way could be a good thing.
To allow this, maybe a solution could be to output messages in the code only by using keys:
LOGGER.debug("unhandled.revision", mrid.getRevision());
The LOGGER would be a constant initialised with the class name.
a profile wold consist in a message.properties file, associating each key (prefixed by the FQCN) to a
message for the given profile. A key with no mapping result in no message at all.
it would be possible to disable all messages of a class or activate only a certain level per class
(as in log4j for instance) to customize a profile at runtime
shifting is costly, about 400 calls to messages
- promote task to update an already published module with a new status
this task would also automatically update compatiblity data (see below)
- tag task to add one or several tags to an already published module
tag could be added in a simple properties file next to the module ivy file
this properties would be updated by this task
every time ivy parses an ivy file, it would try to locate corresponding tag file,
and if any load tags in the module descriptor instance
- compatiblity data
tags could be used for to indicate that a module has some compatibility level
with another one: if module A 2.0 has been tested successfully with B 1.0 and thus obtain status milestone,
then a tag "compatible.with.A.2.0=milestone" is put on B 1.0
then latest version matcher code could be updated to handle something like this:
latest.compatible.milestone
to be able to get the latest version of a dependency with at least a tag like
compatible.with.A.[any revision]=milestone
since all tags should be inspected to know that, maybe using an xml file like this would be better:
<compatible>
<module org="orga" name="A">
<revision name="2.0" status="milestone"/>
</module>
</compatible>
This would be cleaner, but less simple, and less flexible than using a tags system, which could be used
for other use cases.
Another solution would be to put two tags on B 1.0: one with A revision, and one without. The tag without
the revision could be used for latest.compatible.*, meaning that the last compatiblity status only would
be used. For instance, A 2.0 is said to be release compatible with B 1.0. using latest.compatible.release
is thus resolved to B 1.0. But now A 2.1 is built, and a first test tell that it is (at least) milestone
compatible with B 1.0. The compatibility status of B is thus decreased to milestone, and
latest.compatible.release is not resolved anymore to B 1.0, but maybe B 0.9... at least until the release
compatibility tests are done on A. Then if it is release compatible, the tag is put back to the good status,
and if it isn't compatible, the compatiblity status is left to milestone, which is ok.
Consequently the main problem with this solution is the time before all the tests are run. So maybe a module
should be promoted (and thus compatiblity status updated) only when all tests are done, or when an incompatible
level is reached. Note that this solution is only acceptable in case of automatic tests. When the promotion is
done by a QA team several days or even weeks after the previous status, maybe we can't wait for these tests
to be done...
Another solution would be to promote the module at eeach step, but only update the tag if the compatibility level
is better than the previous one. Another task woudl then allow to indicate an incompatibility, if some level of
tests then fails.
switching between latest compatible and latest version could also be done without any modification in ivy file:
use latest.* dependency revision, and configure your resolve task to use compatible only versions.
this way testing absolute latest version for a continuous integration server would be easy, and if the latest
version fails, latest compatible could be used easily, to test the module in a relative isolation of dependency
changes. In this case the continuous integration server should notify of the first failure before notifying of
the success of the compatible build: integration of latest modules has failed, but not the module itself.
It would thus allow to have more often a latest successful build, even in case of api breaks.

View File

@ -1,53 +1,53 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo1" default="retrieve-deps" xmlns:ivy="antlib:org.apache.ivy.ant">
<condition property="ivy.home" value="${env.IVY_HOME}">
<isset property="env.IVY_HOME" />
</condition>
<property name="ivy.home" value="${user.home}/.ivy" />
<property name="ivy.jar.dir" value="${ivy.home}/jars" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
<target name="init-ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<!-- use a non standard location during migration to apache -->
<get src="http://people.apache.org/~xavier/ivy/2.0.0-alpha-1-incubating/ivy.jar"
dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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 name="retrieve-deps" depends="init-ivy">
<!-- we do nothing special for the settings, by default Ivy will look into the current directory
and check if an ivysettings.xml is available. If none is present, default settings will be used -->
<ivy:retrieve organisation="org.apache.struts"
module="struts2-core"
revision="2.0.5"
conf="default"
inline="true"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo1" default="retrieve-deps" xmlns:ivy="antlib:org.apache.ivy.ant">
<condition property="ivy.home" value="${env.IVY_HOME}">
<isset property="env.IVY_HOME" />
</condition>
<property name="ivy.home" value="${user.home}/.ivy" />
<property name="ivy.jar.dir" value="${ivy.home}/jars" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
<target name="init-ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<!-- use a non standard location during migration to apache -->
<get src="http://people.apache.org/~xavier/ivy/2.0.0-alpha-1-incubating/ivy.jar"
dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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 name="retrieve-deps" depends="init-ivy">
<!-- we do nothing special for the settings, by default Ivy will look into the current directory
and check if an ivysettings.xml is available. If none is present, default settings will be used -->
<ivy:retrieve organisation="org.apache.struts"
module="struts2-core"
revision="2.0.5"
conf="default"
inline="true"/>
</target>
</project>

View File

@ -1,25 +1,25 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- we define our own cache to make the demo independent from default cache location -->
<settings defaultCache="../cache" />
<!-- include default settings which are ok for the demo -->
<include url="${ivy.default.settings.dir}/ivysettings.xml"/>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- we define our own cache to make the demo independent from default cache location -->
<settings defaultCache="../cache" />
<!-- include default settings which are ok for the demo -->
<include url="${ivy.default.settings.dir}/ivysettings.xml"/>
</ivysettings>

View File

@ -1,50 +1,50 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo2" default="retrieve-deps" xmlns:ivy="antlib:org.apache.ivy.ant">
<condition property="ivy.home" value="${env.IVY_HOME}">
<isset property="env.IVY_HOME" />
</condition>
<property name="ivy.home" value="${user.home}/.ivy" />
<property name="ivy.jar.dir" value="${ivy.home}/jars" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
<target name="init-ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<!-- use a non standard location during migration to apache -->
<get src="http://people.apache.org/~xavier/ivy/2.0.0-alpha-1-incubating/ivy.jar"
dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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 name="retrieve-deps" depends="init-ivy">
<!-- here we don't need to specify which ivy file to use, because the default (ivy.xml) is ok -->
<ivy:retrieve
pattern="lib/[conf]/[artifact]-[revision].[ext]"/>
<ivy:report todir="report"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo2" default="retrieve-deps" xmlns:ivy="antlib:org.apache.ivy.ant">
<condition property="ivy.home" value="${env.IVY_HOME}">
<isset property="env.IVY_HOME" />
</condition>
<property name="ivy.home" value="${user.home}/.ivy" />
<property name="ivy.jar.dir" value="${ivy.home}/jars" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
<target name="init-ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<!-- use a non standard location during migration to apache -->
<get src="http://people.apache.org/~xavier/ivy/2.0.0-alpha-1-incubating/ivy.jar"
dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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 name="retrieve-deps" depends="init-ivy">
<!-- here we don't need to specify which ivy file to use, because the default (ivy.xml) is ok -->
<ivy:retrieve
pattern="lib/[conf]/[artifact]-[revision].[ext]"/>
<ivy:report todir="report"/>
</target>
</project>

View File

@ -1,38 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.4">
<info organisation="org.apache.ivy"
module="ivy-demo-2">
</info>
<configurations>
<conf name="runtime"/>
<conf name="test"/>
</configurations>
<dependencies>
<dependency org="org.apache.struts"
name="struts2-core"
rev="2.0.5"
conf="runtime->default"/>
<dependency org="junit"
name="junit"
rev="3.8.1"
conf="test->default"/>
</dependencies>
</ivy-module>
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.4">
<info organisation="org.apache.ivy"
module="ivy-demo-2">
</info>
<configurations>
<conf name="runtime"/>
<conf name="test"/>
</configurations>
<dependencies>
<dependency org="org.apache.struts"
name="struts2-core"
rev="2.0.5"
conf="runtime->default"/>
<dependency org="junit"
name="junit"
rev="3.8.1"
conf="test->default"/>
</dependencies>
</ivy-module>

View File

@ -1,25 +1,25 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- we define our own cache to make the demo independent from default cache location -->
<settings defaultCache="../cache" />
<!-- include default settings which are ok for the demo -->
<include url="${ivy.default.settings.dir}/ivysettings.xml"/>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- we define our own cache to make the demo independent from default cache location -->
<settings defaultCache="../cache" />
<!-- include default settings which are ok for the demo -->
<include url="${ivy.default.settings.dir}/ivysettings.xml"/>
</ivysettings>

View File

@ -1,24 +1,24 @@
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
lib.dir = ${basedir}/lib
build.dir = ${basedir}/build
classes.dir = ${build.dir}/classes
src.dir = ${basedir}/src
jar.file = ${build.dir}/${ant.project.name}.jar
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
lib.dir = ${basedir}/lib
build.dir = ${basedir}/build
classes.dir = ${build.dir}/classes
src.dir = ${basedir}/src
jar.file = ${build.dir}/${ant.project.name}.jar

View File

@ -1,84 +1,84 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo3-common" xmlns:ivy="antlib:org.apache.ivy.ant">
<property file="${common.dir}/build.properties"/>
<condition property="ivy.home" value="${env.IVY_HOME}">
<isset property="env.IVY_HOME" />
</condition>
<property name="ivy.home" value="${user.home}/.ivy" />
<property name="ivy.jar.dir" value="${ivy.home}/jars" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
<target name="init-ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<!-- use a non standard location during migration to apache -->
<get src="http://people.apache.org/~xavier/ivy/2.0.0-alpha-1-incubating/ivy.jar"
dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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 name="resolve-deps" depends="init-ivy">
<ivy:configure file="${common.dir}/ivysettings.xml" />
<ivy:resolve
file="${basedir}/ivy.xml" useOrigin="true"/>
<!-- here we build an ant path directly from artifacts in Ivy cache -->
<ivy:cachepath pathid="lib.path.id" conf="runtime" useOrigin="true" />
</target>
<target name="ivy-report" depends="resolve-deps">
<ivy:report todir="report"/>
</target>
<target name="compile" depends="resolve-deps">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="lib.path.id" debug="true" />
</target>
<target name="jar" depends="compile" description="--> make a jar file for this project">
<jar destfile="${jar.file}">
<fileset dir="${classes.dir}" />
</jar>
</target>
<target name="publish-local" depends="jar" description="--> publish this project in the local ivy repository">
<tstamp>
<format property="now" pattern="yyyyMMddHHmmss"/>
</tstamp>
<property name="revision" value="local-${now}"/>
<ivy:publish artifactspattern="${build.dir}/[artifact].[ext]"
resolver="local"
pubrevision="${revision}"
pubdate="${now}"
status="integration"
forcedeliver="true"
/>
<echo message="project ${ant.project.name} published locally with version ${revision}" />
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo3-common" xmlns:ivy="antlib:org.apache.ivy.ant">
<property file="${common.dir}/build.properties"/>
<condition property="ivy.home" value="${env.IVY_HOME}">
<isset property="env.IVY_HOME" />
</condition>
<property name="ivy.home" value="${user.home}/.ivy" />
<property name="ivy.jar.dir" value="${ivy.home}/jars" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
<target name="init-ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<!-- use a non standard location during migration to apache -->
<get src="http://people.apache.org/~xavier/ivy/2.0.0-alpha-1-incubating/ivy.jar"
dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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 name="resolve-deps" depends="init-ivy">
<ivy:configure file="${common.dir}/ivysettings.xml" />
<ivy:resolve
file="${basedir}/ivy.xml" useOrigin="true"/>
<!-- here we build an ant path directly from artifacts in Ivy cache -->
<ivy:cachepath pathid="lib.path.id" conf="runtime" useOrigin="true" />
</target>
<target name="ivy-report" depends="resolve-deps">
<ivy:report todir="report"/>
</target>
<target name="compile" depends="resolve-deps">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="lib.path.id" debug="true" />
</target>
<target name="jar" depends="compile" description="--> make a jar file for this project">
<jar destfile="${jar.file}">
<fileset dir="${classes.dir}" />
</jar>
</target>
<target name="publish-local" depends="jar" description="--> publish this project in the local ivy repository">
<tstamp>
<format property="now" pattern="yyyyMMddHHmmss"/>
</tstamp>
<property name="revision" value="local-${now}"/>
<ivy:publish artifactspattern="${build.dir}/[artifact].[ext]"
resolver="local"
pubrevision="${revision}"
pubdate="${now}"
status="integration"
forcedeliver="true"
/>
<echo message="project ${ant.project.name} published locally with version ${revision}" />
</target>
</project>

View File

@ -1,25 +1,25 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- we define our own cache to make the demo independent from default cache location -->
<settings defaultCache="${ivy.settings.dir}/../../cache" />
<!-- include default settings which are ok for the demo -->
<include url="${ivy.default.settings.dir}/ivysettings.xml"/>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- we define our own cache to make the demo independent from default cache location -->
<settings defaultCache="${ivy.settings.dir}/../../cache" />
<!-- include default settings which are ok for the demo -->
<include url="${ivy.default.settings.dir}/ivysettings.xml"/>
</ivysettings>

View File

@ -1,20 +1,20 @@
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
wkspace.dir = ${basedir}/..
common.dir = ${wkspace.dir}/common
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
wkspace.dir = ${basedir}/..
common.dir = ${wkspace.dir}/common

View File

@ -1,23 +1,23 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo3A" default="publish-local">
<property file="build.properties"/>
<import file="${common.dir}/build.xml"/>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo3A" default="publish-local">
<property file="build.properties"/>
<import file="${common.dir}/build.xml"/>
</project>

View File

@ -1,38 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="2.0">
<info organisation="org.apache.ivy"
module="demo3A">
</info>
<configurations>
<conf name="runtime"/>
<conf name="test"/>
</configurations>
<dependencies>
<dependency org="org.apache.struts"
name="struts2-core"
rev="2.0.5"
conf="runtime->default"/>
<dependency org="junit"
name="junit"
rev="3.8.1"
conf="test->default"/>
</dependencies>
</ivy-module>
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="2.0">
<info organisation="org.apache.ivy"
module="demo3A">
</info>
<configurations>
<conf name="runtime"/>
<conf name="test"/>
</configurations>
<dependencies>
<dependency org="org.apache.struts"
name="struts2-core"
rev="2.0.5"
conf="runtime->default"/>
<dependency org="junit"
name="junit"
rev="3.8.1"
conf="test->default"/>
</dependencies>
</ivy-module>

View File

@ -1,7 +1,7 @@
package demo3A;
public class Demo3A {
public static String sayHello() {
return "Hello from Demo3A";
}
}
package demo3A;
public class Demo3A {
public static String sayHello() {
return "Hello from Demo3A";
}
}

View File

@ -1,20 +1,20 @@
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
wkspace.dir = ${basedir}/..
common.dir = ${wkspace.dir}/common
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
wkspace.dir = ${basedir}/..
common.dir = ${wkspace.dir}/common

View File

@ -1,23 +1,23 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo3B" default="publish-local">
<property file="build.properties"/>
<import file="${common.dir}/build.xml"/>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="demo3B" default="publish-local">
<property file="build.properties"/>
<import file="${common.dir}/build.xml"/>
</project>

View File

@ -1,34 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="2.0">
<info organisation="org.apache.ivy"
module="demo3B">
</info>
<configurations>
<conf name="runtime"/>
<conf name="test"/>
</configurations>
<dependencies>
<dependency org="org.apache.ivy"
name="demo3A"
rev="latest.integration"
conf="runtime->@"/>
</dependencies>
</ivy-module>
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="2.0">
<info organisation="org.apache.ivy"
module="demo3B">
</info>
<configurations>
<conf name="runtime"/>
<conf name="test"/>
</configurations>
<dependencies>
<dependency org="org.apache.ivy"
name="demo3A"
rev="latest.integration"
conf="runtime->@"/>
</dependencies>
</ivy-module>

View File

@ -1,7 +1,7 @@
package demo3B;
public class Demo3B {
public static String sayHello() {
return demo3A.Demo3A.sayHello();
}
}
package demo3B;
public class Demo3B {
public static String sayHello() {
return demo3A.Demo3A.sayHello();
}
}

View File

@ -1,3 +1,3 @@
To run the demos you just need java 1.4+ and ant 1.6.2+ installed.
Then go in the demo directory and type "ant" on the command line.
To run the demos you just need java 1.4+ and ant 1.6.2+ installed.
Then go in the demo directory and type "ant" on the command line.

View File

@ -1,27 +1,27 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<properties file="${ivy.settings.file}/ivysettings.properties" />
<settings defaultResolver="public" />
<include file="path/to/another-ivysettings.xml"/>
<resolvers>
<ibiblio name="public" m2compatible="true"
root="http://repo1.maven.org/maven2" />
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<properties file="${ivy.settings.file}/ivysettings.properties" />
<settings defaultResolver="public" />
<include file="path/to/another-ivysettings.xml"/>
<resolvers>
<ibiblio name="public" m2compatible="true"
root="http://repo1.maven.org/maven2" />
</resolvers>
</ivysettings>

View File

@ -1,40 +1,40 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.home}/cache"
defaultResolver="public" />
<resolvers>
<chain name="main" returnFirst="true">
<filesystem name="local">
<ivy pattern="${ivy.settings.dir}/local/[module]/ivy.xml"/>
<artifact pattern="${ivy.settings.dir}/local/[module]/[artifact].[ext]"/>
</filesystem>
<ssh user="${user}" keyFile="path/to/key/file" keyFilePassword="${password}">
<ivy pattern="ssh://yourserver.com/path/to/repos/[module]/[revision]/ivy.xml"/>
<artifact pattern="ssh://myserver.com/path/to/my/repos/[artifact].[ext]"/>
</ssh>
</chain>
<ibiblio name="public" m2compatible="true"
root="http://repo1.maven.org/maven2" />
</resolvers>
<modules>
<module org="mycompany" resolver="main" />
</modules>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.home}/cache"
defaultResolver="public" />
<resolvers>
<chain name="main" returnFirst="true">
<filesystem name="local">
<ivy pattern="${ivy.settings.dir}/local/[module]/ivy.xml"/>
<artifact pattern="${ivy.settings.dir}/local/[module]/[artifact].[ext]"/>
</filesystem>
<ssh user="${user}" keyFile="path/to/key/file" keyFilePassword="${password}">
<ivy pattern="ssh://yourserver.com/path/to/repos/[module]/[revision]/ivy.xml"/>
<artifact pattern="ssh://myserver.com/path/to/my/repos/[artifact].[ext]"/>
</ssh>
</chain>
<ibiblio name="public" m2compatible="true"
root="http://repo1.maven.org/maven2" />
</resolvers>
<modules>
<module org="mycompany" resolver="main" />
</modules>
</ivysettings>

View File

@ -1,25 +1,25 @@
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
ivy.ibiblio.default.artifact.root = http://www.ibiblio.org/maven/
ivy.ibiblio.default.artifact.pattern = [module]/[type]s/[artifact]-[revision].[ext]
ivy.ivyrep.default.ivy.root = http://ivyrep.jayasoft.org/
ivy.ivyrep.default.ivy.pattern = [organisation]/[module]/ivy-[revision].xml
ivy.ivyrep.default.artifact.root = ${ivy.ibiblio.default.artifact.root}
ivy.ivyrep.default.artifact.pattern = ${ivy.ibiblio.default.artifact.pattern}
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
ivy.ibiblio.default.artifact.root = http://www.ibiblio.org/maven/
ivy.ibiblio.default.artifact.pattern = [module]/[type]s/[artifact]-[revision].[ext]
ivy.ivyrep.default.ivy.root = http://ivyrep.jayasoft.org/
ivy.ivyrep.default.ivy.pattern = [organisation]/[module]/ivy-[revision].xml
ivy.ivyrep.default.artifact.root = ${ivy.ibiblio.default.artifact.root}
ivy.ivyrep.default.artifact.pattern = ${ivy.ibiblio.default.artifact.pattern}

View File

@ -1,72 +1,72 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!--
This build script is used to download dependencies for a freshly downloaded
binary distribution of Ivy without dependencies.
To use it, you only need to have this script in the directory where you
have unzipped your binary distribution of Ivy, and to call it using
ant -f build-install.xml
If you don't want to download all optional dependencies, you can set
the conf attribute value in the ivy:retrieve task, to select only
the configuration you want (check the ivy.xml for details about
which configurations are available, and what they are useful for).
-->
<project name="ivy-bin-install" default="download-deps"
xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="init-ivy-settings">
<echo file="${basedir}/ivysettings.xml">
<![CDATA[
<ivysettings>
<include url="${ivy.default.conf.dir}/ivyconf-local.xml"/>
<settings defaultResolver="public" />
<resolvers>
<!--
we use ivyrep for ivy and some artifacts, and ibiblio for other artifacts
The reason for that is that commons vfs is still not released, thus we depend on an integration
version only available on ivyrep, but not on ivyrep
As soon as vfs will be available on ibiblio, the default configuration could be used again
-->
<url name="public">
<ivy pattern="http://ivyrep.jayasoft.org/[organisation]/[module]/ivy-[revision].xml"/>
<artifact pattern="http://ivyrep.jayasoft.org/[organisation]/[module]/[revision]/[artifact].[ext]"/>
<artifact pattern="http://repo1.maven.org/maven/[module]/[type]s/[artifact]-[revision].[ext]"/>
</url>
</resolvers>
</ivysettings>
]]>
</echo>
</target>
<target name="init-ivy" depends="init-ivy-settings">
<path id="ivy.lib.path">
<fileset dir="${basedir}" includes="*.jar" excludes="ivy-core-*.jar"/>
</path>
<taskdef resource="org/apache/ivy/ant/antlib.xml"
uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
</target>
<target name="download-deps" depends="init-ivy">
<ivy:retrieve
conf="*"
pattern="${basedir}/lib/[conf]/[artifact]-[revision].[ext]"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!--
This build script is used to download dependencies for a freshly downloaded
binary distribution of Ivy without dependencies.
To use it, you only need to have this script in the directory where you
have unzipped your binary distribution of Ivy, and to call it using
ant -f build-install.xml
If you don't want to download all optional dependencies, you can set
the conf attribute value in the ivy:retrieve task, to select only
the configuration you want (check the ivy.xml for details about
which configurations are available, and what they are useful for).
-->
<project name="ivy-bin-install" default="download-deps"
xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="init-ivy-settings">
<echo file="${basedir}/ivysettings.xml">
<![CDATA[
<ivysettings>
<include url="${ivy.default.conf.dir}/ivyconf-local.xml"/>
<settings defaultResolver="public" />
<resolvers>
<!--
we use ivyrep for ivy and some artifacts, and ibiblio for other artifacts
The reason for that is that commons vfs is still not released, thus we depend on an integration
version only available on ivyrep, but not on ivyrep
As soon as vfs will be available on ibiblio, the default configuration could be used again
-->
<url name="public">
<ivy pattern="http://ivyrep.jayasoft.org/[organisation]/[module]/ivy-[revision].xml"/>
<artifact pattern="http://ivyrep.jayasoft.org/[organisation]/[module]/[revision]/[artifact].[ext]"/>
<artifact pattern="http://repo1.maven.org/maven/[module]/[type]s/[artifact]-[revision].[ext]"/>
</url>
</resolvers>
</ivysettings>
]]>
</echo>
</target>
<target name="init-ivy" depends="init-ivy-settings">
<path id="ivy.lib.path">
<fileset dir="${basedir}" includes="*.jar" excludes="ivy-core-*.jar"/>
</path>
<taskdef resource="org/apache/ivy/ant/antlib.xml"
uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
</target>
<target name="download-deps" depends="init-ivy">
<ivy:retrieve
conf="*"
pattern="${basedir}/lib/[conf]/[artifact]-[revision].[ext]"/>
</target>
</project>

View File

@ -1,144 +1,144 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="go-ivy" default="go" xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
<!--
this build file is a self contained project: it doesn't require anything else
that ant 1.6.2 or greater and java 1.4 or greater properly installed.
It is used to showcase how easy and straightforward it can be to use Ivy.
This is not an example of the best pratice to use in a project, especially
for the java source code "generation" :-) (see generate-src target)
To run copy this file in an empty directory, open a shell or a command window
in this directory and run "ant". It will download ivy and then use it to resolve
the dependency of the class which is itself "contained" in this build script.
After a successful build run "ant" again and you will see the build will be
much faster.
More information can be found at http://incubator.apache.org/ivy
-->
<!-- here is the version of ivy we will use. change this property to try a newer
version if you want -->
<property name="ivy.install.version" value="1.4.1"/>
<property name="ivy.jar.dir" value="${basedir}/ivy"/>
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar"/>
<property name="build.dir" value="build"/>
<property name="src.dir" value="src"/>
<!-- =================================
target: install-ivy
this target is not necessary if you put ivy.jar in your ant lib directory
if you already have ivy 1.4 in your ant lib, you can simply remove this
target and the dependency the 'go' target has on it
================================= -->
<target name="install-ivy" description="--&gt; install ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<echo message="installing ivy..."/>
<get src="http://www.jayasoft.org/downloads/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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="fr/jayasoft/ivy/ant/antlib.xml" uri="antlib:fr.jayasoft.ivy.ant" classpathref="ivy.lib.path"/>
</target>
<!-- =================================
target: go
Go ivy, go!
================================= -->
<target name="go" depends="install-ivy, generate-src" description="--&gt; resolve dependencies, compile and run the project">
<echo message="using ivy to resolve commons-lang 2.1..."/>
<!-- here comes the magic line: asks ivy to resolve a dependency on
commons-lang 2.1 and to build an ant path with it from its cache -->
<ivy:cachepath organisation="apache" module="commons-lang" revision="2.1" pathid="lib.path.id" inline="true"/>
<echo message="compiling..."/>
<mkdir dir="${build.dir}"/>
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id"/>
<echo>
We are now ready to execute our simple program with its dependency on commons-lang.
Let's go!
</echo>
<java classname="example.Hello">
<classpath>
<path refid="lib.path.id"/>
<path location="${build.dir}"/>
</classpath>
</java>
</target>
<!-- =================================
target: generate-src
'Generates' the class source. It actually just echo a simple java
source code to a file. In real life this file would already be
present on your file system, and this target wouldn't be necessary.
================================= -->
<target name="generate-src">
<mkdir dir="${src.dir}/example"/>
<echo file="${src.dir}/example/Hello.java">
package example;
import org.apache.commons.lang.WordUtils;
public class Hello {
public static void main(String[] args) {
String message = "hello ivy !";
System.out.println("standard message : " + message);
System.out.println("capitalized by " + WordUtils.class.getName()
+ " : " + WordUtils.capitalizeFully(message));
}
}
</echo>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--&gt; clean the project">
<delete includeemptydirs="true">
<fileset dir="${src.dir}"/>
<fileset dir="${build.dir}"/>
</delete>
</target>
<!-- =================================
target: clean-ivy
================================= -->
<target name="clean-ivy" description="--&gt; clean the ivy installation">
<delete dir="${ivy.jar.dir}"/>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--&gt; clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="go-ivy" default="go" xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
<!--
this build file is a self contained project: it doesn't require anything else
that ant 1.6.2 or greater and java 1.4 or greater properly installed.
It is used to showcase how easy and straightforward it can be to use Ivy.
This is not an example of the best pratice to use in a project, especially
for the java source code "generation" :-) (see generate-src target)
To run copy this file in an empty directory, open a shell or a command window
in this directory and run "ant". It will download ivy and then use it to resolve
the dependency of the class which is itself "contained" in this build script.
After a successful build run "ant" again and you will see the build will be
much faster.
More information can be found at http://incubator.apache.org/ivy
-->
<!-- here is the version of ivy we will use. change this property to try a newer
version if you want -->
<property name="ivy.install.version" value="1.4.1"/>
<property name="ivy.jar.dir" value="${basedir}/ivy"/>
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar"/>
<property name="build.dir" value="build"/>
<property name="src.dir" value="src"/>
<!-- =================================
target: install-ivy
this target is not necessary if you put ivy.jar in your ant lib directory
if you already have ivy 1.4 in your ant lib, you can simply remove this
target and the dependency the 'go' target has on it
================================= -->
<target name="install-ivy" description="--&gt; install ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<echo message="installing ivy..."/>
<get src="http://www.jayasoft.org/downloads/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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="fr/jayasoft/ivy/ant/antlib.xml" uri="antlib:fr.jayasoft.ivy.ant" classpathref="ivy.lib.path"/>
</target>
<!-- =================================
target: go
Go ivy, go!
================================= -->
<target name="go" depends="install-ivy, generate-src" description="--&gt; resolve dependencies, compile and run the project">
<echo message="using ivy to resolve commons-lang 2.1..."/>
<!-- here comes the magic line: asks ivy to resolve a dependency on
commons-lang 2.1 and to build an ant path with it from its cache -->
<ivy:cachepath organisation="apache" module="commons-lang" revision="2.1" pathid="lib.path.id" inline="true"/>
<echo message="compiling..."/>
<mkdir dir="${build.dir}"/>
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id"/>
<echo>
We are now ready to execute our simple program with its dependency on commons-lang.
Let's go!
</echo>
<java classname="example.Hello">
<classpath>
<path refid="lib.path.id"/>
<path location="${build.dir}"/>
</classpath>
</java>
</target>
<!-- =================================
target: generate-src
'Generates' the class source. It actually just echo a simple java
source code to a file. In real life this file would already be
present on your file system, and this target wouldn't be necessary.
================================= -->
<target name="generate-src">
<mkdir dir="${src.dir}/example"/>
<echo file="${src.dir}/example/Hello.java">
package example;
import org.apache.commons.lang.WordUtils;
public class Hello {
public static void main(String[] args) {
String message = "hello ivy !";
System.out.println("standard message : " + message);
System.out.println("capitalized by " + WordUtils.class.getName()
+ " : " + WordUtils.capitalizeFully(message));
}
}
</echo>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--&gt; clean the project">
<delete includeemptydirs="true">
<fileset dir="${src.dir}"/>
<fileset dir="${build.dir}"/>
</delete>
</target>
<!-- =================================
target: clean-ivy
================================= -->
<target name="clean-ivy" description="--&gt; clean the ivy installation">
<delete dir="${ivy.jar.dir}"/>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--&gt; clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
</project>

View File

@ -1,102 +1,102 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="ivy-doc.xsl"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="myorg"
module="mymodule"
revision="myrev"
status="integration"
publication="20041101110000">
<license name="MyLicense" url="http://www.my.org/mymodule/mylicense.html"/>
<ivyauthor name="jayasoft" url="http://www.jayasoft.org/"/>
<ivyauthor name="myorg" url="http://www.myorg.org/"/>
<repository name="ivyrep" url="http://www.jayasoft.fr/org/ivyrep/" pattern="[organisation]/[module]/ivy-[revision].xml" ivys="true" artifacts="false"/>
<description homepage="http://www.my.org/mymodule/">
This module is <b>great</b> !<br/>
You can use it especially with myconf1 and myconf2, and myconf4 is not too bad too.
</description>
</info>
<configurations>
<conf name="myconf1" description="desc 1"/>
<conf name="myconf2" description="desc 2" visibility="public"/>
<conf name="myconf3" description="desc 3" visibility="private"/>
<conf name="myconf4" description="desc 4" extends="myconf1, myconf2"/>
<conf name="myoldconf" description="my old desc" deprecated="20050115"/>
</configurations>
<publications>
<artifact name="myartifact1" type="jar"/>
<artifact name="myartifact2" type="jar" conf="myconf1"/>
<artifact name="myartifact3" type="jar" conf="myconf1, myconf2, myconf3"/>
<artifact name="myartifact4" type="jar">
<conf name="myconf1"/>
<conf name="myconf3"/>
</artifact>
</publications>
<dependencies>
<dependency name="mymodule2" rev="2.0"/>
<dependency org="yourorg" name="yourmodule1" rev="1.1" conf="myconf1"/>
<dependency org="yourorg" name="yourmodule2" rev="2+" conf="myconf1->yourconf1"/>
<dependency org="yourorg" name="yourmodule3" rev="3.1" conf="myconf1->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule4" rev="4.1" conf="myconf1, myconf2->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule5" rev="5.1" conf="myconf1->yourconf1;myconf2->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule6" rev="latest.integration">
<conf name="myconf1" mapped="yourconf1"/>
<conf name="myconf2" mapped="yourconf1, yourconf2"/>
</dependency>
<dependency org="yourorg" name="yourmodule7" rev="7.1">
<conf name="myconf1">
<mapped name="yourconf1"/>
</conf>
<conf name="myconf2">
<mapped name="yourconf1"/>
<mapped name="yourconf2"/>
</conf>
</dependency>
<dependency org="yourorg" name="yourmodule8" rev="8.1">
<artifact name="yourartifact8-1" type="jar"/>
<artifact name="yourartifact8-2" type="jar"/>
</dependency>
<dependency org="yourorg" name="yourmodule9" rev="9.1" conf="myconf1,myconf2,myconf3->default">
<artifact name="yourartifact9-1" type="jar" conf="myconf1,myconf2"/>
<artifact name="yourartifact9-2" type="jar">
<conf name="myconf2"/>
<conf name="myconf3"/>
</artifact>
</dependency>
<dependency org="yourorg" name="yourmodule10" rev="10.1">
<include name="your.*" type="jar"/>
<include ext="xml"/>
<exclude name="toexclude"/>
</dependency>
</dependencies>
<conflicts>
<manager org="yourorg" module=".*" name="all"/>
<manager org="theirorg" module="theirmodule1" rev="1.0, 1.1"/>
</conflicts>
</ivy-module>
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="ivy-doc.xsl"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="myorg"
module="mymodule"
revision="myrev"
status="integration"
publication="20041101110000">
<license name="MyLicense" url="http://www.my.org/mymodule/mylicense.html"/>
<ivyauthor name="jayasoft" url="http://www.jayasoft.org/"/>
<ivyauthor name="myorg" url="http://www.myorg.org/"/>
<repository name="ivyrep" url="http://www.jayasoft.fr/org/ivyrep/" pattern="[organisation]/[module]/ivy-[revision].xml" ivys="true" artifacts="false"/>
<description homepage="http://www.my.org/mymodule/">
This module is <b>great</b> !<br/>
You can use it especially with myconf1 and myconf2, and myconf4 is not too bad too.
</description>
</info>
<configurations>
<conf name="myconf1" description="desc 1"/>
<conf name="myconf2" description="desc 2" visibility="public"/>
<conf name="myconf3" description="desc 3" visibility="private"/>
<conf name="myconf4" description="desc 4" extends="myconf1, myconf2"/>
<conf name="myoldconf" description="my old desc" deprecated="20050115"/>
</configurations>
<publications>
<artifact name="myartifact1" type="jar"/>
<artifact name="myartifact2" type="jar" conf="myconf1"/>
<artifact name="myartifact3" type="jar" conf="myconf1, myconf2, myconf3"/>
<artifact name="myartifact4" type="jar">
<conf name="myconf1"/>
<conf name="myconf3"/>
</artifact>
</publications>
<dependencies>
<dependency name="mymodule2" rev="2.0"/>
<dependency org="yourorg" name="yourmodule1" rev="1.1" conf="myconf1"/>
<dependency org="yourorg" name="yourmodule2" rev="2+" conf="myconf1->yourconf1"/>
<dependency org="yourorg" name="yourmodule3" rev="3.1" conf="myconf1->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule4" rev="4.1" conf="myconf1, myconf2->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule5" rev="5.1" conf="myconf1->yourconf1;myconf2->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule6" rev="latest.integration">
<conf name="myconf1" mapped="yourconf1"/>
<conf name="myconf2" mapped="yourconf1, yourconf2"/>
</dependency>
<dependency org="yourorg" name="yourmodule7" rev="7.1">
<conf name="myconf1">
<mapped name="yourconf1"/>
</conf>
<conf name="myconf2">
<mapped name="yourconf1"/>
<mapped name="yourconf2"/>
</conf>
</dependency>
<dependency org="yourorg" name="yourmodule8" rev="8.1">
<artifact name="yourartifact8-1" type="jar"/>
<artifact name="yourartifact8-2" type="jar"/>
</dependency>
<dependency org="yourorg" name="yourmodule9" rev="9.1" conf="myconf1,myconf2,myconf3->default">
<artifact name="yourartifact9-1" type="jar" conf="myconf1,myconf2"/>
<artifact name="yourartifact9-2" type="jar">
<conf name="myconf2"/>
<conf name="myconf3"/>
</artifact>
</dependency>
<dependency org="yourorg" name="yourmodule10" rev="10.1">
<include name="your.*" type="jar"/>
<include ext="xml"/>
<exclude name="toexclude"/>
</dependency>
</dependencies>
<conflicts>
<manager org="yourorg" module=".*" name="all"/>
<manager org="theirorg" module="theirmodule1" rev="1.0, 1.1"/>
</conflicts>
</ivy-module>

View File

@ -1,101 +1,101 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="myorg"
module="mymodule"
revision="myrev"
status="integration"
publication="20041101110000">
<license name="MyLicense" url="http://www.my.org/mymodule/mylicense.html"/>
<ivyauthor name="jayasoft" url="http://www.jayasoft.org/"/>
<ivyauthor name="myorg" url="http://www.myorg.org/"/>
<repository name="ivyrep" url="http://www.jayasoft.fr/org/ivyrep/" pattern="[organisation]/[module]/ivy-[revision].xml" ivys="true" artifacts="false"/>
<description homepage="http://www.my.org/mymodule/">
This module is <b>great</b> !<br/>
You can use it especially with myconf1 and myconf2, and myconf4 is not too bad too.
</description>
</info>
<configurations>
<conf name="myconf1" description="desc 1"/>
<conf name="myconf2" description="desc 2" visibility="public"/>
<conf name="myconf3" description="desc 3" visibility="private"/>
<conf name="myconf4" description="desc 4" extends="myconf1, myconf2"/>
<conf name="myoldconf" description="my old desc" deprecated="20050115"/>
</configurations>
<publications>
<artifact name="myartifact1" type="jar"/>
<artifact name="myartifact2" type="jar" conf="myconf1"/>
<artifact name="myartifact3" type="jar" conf="myconf1, myconf2, myconf3"/>
<artifact name="myartifact4" type="jar">
<conf name="myconf1"/>
<conf name="myconf3"/>
</artifact>
</publications>
<dependencies>
<dependency name="mymodule2" rev="2.0"/>
<dependency org="yourorg" name="yourmodule1" rev="1.1" conf="myconf1"/>
<dependency org="yourorg" name="yourmodule2" rev="2+" conf="myconf1->yourconf1"/>
<dependency org="yourorg" name="yourmodule3" rev="3.1" conf="myconf1->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule4" rev="4.1" conf="myconf1, myconf2->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule5" rev="5.1" conf="myconf1->yourconf1;myconf2->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule6" rev="latest.integration">
<conf name="myconf1" mapped="yourconf1"/>
<conf name="myconf2" mapped="yourconf1, yourconf2"/>
</dependency>
<dependency org="yourorg" name="yourmodule7" rev="7.1">
<conf name="myconf1">
<mapped name="yourconf1"/>
</conf>
<conf name="myconf2">
<mapped name="yourconf1"/>
<mapped name="yourconf2"/>
</conf>
</dependency>
<dependency org="yourorg" name="yourmodule8" rev="8.1">
<artifact name="yourartifact8-1" type="jar"/>
<artifact name="yourartifact8-2" type="jar"/>
</dependency>
<dependency org="yourorg" name="yourmodule9" rev="9.1" conf="myconf1,myconf2,myconf3->default">
<artifact name="yourartifact9-1" type="jar" conf="myconf1,myconf2"/>
<artifact name="yourartifact9-2" type="jar">
<conf name="myconf2"/>
<conf name="myconf3"/>
</artifact>
</dependency>
<dependency org="yourorg" name="yourmodule10" rev="10.1">
<include name="your.*" type="jar"/>
<include ext="xml"/>
<exclude name="toexclude"/>
</dependency>
</dependencies>
<conflicts>
<manager org="yourorg" module=".*" name="all"/>
<manager org="theirorg" module="theirmodule1" rev="1.0, 1.1"/>
</conflicts>
</ivy-module>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="myorg"
module="mymodule"
revision="myrev"
status="integration"
publication="20041101110000">
<license name="MyLicense" url="http://www.my.org/mymodule/mylicense.html"/>
<ivyauthor name="jayasoft" url="http://www.jayasoft.org/"/>
<ivyauthor name="myorg" url="http://www.myorg.org/"/>
<repository name="ivyrep" url="http://www.jayasoft.fr/org/ivyrep/" pattern="[organisation]/[module]/ivy-[revision].xml" ivys="true" artifacts="false"/>
<description homepage="http://www.my.org/mymodule/">
This module is <b>great</b> !<br/>
You can use it especially with myconf1 and myconf2, and myconf4 is not too bad too.
</description>
</info>
<configurations>
<conf name="myconf1" description="desc 1"/>
<conf name="myconf2" description="desc 2" visibility="public"/>
<conf name="myconf3" description="desc 3" visibility="private"/>
<conf name="myconf4" description="desc 4" extends="myconf1, myconf2"/>
<conf name="myoldconf" description="my old desc" deprecated="20050115"/>
</configurations>
<publications>
<artifact name="myartifact1" type="jar"/>
<artifact name="myartifact2" type="jar" conf="myconf1"/>
<artifact name="myartifact3" type="jar" conf="myconf1, myconf2, myconf3"/>
<artifact name="myartifact4" type="jar">
<conf name="myconf1"/>
<conf name="myconf3"/>
</artifact>
</publications>
<dependencies>
<dependency name="mymodule2" rev="2.0"/>
<dependency org="yourorg" name="yourmodule1" rev="1.1" conf="myconf1"/>
<dependency org="yourorg" name="yourmodule2" rev="2+" conf="myconf1->yourconf1"/>
<dependency org="yourorg" name="yourmodule3" rev="3.1" conf="myconf1->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule4" rev="4.1" conf="myconf1, myconf2->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule5" rev="5.1" conf="myconf1->yourconf1;myconf2->yourconf1, yourconf2"/>
<dependency org="yourorg" name="yourmodule6" rev="latest.integration">
<conf name="myconf1" mapped="yourconf1"/>
<conf name="myconf2" mapped="yourconf1, yourconf2"/>
</dependency>
<dependency org="yourorg" name="yourmodule7" rev="7.1">
<conf name="myconf1">
<mapped name="yourconf1"/>
</conf>
<conf name="myconf2">
<mapped name="yourconf1"/>
<mapped name="yourconf2"/>
</conf>
</dependency>
<dependency org="yourorg" name="yourmodule8" rev="8.1">
<artifact name="yourartifact8-1" type="jar"/>
<artifact name="yourartifact8-2" type="jar"/>
</dependency>
<dependency org="yourorg" name="yourmodule9" rev="9.1" conf="myconf1,myconf2,myconf3->default">
<artifact name="yourartifact9-1" type="jar" conf="myconf1,myconf2"/>
<artifact name="yourartifact9-2" type="jar">
<conf name="myconf2"/>
<conf name="myconf3"/>
</artifact>
</dependency>
<dependency org="yourorg" name="yourmodule10" rev="10.1">
<include name="your.*" type="jar"/>
<include ext="xml"/>
<exclude name="toexclude"/>
</dependency>
</dependencies>
<conflicts>
<manager org="yourorg" module=".*" name="all"/>
<manager org="theirorg" module="theirmodule1" rev="1.0, 1.1"/>
</conflicts>
</ivy-module>

View File

@ -1,24 +1,24 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultResolver="ivyrep"/>
<resolvers>
<ivyrep name="ivyrep"/>
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultResolver="ivyrep"/>
<resolvers>
<ivyrep name="ivyrep"/>
</resolvers>
</ivysettings>

View File

@ -1,372 +1,372 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ivy report :: ivyrep-example by jayasoft :: default</title>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<meta content="en" http-equiv="content-language">
<meta content="index,follow" name="robots">
<link href="ivy-report.css" type="text/css" rel="stylesheet">
</head>
<body>
<div id="logo">
<a href="http://incubator.apache.org/ivy/"><img src="../../../../ivy.jayasoft.org/logo.png"></a>
</div>
<h1>
<a name="jayasoft-ivyrep-example"></a><span id="module">ivyrep-example</span>
by
<span id="organisation">jayasoft</span>
</h1>
<div id="date">
resolved on
2005-04-08 13:33:40</div>
<ul id="confmenu">
<li>
<a class="active" href="jayasoft-ivyrep-example-default.html">default</a>
</li>
</ul>
<div id="content">
<h2>Dependencies Stats</h2>
<table class="header">
<tr>
<td class="title">Modules</td><td class="value">3</td>
</tr>
<tr>
<td class="title">Revisions</td><td class="value">4
(0 searched <img title="module revisions which required a search with a dependency resolver to be resolved" alt="searched" src="../../../search.html">,
0 downloaded <img title="module revisions for which ivy file was downloaded by dependency resolver" alt="downloaded" src="../../../search.html">,
1 evicted <img title="module revisions which were evicted by others" alt="evicted" src="../../../search.html">,
0 errors <img title="module revisions on which error occured" alt="error" src="../../../search.html">)</td>
</tr>
<tr>
<td class="title">Artifacts</td><td class="value">3
(0 downloaded,
0 failed)</td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">219 kB
(0 kB downloaded,
219 kB in cache)</td>
</tr>
</table>
<h2>Dependencies Overview</h2>
<table class="deps">
<thead>
<tr>
<th>Module</th><th>Revision</th><th>Status</th><th>Licenses</th><th>Size</th><th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="#apache-commons-cli"> commons-cli
by
apache</a></td><td><a href="#apache-commons-cli-1.0">1.0</a></td><td align="center">release</td><td align="center"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td><td align="center">32 kB
</td><td align="center"></td>
</tr>
<tr>
<td><a href="#apache-commons-lang">--- commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-2.0">2.0</a></td><td align="center">release</td><td align="center"></td><td align="center">166 kB
</td><td align="center"></td>
</tr>
<tr>
<td><a href="#apache-commons-lang">--- commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-1.0">1.0</a></td><td align="center"></td><td align="center"></td><td align="center">0 kB
</td><td align="center"><img src="http://ivy.jayasoft.org/images/evicted.gif" alt="evicted" title="evicted by 2.0"></td>
</tr>
<tr>
<td><a href="#apache-commons-logging">--- commons-logging
by
apache</a></td><td><a href="#apache-commons-logging-1.0">1.0</a></td><td align="center">release</td><td align="center"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td><td align="center">21 kB
</td><td align="center"></td>
</tr>
<tr>
<td><a href="#apache-commons-lang"> commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-2.0">2.0</a></td><td align="center">release</td><td align="center"></td><td align="center">166 kB
</td><td align="center"></td>
</tr>
</tbody>
</table>
<h2>Details</h2>
<h3>
<a name="apache-commons-cli"></a>commons-cli by apache<span class="resolved">resolved by <b>ivyrep</b></span>
</h3>
<h4>
<a name="apache-commons-cli-1.0"></a>
Revision: 1.0<span style="padding-left:15px;"></span>
</h4>
<table class="header">
<tr>
<td class="title">Home Page</td><td class="value"><a href="http://jakarta.apache.org/commons/cli/">http://jakarta.apache.org/commons/cli/</a></td>
</tr>
<tr>
<td class="title">Status</td><td class="value">release</td>
</tr>
<tr>
<td class="title">Publication</td><td class="value">20021227095900</td>
</tr>
<tr>
<td class="title">Resolver</td><td class="value">ivyrep</td>
</tr>
<tr>
<td class="title">Configurations</td><td class="value">default</td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">32 kB
(0 kB downloaded,
32 kB in cache)</td>
</tr>
<tr>
<td class="title">Licenses</td><td class="value"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td>
</tr>
</table>
<h5>Required by</h5>
<table>
<thead>
<tr>
<th>Organisation</th><th>Name</th><th>In Configurations</th><th>Asked Revision</th>
</tr>
</thead>
<tbody>
<tr>
<td>jayasoft</td><td><a href="#jayasoft-ivyrep-example">ivyrep-example</a></td><td>default</td><td>1.0</td>
</tr>
</tbody>
</table>
<h5>Dependencies</h5>
<table class="deps">
<thead>
<tr>
<th>Module</th><th>Revision</th><th>Status</th><th>Licenses</th><th>Size</th><th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="#apache-commons-lang"> commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-2.0">2.0</a></td><td align="center">release</td><td align="center"></td><td align="center">166 kB
</td><td align="center"></td>
</tr>
<tr>
<td><a href="#apache-commons-lang"> commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-1.0">1.0</a></td><td align="center"></td><td align="center"></td><td align="center">0 kB
</td><td align="center"><img src="http://ivy.jayasoft.org/images/evicted.gif" alt="evicted" title="evicted by 2.0"></td>
</tr>
<tr>
<td><a href="#apache-commons-logging"> commons-logging
by
apache</a></td><td><a href="#apache-commons-logging-1.0">1.0</a></td><td align="center">release</td><td align="center"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td><td align="center">21 kB
</td><td align="center"></td>
</tr>
</tbody>
</table>
<h5>Artifacts</h5>
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Ext</th><th>Download</th><th>Size</th>
</tr>
</thead>
<tbody>
<tr>
<td>commons-cli</td><td>jar</td><td>jar</td><td align="center">no</td><td align="center">32 kB</td>
</tr>
</tbody>
</table>
<h3>
<a name="apache-commons-lang"></a>commons-lang by apache<span class="resolved">resolved by <b>ivyrep</b></span>
</h3>
<h4>
<a name="apache-commons-lang-2.0"></a>
Revision: 2.0<span style="padding-left:15px;"></span>
</h4>
<table class="header">
<tr>
<td class="title">Status</td><td class="value">release</td>
</tr>
<tr>
<td class="title">Publication</td><td class="value">20050407222759</td>
</tr>
<tr>
<td class="title">Resolver</td><td class="value">ivyrep</td>
</tr>
<tr>
<td class="title">Configurations</td><td class="value">default</td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">166 kB
(0 kB downloaded,
166 kB in cache)</td>
</tr>
</table>
<h5>Required by</h5>
<table>
<thead>
<tr>
<th>Organisation</th><th>Name</th><th>In Configurations</th><th>Asked Revision</th>
</tr>
</thead>
<tbody>
<tr>
<td>apache</td><td><a href="#apache-commons-cli">commons-cli</a></td><td>default</td><td>1.0</td>
</tr>
<tr>
<td>jayasoft</td><td><a href="#jayasoft-ivyrep-example">ivyrep-example</a></td><td>default</td><td>2.0</td>
</tr>
</tbody>
</table>
<h5>Dependencies</h5>
<table>
<tr>
<td>
No dependency
</td>
</tr>
</table>
<h5>Artifacts</h5>
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Ext</th><th>Download</th><th>Size</th>
</tr>
</thead>
<tbody>
<tr>
<td>commons-lang</td><td>jar</td><td>jar</td><td align="center">no</td><td align="center">166 kB</td>
</tr>
</tbody>
</table>
<h4>
<a name="apache-commons-lang-1.0"></a>
Revision: 1.0<span style="padding-left:15px;"><img src="http://ivy.jayasoft.org/images/evicted.gif" alt="evicted" title="evicted by 2.0"></span>
</h4>
<table class="header">
<tr>
<td class="title">Status</td><td class="value"></td>
</tr>
<tr>
<td class="title">Publication</td><td class="value"></td>
</tr>
<tr>
<td class="title">Resolver</td><td class="value"></td>
</tr>
<tr>
<td class="title">Configurations</td><td class="value"></td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">0 kB
(0 kB downloaded,
0 kB in cache)</td>
</tr>
<tr>
<td class="title">Evicted by</td><td class="value">2.0
in <b>latest-revision</b> conflict manager
</td>
</tr>
</table>
<h5>Required by</h5>
<table>
<thead>
<tr>
<th>Organisation</th><th>Name</th><th>In Configurations</th><th>Asked Revision</th>
</tr>
</thead>
<tbody>
<tr>
<td>apache</td><td><a href="#apache-commons-cli">commons-cli</a></td><td>default</td><td>1.0</td>
</tr>
</tbody>
</table>
<h3>
<a name="apache-commons-logging"></a>commons-logging by apache<span class="resolved">resolved by <b>ivyrep</b></span>
</h3>
<h4>
<a name="apache-commons-logging-1.0"></a>
Revision: 1.0<span style="padding-left:15px;"></span>
</h4>
<table class="header">
<tr>
<td class="title">Home Page</td><td class="value"><a href="http://jakarta.apache.org/commons/logging/">http://jakarta.apache.org/commons/logging/</a></td>
</tr>
<tr>
<td class="title">Status</td><td class="value">release</td>
</tr>
<tr>
<td class="title">Publication</td><td class="value">20020220232200</td>
</tr>
<tr>
<td class="title">Resolver</td><td class="value">ivyrep</td>
</tr>
<tr>
<td class="title">Configurations</td><td class="value">default</td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">21 kB
(0 kB downloaded,
21 kB in cache)</td>
</tr>
<tr>
<td class="title">Licenses</td><td class="value"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td>
</tr>
</table>
<h5>Required by</h5>
<table>
<thead>
<tr>
<th>Organisation</th><th>Name</th><th>In Configurations</th><th>Asked Revision</th>
</tr>
</thead>
<tbody>
<tr>
<td>apache</td><td><a href="#apache-commons-cli">commons-cli</a></td><td>default</td><td>1.0</td>
</tr>
</tbody>
</table>
<h5>Dependencies</h5>
<table>
<tr>
<td>
No dependency
</td>
</tr>
</table>
<h5>Artifacts</h5>
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Ext</th><th>Download</th><th>Size</th>
</tr>
</thead>
<tbody>
<tr>
<td>commons-logging</td><td>jar</td><td>jar</td><td align="center">no</td><td align="center">21 kB</td>
</tr>
</tbody>
</table>
</div>
</body>
<!-- Mirrored from www.jayasoft.org/misc/ivy/samples/jayasoft-ivyrep-example-default.html by HTTrack Website Copier/3.x [XR&CO'2006], Wed, 20 Dec 2006 23:37:56 GMT -->
</html>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ivy report :: ivyrep-example by jayasoft :: default</title>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<meta content="en" http-equiv="content-language">
<meta content="index,follow" name="robots">
<link href="ivy-report.css" type="text/css" rel="stylesheet">
</head>
<body>
<div id="logo">
<a href="http://incubator.apache.org/ivy/"><img src="../../../../ivy.jayasoft.org/logo.png"></a>
</div>
<h1>
<a name="jayasoft-ivyrep-example"></a><span id="module">ivyrep-example</span>
by
<span id="organisation">jayasoft</span>
</h1>
<div id="date">
resolved on
2005-04-08 13:33:40</div>
<ul id="confmenu">
<li>
<a class="active" href="jayasoft-ivyrep-example-default.html">default</a>
</li>
</ul>
<div id="content">
<h2>Dependencies Stats</h2>
<table class="header">
<tr>
<td class="title">Modules</td><td class="value">3</td>
</tr>
<tr>
<td class="title">Revisions</td><td class="value">4
(0 searched <img title="module revisions which required a search with a dependency resolver to be resolved" alt="searched" src="../../../search.html">,
0 downloaded <img title="module revisions for which ivy file was downloaded by dependency resolver" alt="downloaded" src="../../../search.html">,
1 evicted <img title="module revisions which were evicted by others" alt="evicted" src="../../../search.html">,
0 errors <img title="module revisions on which error occured" alt="error" src="../../../search.html">)</td>
</tr>
<tr>
<td class="title">Artifacts</td><td class="value">3
(0 downloaded,
0 failed)</td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">219 kB
(0 kB downloaded,
219 kB in cache)</td>
</tr>
</table>
<h2>Dependencies Overview</h2>
<table class="deps">
<thead>
<tr>
<th>Module</th><th>Revision</th><th>Status</th><th>Licenses</th><th>Size</th><th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="#apache-commons-cli"> commons-cli
by
apache</a></td><td><a href="#apache-commons-cli-1.0">1.0</a></td><td align="center">release</td><td align="center"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td><td align="center">32 kB
</td><td align="center"></td>
</tr>
<tr>
<td><a href="#apache-commons-lang">--- commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-2.0">2.0</a></td><td align="center">release</td><td align="center"></td><td align="center">166 kB
</td><td align="center"></td>
</tr>
<tr>
<td><a href="#apache-commons-lang">--- commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-1.0">1.0</a></td><td align="center"></td><td align="center"></td><td align="center">0 kB
</td><td align="center"><img src="http://ivy.jayasoft.org/images/evicted.gif" alt="evicted" title="evicted by 2.0"></td>
</tr>
<tr>
<td><a href="#apache-commons-logging">--- commons-logging
by
apache</a></td><td><a href="#apache-commons-logging-1.0">1.0</a></td><td align="center">release</td><td align="center"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td><td align="center">21 kB
</td><td align="center"></td>
</tr>
<tr>
<td><a href="#apache-commons-lang"> commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-2.0">2.0</a></td><td align="center">release</td><td align="center"></td><td align="center">166 kB
</td><td align="center"></td>
</tr>
</tbody>
</table>
<h2>Details</h2>
<h3>
<a name="apache-commons-cli"></a>commons-cli by apache<span class="resolved">resolved by <b>ivyrep</b></span>
</h3>
<h4>
<a name="apache-commons-cli-1.0"></a>
Revision: 1.0<span style="padding-left:15px;"></span>
</h4>
<table class="header">
<tr>
<td class="title">Home Page</td><td class="value"><a href="http://jakarta.apache.org/commons/cli/">http://jakarta.apache.org/commons/cli/</a></td>
</tr>
<tr>
<td class="title">Status</td><td class="value">release</td>
</tr>
<tr>
<td class="title">Publication</td><td class="value">20021227095900</td>
</tr>
<tr>
<td class="title">Resolver</td><td class="value">ivyrep</td>
</tr>
<tr>
<td class="title">Configurations</td><td class="value">default</td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">32 kB
(0 kB downloaded,
32 kB in cache)</td>
</tr>
<tr>
<td class="title">Licenses</td><td class="value"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td>
</tr>
</table>
<h5>Required by</h5>
<table>
<thead>
<tr>
<th>Organisation</th><th>Name</th><th>In Configurations</th><th>Asked Revision</th>
</tr>
</thead>
<tbody>
<tr>
<td>jayasoft</td><td><a href="#jayasoft-ivyrep-example">ivyrep-example</a></td><td>default</td><td>1.0</td>
</tr>
</tbody>
</table>
<h5>Dependencies</h5>
<table class="deps">
<thead>
<tr>
<th>Module</th><th>Revision</th><th>Status</th><th>Licenses</th><th>Size</th><th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="#apache-commons-lang"> commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-2.0">2.0</a></td><td align="center">release</td><td align="center"></td><td align="center">166 kB
</td><td align="center"></td>
</tr>
<tr>
<td><a href="#apache-commons-lang"> commons-lang
by
apache</a></td><td><a href="#apache-commons-lang-1.0">1.0</a></td><td align="center"></td><td align="center"></td><td align="center">0 kB
</td><td align="center"><img src="http://ivy.jayasoft.org/images/evicted.gif" alt="evicted" title="evicted by 2.0"></td>
</tr>
<tr>
<td><a href="#apache-commons-logging"> commons-logging
by
apache</a></td><td><a href="#apache-commons-logging-1.0">1.0</a></td><td align="center">release</td><td align="center"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td><td align="center">21 kB
</td><td align="center"></td>
</tr>
</tbody>
</table>
<h5>Artifacts</h5>
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Ext</th><th>Download</th><th>Size</th>
</tr>
</thead>
<tbody>
<tr>
<td>commons-cli</td><td>jar</td><td>jar</td><td align="center">no</td><td align="center">32 kB</td>
</tr>
</tbody>
</table>
<h3>
<a name="apache-commons-lang"></a>commons-lang by apache<span class="resolved">resolved by <b>ivyrep</b></span>
</h3>
<h4>
<a name="apache-commons-lang-2.0"></a>
Revision: 2.0<span style="padding-left:15px;"></span>
</h4>
<table class="header">
<tr>
<td class="title">Status</td><td class="value">release</td>
</tr>
<tr>
<td class="title">Publication</td><td class="value">20050407222759</td>
</tr>
<tr>
<td class="title">Resolver</td><td class="value">ivyrep</td>
</tr>
<tr>
<td class="title">Configurations</td><td class="value">default</td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">166 kB
(0 kB downloaded,
166 kB in cache)</td>
</tr>
</table>
<h5>Required by</h5>
<table>
<thead>
<tr>
<th>Organisation</th><th>Name</th><th>In Configurations</th><th>Asked Revision</th>
</tr>
</thead>
<tbody>
<tr>
<td>apache</td><td><a href="#apache-commons-cli">commons-cli</a></td><td>default</td><td>1.0</td>
</tr>
<tr>
<td>jayasoft</td><td><a href="#jayasoft-ivyrep-example">ivyrep-example</a></td><td>default</td><td>2.0</td>
</tr>
</tbody>
</table>
<h5>Dependencies</h5>
<table>
<tr>
<td>
No dependency
</td>
</tr>
</table>
<h5>Artifacts</h5>
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Ext</th><th>Download</th><th>Size</th>
</tr>
</thead>
<tbody>
<tr>
<td>commons-lang</td><td>jar</td><td>jar</td><td align="center">no</td><td align="center">166 kB</td>
</tr>
</tbody>
</table>
<h4>
<a name="apache-commons-lang-1.0"></a>
Revision: 1.0<span style="padding-left:15px;"><img src="http://ivy.jayasoft.org/images/evicted.gif" alt="evicted" title="evicted by 2.0"></span>
</h4>
<table class="header">
<tr>
<td class="title">Status</td><td class="value"></td>
</tr>
<tr>
<td class="title">Publication</td><td class="value"></td>
</tr>
<tr>
<td class="title">Resolver</td><td class="value"></td>
</tr>
<tr>
<td class="title">Configurations</td><td class="value"></td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">0 kB
(0 kB downloaded,
0 kB in cache)</td>
</tr>
<tr>
<td class="title">Evicted by</td><td class="value">2.0
in <b>latest-revision</b> conflict manager
</td>
</tr>
</table>
<h5>Required by</h5>
<table>
<thead>
<tr>
<th>Organisation</th><th>Name</th><th>In Configurations</th><th>Asked Revision</th>
</tr>
</thead>
<tbody>
<tr>
<td>apache</td><td><a href="#apache-commons-cli">commons-cli</a></td><td>default</td><td>1.0</td>
</tr>
</tbody>
</table>
<h3>
<a name="apache-commons-logging"></a>commons-logging by apache<span class="resolved">resolved by <b>ivyrep</b></span>
</h3>
<h4>
<a name="apache-commons-logging-1.0"></a>
Revision: 1.0<span style="padding-left:15px;"></span>
</h4>
<table class="header">
<tr>
<td class="title">Home Page</td><td class="value"><a href="http://jakarta.apache.org/commons/logging/">http://jakarta.apache.org/commons/logging/</a></td>
</tr>
<tr>
<td class="title">Status</td><td class="value">release</td>
</tr>
<tr>
<td class="title">Publication</td><td class="value">20020220232200</td>
</tr>
<tr>
<td class="title">Resolver</td><td class="value">ivyrep</td>
</tr>
<tr>
<td class="title">Configurations</td><td class="value">default</td>
</tr>
<tr>
<td class="title">Artifacts size</td><td class="value">21 kB
(0 kB downloaded,
21 kB in cache)</td>
</tr>
<tr>
<td class="title">Licenses</td><td class="value"><span style="padding-right:3px;"><a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache</a></span></td>
</tr>
</table>
<h5>Required by</h5>
<table>
<thead>
<tr>
<th>Organisation</th><th>Name</th><th>In Configurations</th><th>Asked Revision</th>
</tr>
</thead>
<tbody>
<tr>
<td>apache</td><td><a href="#apache-commons-cli">commons-cli</a></td><td>default</td><td>1.0</td>
</tr>
</tbody>
</table>
<h5>Dependencies</h5>
<table>
<tr>
<td>
No dependency
</td>
</tr>
</table>
<h5>Artifacts</h5>
<table>
<thead>
<tr>
<th>Name</th><th>Type</th><th>Ext</th><th>Download</th><th>Size</th>
</tr>
</thead>
<tbody>
<tr>
<td>commons-logging</td><td>jar</td><td>jar</td><td align="center">no</td><td align="center">21 kB</td>
</tr>
</tbody>
</table>
</div>
</body>
<!-- Mirrored from www.jayasoft.org/misc/ivy/samples/jayasoft-ivyrep-example-default.html by HTTrack Website Copier/3.x [XR&CO'2006], Wed, 20 Dec 2006 23:37:56 GMT -->
</html>

View File

@ -1,47 +1,47 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="all"
xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="buildlist">
<ivy:buildlist reference="build-path">
<fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>
</target>
<target name="init" depends="buildlist" description="init all projects">
<subant target="new-version" buildpathref="build-path" />
</target>
<target name="publish-all" depends="buildlist" description="compile, jar and publish all projects in the right order">
<subant target="publish" buildpathref="build-path" />
</target>
<target name="clean-all" depends="buildlist" description="clean all projects">
<subant target="clean" buildpathref="build-path" />
</target>
<target name="clean" depends="clean-all" description="clean tutorial: delete repository, ivy cache, and all projects">
<delete dir="repository"/>
<delete dir="ivy-cache"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="all"
xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="buildlist">
<ivy:buildlist reference="build-path">
<fileset dir="projects" includes="**/build.xml"/>
</ivy:buildlist>
</target>
<target name="init" depends="buildlist" description="init all projects">
<subant target="new-version" buildpathref="build-path" />
</target>
<target name="publish-all" depends="buildlist" description="compile, jar and publish all projects in the right order">
<subant target="publish" buildpathref="build-path" />
</target>
<target name="clean-all" depends="buildlist" description="clean all projects">
<subant target="clean" buildpathref="build-path" />
</target>
<target name="clean" depends="clean-all" description="clean tutorial: delete repository, ivy cache, and all projects">
<delete dir="repository"/>
<delete dir="ivy-cache"/>
</target>
</project>

View File

@ -1,183 +1,183 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="common"
xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- a sample common build.xml file, used for ivy multi-project tutorial
feel free to copy and adapt it to your own needs
Note that the only targets specific to ivy are:
configure
resolve
report
publish
All other targets are usual ant based targets, which could have been written
in a build not depending at all on ivy: the configure simply sets some properties, resolve
constructs a lib directory based upon ivy dependencies, and then the lib dir is used
as in any classical ant build
-->
<property file="${common.dir}/build.properties"/>
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${classes.dir}" />
</path>
<target name="configure">
<!-- setup ivy default configuration with some custom info -->
<property name="ivy.local.default.root" value="${repository.dir}/local"/>
<property name="ivy.shared.default.root" value="${repository.dir}/shared"/>
<!-- here is how we would have configured ivy if we had our own ivysettings file
<ivy:configure file="${common.dir}/ivysettings.xml" />
-->
</target>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" depends="configure, clean-lib" description="--> retrieve dependencies with ivy">
<mkdir dir="${lib.dir}"/> <!-- not usually necessary, ivy creates the directory IF there are dependencies -->
<!-- this target is named resolve even if we do a retrieve:
in fact a resolve will be called, and then the retrieve will simply copy files in the lib directory -->
<ivy:retrieve pattern="${lib.dir}/[artifact].[ext]" />
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: compile
================================= -->
<target name="compile" depends="resolve" description="--> compile the project">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="lib.path.id" debug="true" />
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="version, compile" description="--> compile and run the project">
<java classpathref="run.path.id" classname="${main.class.name}"/>
</target>
<target name="new-version">
<propertyfile file="${basedir}/version.properties">
<entry key="version" type="int" operation="+" default="0" />
</propertyfile>
</target>
<target name="check-version">
<!-- test existence of version file -->
<available file="${basedir}/version.properties" property="version.exists"/>
</target>
<target name="init-version" depends="check-version" unless="version.exists">
<!-- init version file if it doesn't exist -->
<echo message="version=1" file="${basedir}/version.properties" />
</target>
<target name="version" depends="init-version">
<!-- copy version file in classpath for later inclusion in jar -->
<mkdir dir="${classes.dir}"/>
<copy file="${basedir}/version.properties" tofile="${classes.dir}/${ant.project.name}.properties" overwrite="true" />
<property file="${classes.dir}/${ant.project.name}.properties" />
</target>
<!-- =================================
target: jar
================================= -->
<target name="jar" depends="version, compile" description="--> make a jar file for this project">
<jar destfile="${jar.file}">
<fileset dir="${classes.dir}" />
</jar>
</target>
<!-- =================================
target: publish
================================= -->
<target name="publish" depends="clean-build, new-version, jar" description="--> publish this project in the ivy repository">
<property name="revision" value="${version}"/>
<ivy:publish artifactspattern="${build.dir}/[artifact].[ext]"
resolver="shared"
pubrevision="${revision}"
status="release"
/>
<echo message="project ${ant.project.name} released with version ${revision}" />
</target>
<target name="local-version">
<tstamp>
<format property="now" pattern="yyyyMMddHHmmss"/>
</tstamp>
<property name="revision" value="local-${now}"/>
<!-- used only to create a local version and put the corresponding file in the jar so that it will be displayed by the module -->
<mkdir dir="${classes.dir}"/>
<echo message="version=${revision}" file="${classes.dir}/${ant.project.name}.properties" append="false" />
<property file="${classes.dir}/${ant.project.name}.properties" />
</target>
<!-- =================================
target: publish-local
================================= -->
<target name="publish-local" depends="local-version, jar" description="--> publish this project in the local ivy repository">
<delete file="${build.dir}/ivy.xml"/> <!-- delete last produced ivy file to be sure a new one will be generated -->
<ivy:publish artifactspattern="${build.dir}/[artifact].[ext]"
resolver="local"
pubrevision="${revision}"
pubdate="${now}"
status="integration"
/>
<echo message="project ${ant.project.name} published locally with version ${revision}" />
</target>
<!-- =================================
target: clean-local
================================= -->
<target name="clean-local" depends="configure" description="cleans the local repository for the current module">
<delete dir="${ivy.local.default.root}/${ant.project.name}"/>
</target>
<!-- =================================
target: clean-lib
================================= -->
<target name="clean-lib" description="--> clean the project libraries directory (dependencies)">
<delete includeemptydirs="true" dir="${lib.dir}"/>
</target>
<!-- =================================
target: clean-build
================================= -->
<target name="clean-build" description="--> clean the project built files">
<delete includeemptydirs="true" dir="${build.dir}"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" depends="clean-build, clean-lib" description="--> clean the project and reset version number">
<delete file="${basedir}/version.properties"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="common"
xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- a sample common build.xml file, used for ivy multi-project tutorial
feel free to copy and adapt it to your own needs
Note that the only targets specific to ivy are:
configure
resolve
report
publish
All other targets are usual ant based targets, which could have been written
in a build not depending at all on ivy: the configure simply sets some properties, resolve
constructs a lib directory based upon ivy dependencies, and then the lib dir is used
as in any classical ant build
-->
<property file="${common.dir}/build.properties"/>
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${classes.dir}" />
</path>
<target name="configure">
<!-- setup ivy default configuration with some custom info -->
<property name="ivy.local.default.root" value="${repository.dir}/local"/>
<property name="ivy.shared.default.root" value="${repository.dir}/shared"/>
<!-- here is how we would have configured ivy if we had our own ivysettings file
<ivy:configure file="${common.dir}/ivysettings.xml" />
-->
</target>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" depends="configure, clean-lib" description="--> retrieve dependencies with ivy">
<mkdir dir="${lib.dir}"/> <!-- not usually necessary, ivy creates the directory IF there are dependencies -->
<!-- this target is named resolve even if we do a retrieve:
in fact a resolve will be called, and then the retrieve will simply copy files in the lib directory -->
<ivy:retrieve pattern="${lib.dir}/[artifact].[ext]" />
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: compile
================================= -->
<target name="compile" depends="resolve" description="--> compile the project">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="lib.path.id" debug="true" />
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="version, compile" description="--> compile and run the project">
<java classpathref="run.path.id" classname="${main.class.name}"/>
</target>
<target name="new-version">
<propertyfile file="${basedir}/version.properties">
<entry key="version" type="int" operation="+" default="0" />
</propertyfile>
</target>
<target name="check-version">
<!-- test existence of version file -->
<available file="${basedir}/version.properties" property="version.exists"/>
</target>
<target name="init-version" depends="check-version" unless="version.exists">
<!-- init version file if it doesn't exist -->
<echo message="version=1" file="${basedir}/version.properties" />
</target>
<target name="version" depends="init-version">
<!-- copy version file in classpath for later inclusion in jar -->
<mkdir dir="${classes.dir}"/>
<copy file="${basedir}/version.properties" tofile="${classes.dir}/${ant.project.name}.properties" overwrite="true" />
<property file="${classes.dir}/${ant.project.name}.properties" />
</target>
<!-- =================================
target: jar
================================= -->
<target name="jar" depends="version, compile" description="--> make a jar file for this project">
<jar destfile="${jar.file}">
<fileset dir="${classes.dir}" />
</jar>
</target>
<!-- =================================
target: publish
================================= -->
<target name="publish" depends="clean-build, new-version, jar" description="--> publish this project in the ivy repository">
<property name="revision" value="${version}"/>
<ivy:publish artifactspattern="${build.dir}/[artifact].[ext]"
resolver="shared"
pubrevision="${revision}"
status="release"
/>
<echo message="project ${ant.project.name} released with version ${revision}" />
</target>
<target name="local-version">
<tstamp>
<format property="now" pattern="yyyyMMddHHmmss"/>
</tstamp>
<property name="revision" value="local-${now}"/>
<!-- used only to create a local version and put the corresponding file in the jar so that it will be displayed by the module -->
<mkdir dir="${classes.dir}"/>
<echo message="version=${revision}" file="${classes.dir}/${ant.project.name}.properties" append="false" />
<property file="${classes.dir}/${ant.project.name}.properties" />
</target>
<!-- =================================
target: publish-local
================================= -->
<target name="publish-local" depends="local-version, jar" description="--> publish this project in the local ivy repository">
<delete file="${build.dir}/ivy.xml"/> <!-- delete last produced ivy file to be sure a new one will be generated -->
<ivy:publish artifactspattern="${build.dir}/[artifact].[ext]"
resolver="local"
pubrevision="${revision}"
pubdate="${now}"
status="integration"
/>
<echo message="project ${ant.project.name} published locally with version ${revision}" />
</target>
<!-- =================================
target: clean-local
================================= -->
<target name="clean-local" depends="configure" description="cleans the local repository for the current module">
<delete dir="${ivy.local.default.root}/${ant.project.name}"/>
</target>
<!-- =================================
target: clean-lib
================================= -->
<target name="clean-lib" description="--> clean the project libraries directory (dependencies)">
<delete includeemptydirs="true" dir="${lib.dir}"/>
</target>
<!-- =================================
target: clean-build
================================= -->
<target name="clean-build" description="--> clean the project built files">
<delete includeemptydirs="true" dir="${build.dir}"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" depends="clean-build, clean-lib" description="--> clean the project and reset version number">
<delete file="${basedir}/version.properties"/>
</target>
</project>

View File

@ -1,21 +1,21 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivyconf>
<include url="http://incubator.apache.org/ivy/test/ivyconf.xml"/>
</ivyconf>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivyconf>
<include url="http://incubator.apache.org/ivy/test/ivyconf.xml"/>
</ivyconf>

View File

@ -1,23 +1,23 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivyconf>
<resolvers>
<ivyrep name="ivyrep" />
</resolvers>
</ivyconf>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivyconf>
<resolvers>
<ivyrep name="ivyrep" />
</resolvers>
</ivyconf>

View File

@ -1,21 +1,21 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<include url="http://incubator.apache.org/ivy/test/ivysettings.xml"/>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<include url="http://incubator.apache.org/ivy/test/ivysettings.xml"/>
</ivysettings>

View File

@ -1,23 +1,23 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<resolvers>
<ivyrep name="ivyrep" />
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<resolvers>
<ivyrep name="ivyrep" />
</resolvers>
</ivysettings>

View File

@ -999,4 +999,4 @@
]
}
]
}
}

98
ivy.xml
View File

@ -1,49 +1,49 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache"
module="ivy"
status="integration"
/>
<configurations>
<conf name="core" description="only ivy core, without ant tasks and any dependencies"/>
<conf name="httpclient" extends="core" description="core + optional httpclient for better http handling"/>
<conf name="oro" extends="core" description="to use optional glob matcher"/>
<conf name="vfs" extends="core" description="core + optional VirtualFileSystem(VFS) support" />
<conf name="webdav" extends="core" description="core + optional VirtualFileSystem(VFS) with webdav support" />
<conf name="sftp" extends="core" description="core + optional SFTP support" />
<conf name="standalone" extends="core" description="to launch in standalone mode (from command line)"/>
<conf name="default" description="full ivy with all dependencies"/>
<conf name="test" description="dependencies used for junit testing ivy" visibility="private" />
</configurations>
<publications>
<artifact name="ivy" type="jar" conf="default"/>
<artifact name="ivy-core" type="jar" conf="core"/>
</publications>
<dependencies>
<dependency org="ant" name="ant" rev="1.6.5" conf="default"/>
<dependency org="commons-httpclient" name="commons-httpclient" rev="3.0" conf="default,httpclient->default" />
<dependency org="commons-cli" name="commons-cli" rev="1.0" conf="default,standalone->default" />
<dependency org="oro" name="oro" rev="2.0.8" conf="default,oro->default"/>
<dependency org="commons-vfs" name="commons-vfs" rev="20060920" conf="vfs->default;default,webdav->webdav" />
<dependency org="jsch" name="jsch" rev="0.1.25" conf="default,sftp->default" />
<dependency org="ant" name="ant-launcher" rev="1.6.5" conf="test->default"/>
<dependency org="junit" name="junit" rev="3.8.2" conf="test->default" />
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache"
module="ivy"
status="integration"
/>
<configurations>
<conf name="core" description="only ivy core, without ant tasks and any dependencies"/>
<conf name="httpclient" extends="core" description="core + optional httpclient for better http handling"/>
<conf name="oro" extends="core" description="to use optional glob matcher"/>
<conf name="vfs" extends="core" description="core + optional VirtualFileSystem(VFS) support" />
<conf name="webdav" extends="core" description="core + optional VirtualFileSystem(VFS) with webdav support" />
<conf name="sftp" extends="core" description="core + optional SFTP support" />
<conf name="standalone" extends="core" description="to launch in standalone mode (from command line)"/>
<conf name="default" description="full ivy with all dependencies"/>
<conf name="test" description="dependencies used for junit testing ivy" visibility="private" />
</configurations>
<publications>
<artifact name="ivy" type="jar" conf="default"/>
<artifact name="ivy-core" type="jar" conf="core"/>
</publications>
<dependencies>
<dependency org="ant" name="ant" rev="1.6.5" conf="default"/>
<dependency org="commons-httpclient" name="commons-httpclient" rev="3.0" conf="default,httpclient->default" />
<dependency org="commons-cli" name="commons-cli" rev="1.0" conf="default,standalone->default" />
<dependency org="oro" name="oro" rev="2.0.8" conf="default,oro->default"/>
<dependency org="commons-vfs" name="commons-vfs" rev="20060920" conf="vfs->default;default,webdav->webdav" />
<dependency org="jsch" name="jsch" rev="0.1.25" conf="default,sftp->default" />
<dependency org="ant" name="ant-launcher" rev="1.6.5" conf="test->default"/>
<dependency org="junit" name="junit" rev="3.8.2" conf="test->default" />
</dependencies>
</ivy-module>

View File

@ -1,45 +1,45 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<include url="${ivy.default.conf.dir}/ivyconf-local.xml"/>
<settings defaultResolver="public" />
<resolvers>
<chain name="public" returnFirst="true">
<ibiblio name="ibiblio" m2compatible="true"/>
<url name="ivy" namespace="ivyrep-ns">
<ivy pattern="http://ivyrep.jayasoft.org/[organisation]/[module]/ivy-[revision].xml"/>
<artifact pattern="http://ivyrep.jayasoft.org/[organisation]/[module]/[revision]/[artifact].[ext]"/>
</url>
</chain>
</resolvers>
<namespaces>
<namespace name="ivyrep-ns">
<rule>
<fromsystem>
<src org="commons-vfs|slide" />
<dest org="apache"/>
</fromsystem>
<tosystem>
<src module="(.*)"/>
<dest org="$m1"/>
</tosystem>
</rule>
</namespace>
</namespaces>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<include url="${ivy.default.conf.dir}/ivyconf-local.xml"/>
<settings defaultResolver="public" />
<resolvers>
<chain name="public" returnFirst="true">
<ibiblio name="ibiblio" m2compatible="true"/>
<url name="ivy" namespace="ivyrep-ns">
<ivy pattern="http://ivyrep.jayasoft.org/[organisation]/[module]/ivy-[revision].xml"/>
<artifact pattern="http://ivyrep.jayasoft.org/[organisation]/[module]/[revision]/[artifact].[ext]"/>
</url>
</chain>
</resolvers>
<namespaces>
<namespace name="ivyrep-ns">
<rule>
<fromsystem>
<src org="commons-vfs|slide" />
<dest org="apache"/>
</fromsystem>
<tosystem>
<src module="(.*)"/>
<dest org="$m1"/>
</tosystem>
</rule>
</namespace>
</namespaces>
</ivysettings>

View File

@ -1,16 +1,16 @@
#This file defines the sources to compile for ivy-optional.jar
org/apache/ivy/Main.java
org/apache/ivy/plugins/matcher/GlobPatternMatcher.java
org/apache/ivy/plugins/repository/sftp/**/*.java
org/apache/ivy/plugins/repository/ssh/**/*.java
org/apache/ivy/plugins/repository/vfs/**/*.java
org/apache/ivy/plugins/repository/vsftp/**/*.java
org/apache/ivy/plugins/resolver/AbstractSshBasedResolver.java
org/apache/ivy/plugins/resolver/SFTPResolver.java
org/apache/ivy/plugins/resolver/SshResolver.java
org/apache/ivy/plugins/resolver/VfsResolver.java
org/apache/ivy/plugins/resolver/VsftpResolver.java
org/apache/ivy/util/url/HttpClientHandler.java
#This section defines the resources to copy for ivy-optional.jar
org/apache/ivy/plugins/repository/vfs/*.xml
#This file defines the sources to compile for ivy-optional.jar
org/apache/ivy/Main.java
org/apache/ivy/plugins/matcher/GlobPatternMatcher.java
org/apache/ivy/plugins/repository/sftp/**/*.java
org/apache/ivy/plugins/repository/ssh/**/*.java
org/apache/ivy/plugins/repository/vfs/**/*.java
org/apache/ivy/plugins/repository/vsftp/**/*.java
org/apache/ivy/plugins/resolver/AbstractSshBasedResolver.java
org/apache/ivy/plugins/resolver/SFTPResolver.java
org/apache/ivy/plugins/resolver/SshResolver.java
org/apache/ivy/plugins/resolver/VfsResolver.java
org/apache/ivy/plugins/resolver/VsftpResolver.java
org/apache/ivy/util/url/HttpClientHandler.java
#This section defines the resources to copy for ivy-optional.jar
org/apache/ivy/plugins/repository/vfs/*.xml

View File

@ -1,17 +1,17 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

View File

@ -1,104 +1,104 @@
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!-- ======================================================================
23 janv. 2006 13:36:06
ivy-repository
This is a sample project to build our own ivy repository from differents existing repositories.
mb
====================================================================== -->
<project name="ivy-repository" default="basic" xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="configuration-dir" value="config"/>
<property name="from-resolver" value="libraries"/>
<property name="to-resolver" value="local-repository"/>
<property name="ivy.cache.dir" value="${basedir}/cache" />
<property name="dest.repo.dir" value="${basedir}/ivy-local-repository" />
<ivy:settings id="basic.settings" file="${configuration-dir}/ivysettings-basic.xml"/>
<ivy:settings id="maven1.settings" file="${configuration-dir}/ivysettings-maven1.xml"/>
<ivy:settings id="maven2.settings" file="${configuration-dir}/ivysettings-maven2.xml"/>
<ivy:settings id="advanced.settings" file="${configuration-dir}/ivysettings-advanced.xml"/>
<!-- =================================
target: basic
================================= -->
<target name="basic" description="--> retrieve files from well formatted ivy repositories">
<ivy:install settingsRef="basic.settings" organisation="apache" module="commons-lang" revision="1.0" from="${from-resolver}" to="${to-resolver}" />
</target>
<!-- =================================
target: basic-deps
================================= -->
<target name="basic-deps" description="--> retrieve files from well formatted ivy repositories with dependencies">
<ivy:install settingsRef="basic.settings" organisation="hibernate" module="hibernate" revision="2.1.8" from="${from-resolver}" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: commons-lang-1-0-ibiblio-no-namespace
================================= -->
<target name="commons-lang-1-0-ibiblio-no-namespace" description="--> retrieve commons-lang 1.0 from ibiblio maven using no namespaces">
<ivy:install settingsRef="advanced.settings" organisation="commons-lang" module="commons-lang" revision="1.0" from="ibiblio-maven2-nonamespace" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: commons-lang-1-0-ibiblio-with-namespace
================================= -->
<target name="commons-lang-1-0-ibiblio-with-namespace" description="--> retrieve commons-lang 1.0 from ibiblio maven using namespaces">
<ivy:install settingsRef="advanced.settings" organisation="apache" module="commons-lang" revision="1.0" from="ibiblio-maven2" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: advanced
================================= -->
<target name="advanced" description="--> retrieve files from public repositories (ivyrep, ibiblio, ...) using namespaces">
<ivy:install settingsRef="advanced.settings" organisation="hibernate" module="hibernate" revision="3.0" from="${from-resolver}" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: maven1
================================= -->
<target name="maven1" description="--> retrieve commons-lang 1.0 from maven1 repo using namespaces">
<ivy:install settingsRef="maven1.settings" organisation="apache" module="commons-lang" revision="1.0" from="ibiblio-maven" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: maven2
================================= -->
<target name="maven2" description="--> retrieve files from maven2 repo using namespaces">
<ivy:install settingsRef="maven2.settings" organisation="hibernate" module="hibernate" revision="3.0" from="ibiblio-maven2" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the cache">
<delete dir="${ivy.cache.dir}" failonerror="true" />
</target>
<!-- =================================
target: clean-repo
================================= -->
<target name="clean-repo" description="--> clean the destination repository">
<delete dir="${dest.repo.dir}" failonerror="true" />
</target>
</project>
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!-- ======================================================================
23 janv. 2006 13:36:06
ivy-repository
This is a sample project to build our own ivy repository from differents existing repositories.
mb
====================================================================== -->
<project name="ivy-repository" default="basic" xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="configuration-dir" value="config"/>
<property name="from-resolver" value="libraries"/>
<property name="to-resolver" value="local-repository"/>
<property name="ivy.cache.dir" value="${basedir}/cache" />
<property name="dest.repo.dir" value="${basedir}/ivy-local-repository" />
<ivy:settings id="basic.settings" file="${configuration-dir}/ivysettings-basic.xml"/>
<ivy:settings id="maven1.settings" file="${configuration-dir}/ivysettings-maven1.xml"/>
<ivy:settings id="maven2.settings" file="${configuration-dir}/ivysettings-maven2.xml"/>
<ivy:settings id="advanced.settings" file="${configuration-dir}/ivysettings-advanced.xml"/>
<!-- =================================
target: basic
================================= -->
<target name="basic" description="--> retrieve files from well formatted ivy repositories">
<ivy:install settingsRef="basic.settings" organisation="apache" module="commons-lang" revision="1.0" from="${from-resolver}" to="${to-resolver}" />
</target>
<!-- =================================
target: basic-deps
================================= -->
<target name="basic-deps" description="--> retrieve files from well formatted ivy repositories with dependencies">
<ivy:install settingsRef="basic.settings" organisation="hibernate" module="hibernate" revision="2.1.8" from="${from-resolver}" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: commons-lang-1-0-ibiblio-no-namespace
================================= -->
<target name="commons-lang-1-0-ibiblio-no-namespace" description="--> retrieve commons-lang 1.0 from ibiblio maven using no namespaces">
<ivy:install settingsRef="advanced.settings" organisation="commons-lang" module="commons-lang" revision="1.0" from="ibiblio-maven2-nonamespace" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: commons-lang-1-0-ibiblio-with-namespace
================================= -->
<target name="commons-lang-1-0-ibiblio-with-namespace" description="--> retrieve commons-lang 1.0 from ibiblio maven using namespaces">
<ivy:install settingsRef="advanced.settings" organisation="apache" module="commons-lang" revision="1.0" from="ibiblio-maven2" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: advanced
================================= -->
<target name="advanced" description="--> retrieve files from public repositories (ivyrep, ibiblio, ...) using namespaces">
<ivy:install settingsRef="advanced.settings" organisation="hibernate" module="hibernate" revision="3.0" from="${from-resolver}" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: maven1
================================= -->
<target name="maven1" description="--> retrieve commons-lang 1.0 from maven1 repo using namespaces">
<ivy:install settingsRef="maven1.settings" organisation="apache" module="commons-lang" revision="1.0" from="ibiblio-maven" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: maven2
================================= -->
<target name="maven2" description="--> retrieve files from maven2 repo using namespaces">
<ivy:install settingsRef="maven2.settings" organisation="hibernate" module="hibernate" revision="3.0" from="ibiblio-maven2" to="${to-resolver}" transitive="true" />
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the cache">
<delete dir="${ivy.cache.dir}" failonerror="true" />
</target>
<!-- =================================
target: clean-repo
================================= -->
<target name="clean-repo" description="--> clean the destination repository">
<delete dir="${dest.repo.dir}" failonerror="true" />
</target>
</project>

View File

@ -1,124 +1,124 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- you can override this property to use mirrors
http://mirrors.dotsrc.org/maven2
http://ftp.ggi-project.org/pub/packages/maven2
http://mirrors.sunsite.dk/maven2
http://public.planetmirror.com/pub/maven2
http://ibiblio.lsu.edu/main/pub/packages/maven2
http://www.ibiblio.net/pub/packages/maven2
-->
<property name="ibiblio-maven1-root" value="http://www.ibiblio.org/maven/" override="false" />
<namespaces>
<namespace name="ibiblio-maven">
<rule> <!-- apache modules -->
<fromsystem>
<src org="apache" module=".+" />
<dest org="$m0" module="$m0" />
</fromsystem>
<tosystem>
- <src org="commons-.+" module="commons-.+" />
<src org="ant.*" module="ant.*" />
<src org="avalon-.+" module="avalon-.+" />
<src org="avalon" module="avalon" />
<src org="axis" module="axis" />
<src org="axis2" module="axis2" />
<src org="batik" module="batik" />
<src org="bcel" module="bcel" />
<src org="beehive" module="beehive" />
<src org="bsf" module="bsf" />
<src org="cactus" module="cactus" />
<src org="cocoon" module="cocoon" />
<src org="cornerstone-.+" module="cornerstone-.+" />
<src org="create-checksums" module="create-checksums" />
<src org="crimson" module="crimson" />
<src org="directory-.+" module="directory-.+" />
<src org="directory" module="directory" />
<src org="ecs" module="ecs" />
<src org="excalibur-.+" module="excalibur-.+" />
<src org="excalibur" module="excalibur" />
<src org="fop" module="fop" />
<src org="fulcrum" module="fulcrum" />
<src org="geronimo-.+" module="geronimo-.+" />
<src org="geronimo" module="geronimo" />
<src org="hivemind" module="hivemind" />
<src org="jakarta-regexp" module="jakarta-regexp" />
<src org="james" module="james" />
<src org="jaxme" module="jaxme" />
<src org="jcs-javagroups" module="jcs-javagroups" />
<src org="jcs" module="jcs" />
<src org="jspapi" module="jspapi" />
<src org="jstl" module="jstl" />
<src org="juddi" module="juddi" />
<src org="log4j" module="log4j" />
<src org="logkit" module="logkit" />
<src org="lucene" module="lucene" />
<src org="magicGball" module="magicGball" />
<src org="maven" module="maven" />
<src org="merlin-developer" module="merlin-developer" />
<src org="merlin" module="merlin" />
<src org="muse" module="muse" />
<src org="myfaces" module="myfaces" />
<src org="nekohtml" module="nekohtml" />
<src org="ojb" module="ojb" />
<src org="oro" module="oro" />
<src org="pluto-container" module="pluto-container" />
<src org="poi" module="poi" />
<src org="pubscribe" module="pubscribe" />
<src org="sandesha" module="sandesha" />
<src org="servletapi" module="servletapi" />
<src org="slide" module="slide" />
<src org="stratum" module="stratum" />
<src org="struts" module="struts" />
<src org="taglibs" module="taglibs" />
<src org="tapestry" module="tapestry" />
<src org="tomcat-util" module="tomcat-util" />
<src org="tomcat" module="tomcat" />
<src org="torque" module="torque" />
<src org="turbine" module="turbine" />
<src org="velocity-.+" module="velocity-.+" />
<src org="velocity" module="velocity" />
<src org="ws-commons.*" module="ws-commons.*" />
<src org="wsdl4j" module="wsdl4j" />
<src org="wsrf" module="wsrf" />
<src org="xalan" module="xalan" />
<src org="xerces" module="xerces" />
<src org="xercesjarv" module="xercesjarv" />
<src org="xml-apis" module="xml-apis" />
<src org="xml-resolver" module="xml-resolver" />
<src org="xml-security" module="xml-security" />
<src org="xmlbeans" module="xmlbeans" />
<src org="xmlrpc" module="xmlrpc" />
<dest org="apache" module="$m0"/>
</tosystem>
</rule>
</namespace>
</namespaces>
<resolvers>
<ibiblio name="ibiblio-maven"
root="${ibiblio-maven1-root}"
pattern="[module]/[type]s/[artifact]-[revision].[ext]"
m2compatible="false"
namespace="ibiblio-maven"
/>
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- you can override this property to use mirrors
http://mirrors.dotsrc.org/maven2
http://ftp.ggi-project.org/pub/packages/maven2
http://mirrors.sunsite.dk/maven2
http://public.planetmirror.com/pub/maven2
http://ibiblio.lsu.edu/main/pub/packages/maven2
http://www.ibiblio.net/pub/packages/maven2
-->
<property name="ibiblio-maven1-root" value="http://www.ibiblio.org/maven/" override="false" />
<namespaces>
<namespace name="ibiblio-maven">
<rule> <!-- apache modules -->
<fromsystem>
<src org="apache" module=".+" />
<dest org="$m0" module="$m0" />
</fromsystem>
<tosystem>
- <src org="commons-.+" module="commons-.+" />
<src org="ant.*" module="ant.*" />
<src org="avalon-.+" module="avalon-.+" />
<src org="avalon" module="avalon" />
<src org="axis" module="axis" />
<src org="axis2" module="axis2" />
<src org="batik" module="batik" />
<src org="bcel" module="bcel" />
<src org="beehive" module="beehive" />
<src org="bsf" module="bsf" />
<src org="cactus" module="cactus" />
<src org="cocoon" module="cocoon" />
<src org="cornerstone-.+" module="cornerstone-.+" />
<src org="create-checksums" module="create-checksums" />
<src org="crimson" module="crimson" />
<src org="directory-.+" module="directory-.+" />
<src org="directory" module="directory" />
<src org="ecs" module="ecs" />
<src org="excalibur-.+" module="excalibur-.+" />
<src org="excalibur" module="excalibur" />
<src org="fop" module="fop" />
<src org="fulcrum" module="fulcrum" />
<src org="geronimo-.+" module="geronimo-.+" />
<src org="geronimo" module="geronimo" />
<src org="hivemind" module="hivemind" />
<src org="jakarta-regexp" module="jakarta-regexp" />
<src org="james" module="james" />
<src org="jaxme" module="jaxme" />
<src org="jcs-javagroups" module="jcs-javagroups" />
<src org="jcs" module="jcs" />
<src org="jspapi" module="jspapi" />
<src org="jstl" module="jstl" />
<src org="juddi" module="juddi" />
<src org="log4j" module="log4j" />
<src org="logkit" module="logkit" />
<src org="lucene" module="lucene" />
<src org="magicGball" module="magicGball" />
<src org="maven" module="maven" />
<src org="merlin-developer" module="merlin-developer" />
<src org="merlin" module="merlin" />
<src org="muse" module="muse" />
<src org="myfaces" module="myfaces" />
<src org="nekohtml" module="nekohtml" />
<src org="ojb" module="ojb" />
<src org="oro" module="oro" />
<src org="pluto-container" module="pluto-container" />
<src org="poi" module="poi" />
<src org="pubscribe" module="pubscribe" />
<src org="sandesha" module="sandesha" />
<src org="servletapi" module="servletapi" />
<src org="slide" module="slide" />
<src org="stratum" module="stratum" />
<src org="struts" module="struts" />
<src org="taglibs" module="taglibs" />
<src org="tapestry" module="tapestry" />
<src org="tomcat-util" module="tomcat-util" />
<src org="tomcat" module="tomcat" />
<src org="torque" module="torque" />
<src org="turbine" module="turbine" />
<src org="velocity-.+" module="velocity-.+" />
<src org="velocity" module="velocity" />
<src org="ws-commons.*" module="ws-commons.*" />
<src org="wsdl4j" module="wsdl4j" />
<src org="wsrf" module="wsrf" />
<src org="xalan" module="xalan" />
<src org="xerces" module="xerces" />
<src org="xercesjarv" module="xercesjarv" />
<src org="xml-apis" module="xml-apis" />
<src org="xml-resolver" module="xml-resolver" />
<src org="xml-security" module="xml-security" />
<src org="xmlbeans" module="xmlbeans" />
<src org="xmlrpc" module="xmlrpc" />
<dest org="apache" module="$m0"/>
</tosystem>
</rule>
</namespace>
</namespaces>
<resolvers>
<ibiblio name="ibiblio-maven"
root="${ibiblio-maven1-root}"
pattern="[module]/[type]s/[artifact]-[revision].[ext]"
m2compatible="false"
namespace="ibiblio-maven"
/>
</resolvers>
</ivysettings>

View File

@ -1,142 +1,142 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- you can override this property to use mirrors
http://mirrors.dotsrc.org/maven2
http://ftp.ggi-project.org/pub/packages/maven2
http://mirrors.sunsite.dk/maven2
http://public.planetmirror.com/pub/maven2
http://ibiblio.lsu.edu/main/pub/packages/maven2
http://www.ibiblio.net/pub/packages/maven2
-->
<property name="ibiblio-maven2-root" value="http://www.ibiblio.org/maven2/" override="false" />
<property name="ibiblio-maven2-pattern" value="[organisation]/[module]/[revision]/[module]-[revision].[ext]" override="false" />
<namespaces>
<namespace name="ibiblio-maven2">
<rule> <!-- imported apache maven1 projects -->
<fromsystem>
<src org="apache" module=".+"/>
<dest org="$m0" module="$m0"/>
</fromsystem>
<tosystem>
<src org="commons-.+" module="commons-.+" />
<src org="ant.*" module="ant.*" />
<src org="avalon-.+" module="avalon-.+" />
<src org="avalon" module="avalon" />
<src org="axis" module="axis" />
<src org="axis2" module="axis2" />
<src org="batik" module="batik" />
<src org="bcel" module="bcel" />
<src org="beehive" module="beehive" />
<src org="bsf" module="bsf" />
<src org="cactus" module="cactus" />
<src org="cocoon" module="cocoon" />
<src org="cornerstone-.+" module="cornerstone-.+" />
<src org="create-checksums" module="create-checksums" />
<src org="crimson" module="crimson" />
<src org="directory-.+" module="directory-.+" />
<src org="directory" module="directory" />
<src org="ecs" module="ecs" />
<src org="excalibur-.+" module="excalibur-.+" />
<src org="excalibur" module="excalibur" />
<src org="fop" module="fop" />
<src org="fulcrum" module="fulcrum" />
<src org="geronimo-.+" module="geronimo-.+" />
<src org="geronimo" module="geronimo" />
<src org="hivemind" module="hivemind" />
<src org="jakarta-regexp" module="jakarta-regexp" />
<src org="james" module="james" />
<src org="jaxme" module="jaxme" />
<src org="jcs-javagroups" module="jcs-javagroups" />
<src org="jcs" module="jcs" />
<src org="jspapi" module="jspapi" />
<src org="jstl" module="jstl" />
<src org="juddi" module="juddi" />
<src org="log4j" module="log4j" />
<src org="logkit" module="logkit" />
<src org="lucene" module="lucene" />
<src org="magicGball" module="magicGball" />
<src org="maven" module="maven" />
<src org="merlin-developer" module="merlin-developer" />
<src org="merlin" module="merlin" />
<src org="muse" module="muse" />
<src org="myfaces" module="myfaces" />
<src org="nekohtml" module="nekohtml" />
<src org="ojb" module="ojb" />
<src org="oro" module="oro" />
<src org="pluto-container" module="pluto-container" />
<src org="poi" module="poi" />
<src org="pubscribe" module="pubscribe" />
<src org="sandesha" module="sandesha" />
<src org="servletapi" module="servletapi" />
<src org="slide" module="slide" />
<src org="stratum" module="stratum" />
<src org="struts" module="struts" />
<src org="taglibs" module="taglibs" />
<src org="tapestry" module="tapestry" />
<src org="tomcat-util" module="tomcat-util" />
<src org="tomcat" module="tomcat" />
<src org="torque" module="torque" />
<src org="turbine" module="turbine" />
<src org="velocity-.+" module="velocity-.+" />
<src org="velocity" module="velocity" />
<src org="ws-commons.*" module="ws-commons.*" />
<src org="wsdl4j" module="wsdl4j" />
<src org="wsrf" module="wsrf" />
<src org="xalan" module="xalan" />
<src org="xerces" module="xerces" />
<src org="xercesjarv" module="xercesjarv" />
<src org="xml-apis" module="xml-apis" />
<src org="xml-resolver" module="xml-resolver" />
<src org="xml-security" module="xml-security" />
<src org="xmlbeans" module="xmlbeans" />
<src org="xmlrpc" module="xmlrpc" />
<dest org="apache" module="$m0"/>
</tosystem>
</rule>
<rule> <!-- new apache projects -->
<fromsystem>
<src org="apache" />
<dest org="org.apache"/>
</fromsystem>
<tosystem>
<src org="org.apache" />
<dest org="apache" />
</tosystem>
</rule>
</namespace>
</namespaces>
<resolvers>
<ibiblio name="ibiblio-maven2"
root="${ibiblio-maven2-root}"
pattern="${ibiblio-maven2-pattern}"
m2compatible="true"
namespace="ibiblio-maven2"
/>
<ibiblio name="ibiblio-maven2-nonamespace"
root="${ibiblio-maven2-root}"
pattern="${ibiblio-maven2-pattern}"
m2compatible="true"
/>
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<!-- you can override this property to use mirrors
http://mirrors.dotsrc.org/maven2
http://ftp.ggi-project.org/pub/packages/maven2
http://mirrors.sunsite.dk/maven2
http://public.planetmirror.com/pub/maven2
http://ibiblio.lsu.edu/main/pub/packages/maven2
http://www.ibiblio.net/pub/packages/maven2
-->
<property name="ibiblio-maven2-root" value="http://www.ibiblio.org/maven2/" override="false" />
<property name="ibiblio-maven2-pattern" value="[organisation]/[module]/[revision]/[module]-[revision].[ext]" override="false" />
<namespaces>
<namespace name="ibiblio-maven2">
<rule> <!-- imported apache maven1 projects -->
<fromsystem>
<src org="apache" module=".+"/>
<dest org="$m0" module="$m0"/>
</fromsystem>
<tosystem>
<src org="commons-.+" module="commons-.+" />
<src org="ant.*" module="ant.*" />
<src org="avalon-.+" module="avalon-.+" />
<src org="avalon" module="avalon" />
<src org="axis" module="axis" />
<src org="axis2" module="axis2" />
<src org="batik" module="batik" />
<src org="bcel" module="bcel" />
<src org="beehive" module="beehive" />
<src org="bsf" module="bsf" />
<src org="cactus" module="cactus" />
<src org="cocoon" module="cocoon" />
<src org="cornerstone-.+" module="cornerstone-.+" />
<src org="create-checksums" module="create-checksums" />
<src org="crimson" module="crimson" />
<src org="directory-.+" module="directory-.+" />
<src org="directory" module="directory" />
<src org="ecs" module="ecs" />
<src org="excalibur-.+" module="excalibur-.+" />
<src org="excalibur" module="excalibur" />
<src org="fop" module="fop" />
<src org="fulcrum" module="fulcrum" />
<src org="geronimo-.+" module="geronimo-.+" />
<src org="geronimo" module="geronimo" />
<src org="hivemind" module="hivemind" />
<src org="jakarta-regexp" module="jakarta-regexp" />
<src org="james" module="james" />
<src org="jaxme" module="jaxme" />
<src org="jcs-javagroups" module="jcs-javagroups" />
<src org="jcs" module="jcs" />
<src org="jspapi" module="jspapi" />
<src org="jstl" module="jstl" />
<src org="juddi" module="juddi" />
<src org="log4j" module="log4j" />
<src org="logkit" module="logkit" />
<src org="lucene" module="lucene" />
<src org="magicGball" module="magicGball" />
<src org="maven" module="maven" />
<src org="merlin-developer" module="merlin-developer" />
<src org="merlin" module="merlin" />
<src org="muse" module="muse" />
<src org="myfaces" module="myfaces" />
<src org="nekohtml" module="nekohtml" />
<src org="ojb" module="ojb" />
<src org="oro" module="oro" />
<src org="pluto-container" module="pluto-container" />
<src org="poi" module="poi" />
<src org="pubscribe" module="pubscribe" />
<src org="sandesha" module="sandesha" />
<src org="servletapi" module="servletapi" />
<src org="slide" module="slide" />
<src org="stratum" module="stratum" />
<src org="struts" module="struts" />
<src org="taglibs" module="taglibs" />
<src org="tapestry" module="tapestry" />
<src org="tomcat-util" module="tomcat-util" />
<src org="tomcat" module="tomcat" />
<src org="torque" module="torque" />
<src org="turbine" module="turbine" />
<src org="velocity-.+" module="velocity-.+" />
<src org="velocity" module="velocity" />
<src org="ws-commons.*" module="ws-commons.*" />
<src org="wsdl4j" module="wsdl4j" />
<src org="wsrf" module="wsrf" />
<src org="xalan" module="xalan" />
<src org="xerces" module="xerces" />
<src org="xercesjarv" module="xercesjarv" />
<src org="xml-apis" module="xml-apis" />
<src org="xml-resolver" module="xml-resolver" />
<src org="xml-security" module="xml-security" />
<src org="xmlbeans" module="xmlbeans" />
<src org="xmlrpc" module="xmlrpc" />
<dest org="apache" module="$m0"/>
</tosystem>
</rule>
<rule> <!-- new apache projects -->
<fromsystem>
<src org="apache" />
<dest org="org.apache"/>
</fromsystem>
<tosystem>
<src org="org.apache" />
<dest org="apache" />
</tosystem>
</rule>
</namespace>
</namespaces>
<resolvers>
<ibiblio name="ibiblio-maven2"
root="${ibiblio-maven2-root}"
pattern="${ibiblio-maven2-pattern}"
m2compatible="true"
namespace="ibiblio-maven2"
/>
<ibiblio name="ibiblio-maven2-nonamespace"
root="${ibiblio-maven2-root}"
pattern="${ibiblio-maven2-pattern}"
m2compatible="true"
/>
</resolvers>
</ivysettings>

View File

@ -1,39 +1,39 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.cache.dir}"
defaultResolver="local-repository"
defaultConflictManager="all" /> <!-- in order to get all revisions without any eviction -->
<include file="${ivy.settings.dir}/ivy-maven1-ivysettings.xml" />
<include file="${ivy.settings.dir}/ivy-maven2-ivysettings.xml" />
<resolvers>
<filesystem name="local-repository">
<ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
<chain name="libraries" returnFirst="false">
<resolver ref="local-repository" />
<ivyrep name="official-ivy-rep"/>
<resolver ref="ibiblio-maven2" />
</chain>
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.cache.dir}"
defaultResolver="local-repository"
defaultConflictManager="all" /> <!-- in order to get all revisions without any eviction -->
<include file="${ivy.settings.dir}/ivy-maven1-ivysettings.xml" />
<include file="${ivy.settings.dir}/ivy-maven2-ivysettings.xml" />
<resolvers>
<filesystem name="local-repository">
<ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
<chain name="libraries" returnFirst="false">
<resolver ref="local-repository" />
<ivyrep name="official-ivy-rep"/>
<resolver ref="ibiblio-maven2" />
</chain>
</resolvers>
</ivysettings>

View File

@ -1,30 +1,30 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.cache.dir}"
defaultResolver="libraries"
defaultConflictManager="all" /> <!-- in order to get all revisions without any eviction -->
<resolvers>
<ivyrep name="libraries" />
<filesystem name="local-repository">
<ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.cache.dir}"
defaultResolver="libraries"
defaultConflictManager="all" /> <!-- in order to get all revisions without any eviction -->
<resolvers>
<ivyrep name="libraries" />
<filesystem name="local-repository">
<ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
</resolvers>
</ivysettings>

View File

@ -1,33 +1,33 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.cache.dir}"
defaultResolver="local-repository"
defaultConflictManager="all" /> <!-- in order to get all revisions without any eviction -->
<include file="${ivy.settings.dir}/ivy-maven1-ivysettings.xml" />
<resolvers>
<resolver ref="ibiblio-maven"/>
<filesystem name="local-repository">
<ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.cache.dir}"
defaultResolver="local-repository"
defaultConflictManager="all" /> <!-- in order to get all revisions without any eviction -->
<include file="${ivy.settings.dir}/ivy-maven1-ivysettings.xml" />
<resolvers>
<resolver ref="ibiblio-maven"/>
<filesystem name="local-repository">
<ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
</resolvers>
</ivysettings>

View File

@ -1,33 +1,33 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.cache.dir}"
defaultResolver="local-repository"
defaultConflictManager="all" /> <!-- in order to get all revisions without any eviction -->
<include file="${ivy.settings.dir}/ivy-maven2-ivysettings.xml" />
<resolvers>
<resolver ref="ibiblio-maven2"/>
<filesystem name="local-repository">
<ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultCache="${ivy.cache.dir}"
defaultResolver="local-repository"
defaultConflictManager="all" /> <!-- in order to get all revisions without any eviction -->
<include file="${ivy.settings.dir}/ivy-maven2-ivysettings.xml" />
<resolvers>
<resolver ref="ibiblio-maven2"/>
<filesystem name="local-repository">
<ivy pattern="${dest.repo.dir}/[organisation]/[module]/ivys/ivy-[revision].xml"/>
<artifact pattern="${dest.repo.dir}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
</filesystem>
</resolvers>
</ivysettings>

View File

@ -1,36 +1,36 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project default="clean-all">
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean directories">
<ant dir="chainedresolvers-project" antfile="build.xml" target="clean" inheritall="false" inheritrefs="false" />
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
<target name="clean-all" depends="clean, clean-cache" description="--> clean directories and ivy cache"/>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project default="clean-all">
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean directories">
<ant dir="chainedresolvers-project" antfile="build.xml" target="clean" inheritall="false" inheritrefs="false" />
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
<target name="clean-all" depends="clean, clean-cache" description="--> clean directories and ivy cache"/>
</project>

View File

@ -1,81 +1,81 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="chainedresolvers-project" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="${basedir}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="src.dir" value="${basedir}/src" />
<!-- ivy properties used -->
<property name="ivy.settings.dir" value="../config" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${build.dir}" />
</path>
<ivy:settings file="${ivy.settings.dir}/ivysettings.xml" />
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<java classpathref="run.path.id" classname="example.Hello"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="chainedresolvers-project" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="${basedir}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="src.dir" value="${basedir}/src" />
<!-- ivy properties used -->
<property name="ivy.settings.dir" value="../config" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${build.dir}" />
</path>
<ivy:settings file="${ivy.settings.dir}/ivysettings.xml" />
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<java classpathref="run.path.id" classname="example.Hello"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
</project>

View File

@ -1,25 +1,25 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="chained-resolvers"/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.0"/>
<dependency name="test" rev="1.0"/>
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="chained-resolvers"/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.0"/>
<dependency name="test" rev="1.0"/>
</dependencies>
</ivy-module>

View File

@ -1,32 +1,32 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package example;
import org.apache.commons.lang.WordUtils;
/**
* Simple example world to show how easy it is to retreive libs with ivy !!!
*/
public class Hello {
public static void main(String[] args) {
String message = "example world !";
System.out.println("standard message :" + message);
System.out.println("capitalized by " + WordUtils.class.getName() + " : " + WordUtils.capitalizeFully(message));
System.out.println("upperCased by " + test.StringUtils.class.getName() + " : " + test.StringUtils.upperCase(message));
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package example;
import org.apache.commons.lang.WordUtils;
/**
* Simple example world to show how easy it is to retreive libs with ivy !!!
*/
public class Hello {
public static void main(String[] args) {
String message = "example world !";
System.out.println("standard message :" + message);
System.out.println("capitalized by " + WordUtils.class.getName() + " : " + WordUtils.capitalizeFully(message));
System.out.println("upperCased by " + test.StringUtils.class.getName() + " : " + test.StringUtils.upperCase(message));
}
}

View File

@ -1,29 +1,29 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultResolver="chain-example"/>
<resolvers>
<chain name="chain-example">
<filesystem name="libraries">
<artifact pattern="${ivy.settings.dir}/repository/[artifact]-[revision].[ext]" />
</filesystem>
<ibiblio name="ibiblio" />
</chain>
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultResolver="chain-example"/>
<resolvers>
<chain name="chain-example">
<filesystem name="libraries">
<artifact pattern="${ivy.settings.dir}/repository/[artifact]-[revision].[ext]" />
</filesystem>
<ibiblio name="ibiblio" />
</chain>
</resolvers>
</ivysettings>

View File

@ -1,97 +1,97 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="configurations" default="run.dev" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- paths used for compilation and run -->
<path id="compile.path.id">
<fileset dir="${lib.dir}/compile" />
</path>
<path id="lib.run.dev.id">
<path location="${build.dir}" />
<fileset dir="${lib.dir}/rundev" />
</path>
<path id="lib.run.prod.id">
<path location="${build.dir}" />
<fileset dir="${lib.dir}/runprod" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<!-- conf="*" will copie artifacts defined for each conf in a dir matching conf name -->
<ivy:retrieve pattern="${ivy.lib.dir}/[conf]/[artifact]-[revision].[ext]"/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run.dev
================================= -->
<target name="run.dev" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.run.dev.id" />
<copy todir="${build.dir}">
<fileset dir="${src.dir}" includes="**/*.properties"></fileset>
</copy>
<java classpathref="lib.run.dev.id" classname="example.ConfigurationsExample" fork="true">
<arg value="--dev"/>
</java>
</target>
<!-- =================================
target: run.prod
================================= -->
<target name="run.prod" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.run.prod.id"/>
<copy todir="${build.dir}">
<fileset dir="${src.dir}" includes="**/*.properties"></fileset>
</copy>
<java classpathref="lib.run.prod.id" classname="example.ConfigurationsExample" fork="true" />
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="configurations" default="run.dev" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- paths used for compilation and run -->
<path id="compile.path.id">
<fileset dir="${lib.dir}/compile" />
</path>
<path id="lib.run.dev.id">
<path location="${build.dir}" />
<fileset dir="${lib.dir}/rundev" />
</path>
<path id="lib.run.prod.id">
<path location="${build.dir}" />
<fileset dir="${lib.dir}/runprod" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<!-- conf="*" will copie artifacts defined for each conf in a dir matching conf name -->
<ivy:retrieve pattern="${ivy.lib.dir}/[conf]/[artifact]-[revision].[ext]"/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run.dev
================================= -->
<target name="run.dev" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.run.dev.id" />
<copy todir="${build.dir}">
<fileset dir="${src.dir}" includes="**/*.properties"></fileset>
</copy>
<java classpathref="lib.run.dev.id" classname="example.ConfigurationsExample" fork="true">
<arg value="--dev"/>
</java>
</target>
<!-- =================================
target: run.prod
================================= -->
<target name="run.prod" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.run.prod.id"/>
<copy todir="${build.dir}">
<fileset dir="${src.dir}" includes="**/*.properties"></fileset>
</copy>
<java classpathref="lib.run.prod.id" classname="example.ConfigurationsExample" fork="true" />
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
</project>

View File

@ -1,44 +1,44 @@
<?xml-stylesheet type="text/xsl" href="http://www.ivyrep.org/ivy-doc.xsl"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="configurations" >
<description>
This is an example project that aims to demonstrate the usage of the configuration in ivy.
This project provide 4 configurations. Each configurations describe the requirement to build or run the project
</description>
</info>
<configurations>
<conf name="compile" description="This is this configuration that describes modules need to build our project"/>
<conf name="test" extends="compile" description="This is this configuration that describes modules need to run test on our project"/>
<conf name="rundev" extends="compile" description="This is this configuration that describes modules need to execute our project in a dev environement"/>
<conf name="runprod" extends="compile" description="This is this configuration that describes modules need to execute our project in a production environement"/>
</configurations>
<dependencies>
<!-- this dependency is needed for all configuration -->
<dependency org="apache" name="commons-cli" rev="1.0" />
<!-- when launching our app in dev mode we use mckoi db and mckoi jdbc client conf="run.dev->embedded, client"-->
<dependency org="mckoi" name="mckoi" rev="1.0.2" conf="rundev->default"/>
<!-- when launching our app in production environement we needs other jdbc driver -->
<dependency org="mm-mysql" name="mm-mysql" rev="2.0.7" conf="runprod->default"/>
<!-- junit is only need in the test configuration-->
<dependency org="junit" name="junit" rev="3.8" conf="test->default"/>
</dependencies>
</ivy-module>
<?xml-stylesheet type="text/xsl" href="http://www.ivyrep.org/ivy-doc.xsl"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="configurations" >
<description>
This is an example project that aims to demonstrate the usage of the configuration in ivy.
This project provide 4 configurations. Each configurations describe the requirement to build or run the project
</description>
</info>
<configurations>
<conf name="compile" description="This is this configuration that describes modules need to build our project"/>
<conf name="test" extends="compile" description="This is this configuration that describes modules need to run test on our project"/>
<conf name="rundev" extends="compile" description="This is this configuration that describes modules need to execute our project in a dev environement"/>
<conf name="runprod" extends="compile" description="This is this configuration that describes modules need to execute our project in a production environement"/>
</configurations>
<dependencies>
<!-- this dependency is needed for all configuration -->
<dependency org="apache" name="commons-cli" rev="1.0" />
<!-- when launching our app in dev mode we use mckoi db and mckoi jdbc client conf="run.dev->embedded, client"-->
<dependency org="mckoi" name="mckoi" rev="1.0.2" conf="rundev->default"/>
<!-- when launching our app in production environement we needs other jdbc driver -->
<dependency org="mm-mysql" name="mm-mysql" rev="2.0.7" conf="runprod->default"/>
<!-- junit is only need in the test configuration-->
<dependency org="junit" name="junit" rev="3.8" conf="test->default"/>
</dependencies>
</ivy-module>

View File

@ -1,19 +1,19 @@
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
driver.class=com.mckoi.JDBCDriver
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
driver.class=com.mckoi.JDBCDriver

View File

@ -1,61 +1,61 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package example;
import java.io.IOException;
import java.util.Properties;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
public class ConfigurationsExample {
public static void main(String[] args) {
String jdbcPropToLoad = "prod.properties";
CommandLineParser parser = new PosixParser();
Options options = new Options();
options.addOption("d", "dev", false, "Dev tag to launch app in dev mode. Means that app will launch embedded mckoi db.");
try {
CommandLine line = parser.parse( options, args );
if(line.hasOption("d")) {
System.err.println("App is in DEV mode");
jdbcPropToLoad = "dev.properties";
}
}
catch( ParseException exp ) {
System.err.println( "Parsing failed. Reason: " + exp.getMessage() );
}
Properties p = new Properties();
try {
p.load(ConfigurationsExample.class.getResourceAsStream("/"+jdbcPropToLoad));
} catch (IOException e) {
System.err.println( "Properties loading failed. Reason: " + e.getMessage());
}
try {
String clazz = p.getProperty("driver.class");
Class.forName(clazz);
System.out.println(" Jdbc driver loaded :"+clazz);
} catch (ClassNotFoundException e) {
System.err.println( "Jdbc Driver class loading failed. Reason: " + e.getMessage());
e.printStackTrace();
}
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package example;
import java.io.IOException;
import java.util.Properties;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
public class ConfigurationsExample {
public static void main(String[] args) {
String jdbcPropToLoad = "prod.properties";
CommandLineParser parser = new PosixParser();
Options options = new Options();
options.addOption("d", "dev", false, "Dev tag to launch app in dev mode. Means that app will launch embedded mckoi db.");
try {
CommandLine line = parser.parse( options, args );
if(line.hasOption("d")) {
System.err.println("App is in DEV mode");
jdbcPropToLoad = "dev.properties";
}
}
catch( ParseException exp ) {
System.err.println( "Parsing failed. Reason: " + exp.getMessage() );
}
Properties p = new Properties();
try {
p.load(ConfigurationsExample.class.getResourceAsStream("/"+jdbcPropToLoad));
} catch (IOException e) {
System.err.println( "Properties loading failed. Reason: " + e.getMessage());
}
try {
String clazz = p.getProperty("driver.class");
Class.forName(clazz);
System.out.println(" Jdbc driver loaded :"+clazz);
} catch (ClassNotFoundException e) {
System.err.println( "Jdbc Driver class loading failed. Reason: " + e.getMessage());
e.printStackTrace();
}
}
}

View File

@ -1,19 +1,19 @@
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
driver.class=org.gjt.mm.mysql.Driver
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
driver.class=org.gjt.mm.mysql.Driver

View File

@ -1,130 +1,130 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="filter-framework" default="publish" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="distrib.dir" location="distrib" />
<property name="src.dir" value="src" />
<property name="test.dir" value="test" />
<property name="build.test.dir" value="${build.dir}/test-classes" />
<property name="report.test.dir" value="${build.dir}/test-report" />
<property name="revision" value="1.3" />
<!-- paths used for compilation and run -->
<path id="compile.path.id">
<fileset dir="${lib.dir}/cc-Impl" />
</path>
<path id="test.path.id">
<path location="${build.dir}" />
<path location="${build.test.dir}" />
<fileset dir="${lib.dir}/test" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<!-- conf="*" will copie artifacts defined for each conf in a dir matching conf name -->
<ivy:retrieve pattern="${ivy.lib.dir}/[conf]/[artifact]-[revision].[ext]"/>
</target>
<!-- =================================
target: build
================================= -->
<target name="build" depends="clean, resolve" description="--> compile and jar project">
<mkdir dir="${build.dir}" />
<mkdir dir="${distrib.dir}"/>
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="compile.path.id"/>
<jar destfile="${distrib.dir}/filter-api.jar" >
<fileset dir="${build.dir}">
<include name="filter/*.class"/>
</fileset>
</jar>
<jar destfile="${distrib.dir}/filter-hmimpl.jar" >
<fileset dir="${build.dir}">
<include name="filter/hmimpl/*.class"/>
</fileset>
</jar>
<jar destfile="${distrib.dir}/filter-ccimpl.jar" >
<fileset dir="${build.dir}">
<include name="filter/ccimpl/*.class"/>
</fileset>
</jar>
</target>
<!-- =================================
target: test
================================= -->
<target name="test" depends="build" description="--> compile and test the project">
<mkdir dir="${report.test.dir}"/>
<mkdir dir="${build.test.dir}"/>
<javac srcdir="${test.dir}" destdir="${build.test.dir}" classpathref="test.path.id"/>
<junit printsummary="yes" fork="yes" haltonfailure="yes" >
<classpath refid="test.path.id"/>
<formatter type="plain"/>
<batchtest todir="${report.test.dir}" >
<fileset dir="${build.test.dir}">
<include name="**/**Test.*"/>
</fileset>
</batchtest>
</junit>
</target>
<!-- =================================
target: publish
================================= -->
<target name="publish" depends="test" description="--> compile test and publish this project in the local ivy repository">
<property name="revision" value="${revision}"/>
<ivy:publish artifactspattern="${distrib.dir}/[artifact].[ext]"
resolver="local"
pubrevision="${revision}"
status="release"/>
<echo message="project ${ant.project.name} released with version ${revision}" />
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="test/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
<exclude name=".*" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="filter-framework" default="publish" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="distrib.dir" location="distrib" />
<property name="src.dir" value="src" />
<property name="test.dir" value="test" />
<property name="build.test.dir" value="${build.dir}/test-classes" />
<property name="report.test.dir" value="${build.dir}/test-report" />
<property name="revision" value="1.3" />
<!-- paths used for compilation and run -->
<path id="compile.path.id">
<fileset dir="${lib.dir}/cc-Impl" />
</path>
<path id="test.path.id">
<path location="${build.dir}" />
<path location="${build.test.dir}" />
<fileset dir="${lib.dir}/test" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<!-- conf="*" will copie artifacts defined for each conf in a dir matching conf name -->
<ivy:retrieve pattern="${ivy.lib.dir}/[conf]/[artifact]-[revision].[ext]"/>
</target>
<!-- =================================
target: build
================================= -->
<target name="build" depends="clean, resolve" description="--> compile and jar project">
<mkdir dir="${build.dir}" />
<mkdir dir="${distrib.dir}"/>
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="compile.path.id"/>
<jar destfile="${distrib.dir}/filter-api.jar" >
<fileset dir="${build.dir}">
<include name="filter/*.class"/>
</fileset>
</jar>
<jar destfile="${distrib.dir}/filter-hmimpl.jar" >
<fileset dir="${build.dir}">
<include name="filter/hmimpl/*.class"/>
</fileset>
</jar>
<jar destfile="${distrib.dir}/filter-ccimpl.jar" >
<fileset dir="${build.dir}">
<include name="filter/ccimpl/*.class"/>
</fileset>
</jar>
</target>
<!-- =================================
target: test
================================= -->
<target name="test" depends="build" description="--> compile and test the project">
<mkdir dir="${report.test.dir}"/>
<mkdir dir="${build.test.dir}"/>
<javac srcdir="${test.dir}" destdir="${build.test.dir}" classpathref="test.path.id"/>
<junit printsummary="yes" fork="yes" haltonfailure="yes" >
<classpath refid="test.path.id"/>
<formatter type="plain"/>
<batchtest todir="${report.test.dir}" >
<fileset dir="${build.test.dir}">
<include name="**/**Test.*"/>
</fileset>
</batchtest>
</junit>
</target>
<!-- =================================
target: publish
================================= -->
<target name="publish" depends="test" description="--> compile test and publish this project in the local ivy repository">
<property name="revision" value="${revision}"/>
<ivy:publish artifactspattern="${distrib.dir}/[artifact].[ext]"
resolver="local"
pubrevision="${revision}"
status="release"/>
<echo message="project ${ant.project.name} released with version ${revision}" />
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="test/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
<exclude name=".*" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
</project>

View File

@ -1,36 +1,36 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="filter-framework"/>
<configurations>
<conf name="api" description="only provide filter framework API"/>
<conf name="homemade-impl" extends="api" description="provide a home made implementation of our api"/>
<conf name="cc-impl" extends="api" description="provide an implementation that use apache common collection framework"/>
<conf name="test" extends="cc-impl" visibility="private" description="for testing our framework"/>
</configurations>
<publications>
<artifact name="filter-api" type="jar" conf="api" ext="jar"/>
<artifact name="filter-hmimpl" type="jar" conf="homemade-impl" ext="jar"/>
<artifact name="filter-ccimpl" type="jar" conf="cc-impl" ext="jar"/>
</publications>
<dependencies>
<dependency org="apache" name="commons-collections" rev="3.1" conf="cc-impl->default"/>
<dependency org="junit" name="junit" rev="3.8" conf="test->default"/>
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="filter-framework"/>
<configurations>
<conf name="api" description="only provide filter framework API"/>
<conf name="homemade-impl" extends="api" description="provide a home made implementation of our api"/>
<conf name="cc-impl" extends="api" description="provide an implementation that use apache common collection framework"/>
<conf name="test" extends="cc-impl" visibility="private" description="for testing our framework"/>
</configurations>
<publications>
<artifact name="filter-api" type="jar" conf="api" ext="jar"/>
<artifact name="filter-hmimpl" type="jar" conf="homemade-impl" ext="jar"/>
<artifact name="filter-ccimpl" type="jar" conf="cc-impl" ext="jar"/>
</publications>
<dependencies>
<dependency org="apache" name="commons-collections" rev="3.1" conf="cc-impl->default"/>
<dependency org="junit" name="junit" rev="3.8" conf="test->default"/>
</dependencies>
</ivy-module>

View File

@ -1,37 +1,37 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter;
public class FilterProvider {
public static IFilter getFilter() {
try {
Class clazz = Class.forName("filter.ccimpl.CCFilter");
return (IFilter) clazz.newInstance();
} catch (Exception e) {
try {
Class clazz = Class.forName("filter.hmimpl.HMFilter");
return (IFilter) clazz.newInstance();
} catch (Exception e1) {
System.err.println("No filter implementation found in classpath !");
}
return null;
}
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter;
public class FilterProvider {
public static IFilter getFilter() {
try {
Class clazz = Class.forName("filter.ccimpl.CCFilter");
return (IFilter) clazz.newInstance();
} catch (Exception e) {
try {
Class clazz = Class.forName("filter.hmimpl.HMFilter");
return (IFilter) clazz.newInstance();
} catch (Exception e1) {
System.err.println("No filter implementation found in classpath !");
}
return null;
}
}
}

View File

@ -1,22 +1,22 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter;
public interface IFilter {
String[] filter(String[] values, String prefix);
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter;
public interface IFilter {
String[] filter(String[] values, String prefix);
}

View File

@ -1,45 +1,45 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter.ccimpl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;
import filter.IFilter;
public class CCFilter implements IFilter {
public String[] filter(String[] values, final String prefix) {
if(values == null) {
return null;
}
if(prefix == null) {
return values;
}
List result = new ArrayList(Arrays.asList(values));
CollectionUtils.filter(result, new Predicate() {
public boolean evaluate(Object o) {
return o!= null && o.toString().startsWith(prefix);
}
});
return (String[]) result.toArray(new String[result.size()]);
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter.ccimpl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;
import filter.IFilter;
public class CCFilter implements IFilter {
public String[] filter(String[] values, final String prefix) {
if(values == null) {
return null;
}
if(prefix == null) {
return values;
}
List result = new ArrayList(Arrays.asList(values));
CollectionUtils.filter(result, new Predicate() {
public boolean evaluate(Object o) {
return o!= null && o.toString().startsWith(prefix);
}
});
return (String[]) result.toArray(new String[result.size()]);
}
}

View File

@ -1,42 +1,42 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter.hmimpl;
import java.util.ArrayList;
import java.util.List;
import filter.IFilter;
public class HMFilter implements IFilter {
public String[] filter(String[] values, String prefix) {
if(values == null) {
return null;
}
if(prefix == null) {
return values;
}
List result = new ArrayList();
for (int i = 0; i < values.length; i++) {
String string = values[i];
if(string != null && string.startsWith(prefix)) {
result.add(string);
}
}
return (String[]) result.toArray(new String[result.size()]);
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter.hmimpl;
import java.util.ArrayList;
import java.util.List;
import filter.IFilter;
public class HMFilter implements IFilter {
public String[] filter(String[] values, String prefix) {
if(values == null) {
return null;
}
if(prefix == null) {
return values;
}
List result = new ArrayList();
for (int i = 0; i < values.length; i++) {
String string = values[i];
if(string != null && string.startsWith(prefix)) {
result.add(string);
}
}
return (String[]) result.toArray(new String[result.size()]);
}
}

View File

@ -1,70 +1,70 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter;
import junit.framework.TestCase;
public abstract class AbstractTestFilter extends TestCase {
public void testFilterNull() {
Exception err = null;
try {
getIFilter().filter(null, null);
} catch (NullPointerException npe) {
err = npe;
}
assertNull(err);
}
/**
* @return
*/
public abstract IFilter getIFilter() ;
public void testFilterNullValues() {
Exception err = null;
try {
getIFilter().filter(null, "test");
} catch (NullPointerException npe) {
err = npe;
}
assertNull(err);
}
public void testFilterNullPrefix() {
Exception err = null;
try {
getIFilter().filter(new String[]{"test"}, null);
} catch (NullPointerException npe) {
err = npe;
}
assertNull(err);
}
public void testFilter() {
String[] result = getIFilter().filter(new String[]{"test", "nogood", "mustbe filtered"}, "t");
assertNotNull(result);
assertEquals(result.length, 1);
}
public void testFilterWithNullValues() {
String[] result = getIFilter().filter(new String[]{"test", null, "mustbe filtered"}, "t");
assertNotNull(result);
assertEquals(result.length, 1);
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter;
import junit.framework.TestCase;
public abstract class AbstractTestFilter extends TestCase {
public void testFilterNull() {
Exception err = null;
try {
getIFilter().filter(null, null);
} catch (NullPointerException npe) {
err = npe;
}
assertNull(err);
}
/**
* @return
*/
public abstract IFilter getIFilter() ;
public void testFilterNullValues() {
Exception err = null;
try {
getIFilter().filter(null, "test");
} catch (NullPointerException npe) {
err = npe;
}
assertNull(err);
}
public void testFilterNullPrefix() {
Exception err = null;
try {
getIFilter().filter(new String[]{"test"}, null);
} catch (NullPointerException npe) {
err = npe;
}
assertNull(err);
}
public void testFilter() {
String[] result = getIFilter().filter(new String[]{"test", "nogood", "mustbe filtered"}, "t");
assertNotNull(result);
assertEquals(result.length, 1);
}
public void testFilterWithNullValues() {
String[] result = getIFilter().filter(new String[]{"test", null, "mustbe filtered"}, "t");
assertNotNull(result);
assertEquals(result.length, 1);
}
}

View File

@ -1,27 +1,27 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter.ccimpl;
import filter.AbstractTestFilter;
import filter.IFilter;
public class CCFilterTest extends AbstractTestFilter {
public IFilter getIFilter() {
return new CCFilter();
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter.ccimpl;
import filter.AbstractTestFilter;
import filter.IFilter;
public class CCFilterTest extends AbstractTestFilter {
public IFilter getIFilter() {
return new CCFilter();
}
}

View File

@ -1,27 +1,27 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter.hmimpl;
import filter.AbstractTestFilter;
import filter.IFilter;
public class HMFilterTest extends AbstractTestFilter {
public IFilter getIFilter() {
return new HMFilter();
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package filter.hmimpl;
import filter.AbstractTestFilter;
import filter.IFilter;
public class HMFilterTest extends AbstractTestFilter {
public IFilter getIFilter() {
return new HMFilter();
}
}

View File

@ -1,93 +1,93 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="myapp" default="run-cc" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}/build" />
</path>
<path id="run.hm.path.id">
<path location="${build.dir}" />
<fileset dir="${lib.dir}/noexternaljar" />
</path>
<path id="run.cc.path.id">
<path location="${build.dir}" />
<fileset dir="${lib.dir}/withexternaljar" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve pattern="${ivy.lib.dir}/[conf]/[artifact].[ext]"/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: build
================================= -->
<target name="build" depends="resolve" description="--> compile the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
</target>
<!-- =================================
target: run with ome made implementation
================================= -->
<target name="run-hm" depends="build" description="--> run the project with ome made implementation">
<java classpathref="run.hm.path.id" classname="myapp.Main" fork="true"/>
</target>
<!-- =================================
target: run with ext lib implementation
================================= -->
<target name="run-cc" depends="build" description="--> run the project with ext lib implementation">
<java classpathref="run.cc.path.id" classname="myapp.Main" fork="true"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
<exclude name=".*" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="myapp" default="run-cc" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}/build" />
</path>
<path id="run.hm.path.id">
<path location="${build.dir}" />
<fileset dir="${lib.dir}/noexternaljar" />
</path>
<path id="run.cc.path.id">
<path location="${build.dir}" />
<fileset dir="${lib.dir}/withexternaljar" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve pattern="${ivy.lib.dir}/[conf]/[artifact].[ext]"/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: build
================================= -->
<target name="build" depends="resolve" description="--> compile the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
</target>
<!-- =================================
target: run with ome made implementation
================================= -->
<target name="run-hm" depends="build" description="--> run the project with ome made implementation">
<java classpathref="run.hm.path.id" classname="myapp.Main" fork="true"/>
</target>
<!-- =================================
target: run with ext lib implementation
================================= -->
<target name="run-cc" depends="build" description="--> run the project with ext lib implementation">
<java classpathref="run.cc.path.id" classname="myapp.Main" fork="true"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
<exclude name=".*" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
</project>

View File

@ -1,31 +1,31 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="myapp"/>
<configurations>
<conf name="build" visibility="private" description="compilation only need api jar" />
<conf name="noexternaljar" description="use only company jar" />
<conf name="withexternaljar" description="use company jar and third party jars" />
</configurations>
<dependencies>
<dependency org="apache" name="filter-framework" rev="latest.integration" conf="build->api; noexternaljar->homemade-impl; withexternaljar->cc-impl"/>
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="myapp"/>
<configurations>
<conf name="build" visibility="private" description="compilation only need api jar" />
<conf name="noexternaljar" description="use only company jar" />
<conf name="withexternaljar" description="use company jar and third party jars" />
</configurations>
<dependencies>
<dependency org="apache" name="filter-framework" rev="latest.integration" conf="build->api; noexternaljar->homemade-impl; withexternaljar->cc-impl"/>
</dependencies>
</ivy-module>

View File

@ -1,33 +1,33 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package myapp;
import java.util.Arrays;
import filter.FilterProvider;
import filter.IFilter;
public class Main {
public static void main(String[] args) {
String toFilter[] = new String[]{"one", "two", "tree", "four"};
IFilter filter = FilterProvider.getFilter();
System.out.println("Filtering with:"+filter.getClass());
String filtered[] = filter.filter(toFilter, "t");
System.out.println("Result :"+Arrays.asList(filtered));
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package myapp;
import java.util.Arrays;
import filter.FilterProvider;
import filter.IFilter;
public class Main {
public static void main(String[] args) {
String toFilter[] = new String[]{"one", "two", "tree", "four"};
IFilter filter = FilterProvider.getFilter();
System.out.println("Filtering with:"+filter.getClass());
String filtered[] = filter.filter(toFilter, "t");
System.out.println("Result :"+Arrays.asList(filtered));
}
}

View File

@ -1,42 +1,42 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project default="clean">
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean directories">
<delete includeemptydirs="true">
<fileset dir="config" excludes="ivysettings.*" />
</delete>
<ant dir="standalone" antfile="build.xml" target="clean" inheritall="false" inheritrefs="false" />
<ant dir="depending" antfile="build.xml" target="clean" inheritall="false" inheritrefs="false" />
</target>
<!-- =================================
target: all
================================= -->
<target name="all" depends="clean" description="--> make the whole example of dependency">
<ant dir="standalone" antfile="build.xml" target="publish" inheritall="false" inheritrefs="false" />
<ant dir="depending" antfile="build.xml" inheritall="false" inheritrefs="false" />
<ant dir="standalone" antfile="build.xml" target="publish" inheritall="false" inheritrefs="false" />
<ant dir="depending" antfile="build.xml" inheritall="false" inheritrefs="false" />
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project default="clean">
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean directories">
<delete includeemptydirs="true">
<fileset dir="config" excludes="ivysettings.*" />
</delete>
<ant dir="standalone" antfile="build.xml" target="clean" inheritall="false" inheritrefs="false" />
<ant dir="depending" antfile="build.xml" target="clean" inheritall="false" inheritrefs="false" />
</target>
<!-- =================================
target: all
================================= -->
<target name="all" depends="clean" description="--> make the whole example of dependency">
<ant dir="standalone" antfile="build.xml" target="publish" inheritall="false" inheritrefs="false" />
<ant dir="depending" antfile="build.xml" inheritall="false" inheritrefs="false" />
<ant dir="standalone" antfile="build.xml" target="publish" inheritall="false" inheritrefs="false" />
<ant dir="depending" antfile="build.xml" inheritall="false" inheritrefs="false" />
</target>
</project>

View File

@ -1,19 +1,19 @@
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
repository.dir=${ivy.settings.dir}/repository
# ***************************************************************
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing,
# * software distributed under the License is distributed on an
# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# * KIND, either express or implied. See the License for the
# * specific language governing permissions and limitations
# * under the License.
# ***************************************************************
repository.dir=${ivy.settings.dir}/repository

View File

@ -1,32 +1,32 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<properties file="${ivy.settings.dir}/ivysettings.properties"/>
<settings defaultCache="${ivy.settings.dir}/ivy-cache" defaultResolver="libraries"/>
<resolvers>
<filesystem name="projects">
<artifact pattern="${repository.dir}/[artifact]-[revision].[ext]" />
<ivy pattern="${repository.dir}/[module]-[revision].xml" />
</filesystem>
<ivyrep name="libraries" />
</resolvers>
<modules>
<module organisation="apache" name="standalone" resolver="projects"/>
</modules>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<properties file="${ivy.settings.dir}/ivysettings.properties"/>
<settings defaultCache="${ivy.settings.dir}/ivy-cache" defaultResolver="libraries"/>
<resolvers>
<filesystem name="projects">
<artifact pattern="${repository.dir}/[artifact]-[revision].[ext]" />
<ivy pattern="${repository.dir}/[module]-[revision].xml" />
</filesystem>
<ivyrep name="libraries" />
</resolvers>
<modules>
<module organisation="apache" name="standalone" resolver="projects"/>
</modules>
</ivysettings>

View File

@ -1,93 +1,93 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="depending" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="${basedir}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="src.dir" value="${basedir}/src" />
<!-- ivy properties used -->
<property name="ivy.settings.dir" value="../config" />
<property file="${ivy.settings.dir}/ivysettings.properties" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${classes.dir}" />
</path>
<ivy:settings file="${ivy.settings.dir}/ivysettings.xml" />
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve />
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}" dot="true"/>
</target>
<!-- =================================
target: gen-graph
================================= -->
<target name="gen-graph" depends="report" description="--> generates a graph of dependencies (requires dot in your path - see http://www.graphviz.org/)">
<property name="dot.file" value="${build.dir}/apache-depending-default.dot" />
<property name="ivygraph.output.file" value="${build.dir}/graph.png" />
<exec executable="dot">
<arg line="-T png -o ${ivygraph.output.file} ${dot.file}" />
</exec>
</target>
<!-- =================================
target: compile
================================= -->
<target name="compile" depends="resolve" description="--> description">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="lib.path.id" />
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="clean, compile" description="--> compile and run the project">
<java classpathref="run.path.id" classname="depending.Main"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="depending" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="${basedir}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="src.dir" value="${basedir}/src" />
<!-- ivy properties used -->
<property name="ivy.settings.dir" value="../config" />
<property file="${ivy.settings.dir}/ivysettings.properties" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${classes.dir}" />
</path>
<ivy:settings file="${ivy.settings.dir}/ivysettings.xml" />
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve />
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}" dot="true"/>
</target>
<!-- =================================
target: gen-graph
================================= -->
<target name="gen-graph" depends="report" description="--> generates a graph of dependencies (requires dot in your path - see http://www.graphviz.org/)">
<property name="dot.file" value="${build.dir}/apache-depending-default.dot" />
<property name="ivygraph.output.file" value="${build.dir}/graph.png" />
<exec executable="dot">
<arg line="-T png -o ${ivygraph.output.file} ${dot.file}" />
</exec>
</target>
<!-- =================================
target: compile
================================= -->
<target name="compile" depends="resolve" description="--> description">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="lib.path.id" />
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="clean, compile" description="--> compile and run the project">
<java classpathref="run.path.id" classname="depending.Main"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
</project>

View File

@ -1,24 +1,24 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="depending"/>
<dependencies>
<dependency name="standalone" rev="latest.integration" />
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="depending"/>
<dependencies>
<dependency name="standalone" rev="latest.integration" />
</dependencies>
</ivy-module>

View File

@ -1,35 +1,35 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package depending;
/**
* TODO write javadoc
*/
public class Main {
public static void main(String[] args) {
String standaloneVersion = standalone.Main.getVersion();
if (standaloneVersion!=null) {
System.out.println("you are using version " + standaloneVersion + " of class " + standalone.Main.class.getName());
} else {
System.err.println("failed to get version of " + standalone.Main.class.getName());
}
String message = "i am " + Main.class.getName() + " and " + standalone.Main.class.getName() + " will do the job for me";
System.out.println("standard message : " + message);
System.out.println("capitalized message : " + standalone.Main.capitalizeWords(message));
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package depending;
/**
* TODO write javadoc
*/
public class Main {
public static void main(String[] args) {
String standaloneVersion = standalone.Main.getVersion();
if (standaloneVersion!=null) {
System.out.println("you are using version " + standaloneVersion + " of class " + standalone.Main.class.getName());
} else {
System.err.println("failed to get version of " + standalone.Main.class.getName());
}
String message = "i am " + Main.class.getName() + " and " + standalone.Main.class.getName() + " will do the job for me";
System.out.println("standard message : " + message);
System.out.println("capitalized message : " + standalone.Main.capitalizeWords(message));
}
}

View File

@ -1,110 +1,110 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="standalone" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="${basedir}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="src.dir" value="${basedir}/src" />
<!-- ivy properties used -->
<property name="ivy.settings.dir" value="../config" />
<property file="${ivy.settings.dir}/ivysettings.properties" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${classes.dir}" />
</path>
<ivy:settings id="ivy.instance" file="${ivy.settings.dir}/ivysettings.xml" />
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve />
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: compile
================================= -->
<target name="compile" depends="resolve" description="--> description">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="lib.path.id" />
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="compile" description="--> compile and run the project">
<java classpathref="run.path.id" classname="standalone.Main"/>
</target>
<!-- =================================
target: jar
================================= -->
<target name="jar" depends="compile" description="--> make a jar file for this project">
<propertyfile file="${classes.dir}/version.properties">
<entry key="version" type="int" operation="+" default="0" />
</propertyfile>
<property file="${classes.dir}/version.properties" />
<jar destfile="${build.dir}/${ant.project.name}.jar">
<fileset dir="${classes.dir}" />
</jar>
</target>
<!-- =================================
target: publish
================================= -->
<target name="publish" depends="jar" description="--> publish this project in the ivy repository">
<property name="revision" value="${version}"/>
<delete file="${build.dir}/ivy.xml"/>
<ivy:publish artifactspattern="${build.dir}/[artifact].[ext]"
resolver="projects"
pubrevision="${revision}"
status="release"
/>
<echo message="project ${ant.project.name} released with version ${revision}" />
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="standalone" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="${basedir}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="src.dir" value="${basedir}/src" />
<!-- ivy properties used -->
<property name="ivy.settings.dir" value="../config" />
<property file="${ivy.settings.dir}/ivysettings.properties" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${classes.dir}" />
</path>
<ivy:settings id="ivy.instance" file="${ivy.settings.dir}/ivysettings.xml" />
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve />
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: compile
================================= -->
<target name="compile" depends="resolve" description="--> description">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="lib.path.id" />
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="compile" description="--> compile and run the project">
<java classpathref="run.path.id" classname="standalone.Main"/>
</target>
<!-- =================================
target: jar
================================= -->
<target name="jar" depends="compile" description="--> make a jar file for this project">
<propertyfile file="${classes.dir}/version.properties">
<entry key="version" type="int" operation="+" default="0" />
</propertyfile>
<property file="${classes.dir}/version.properties" />
<jar destfile="${build.dir}/${ant.project.name}.jar">
<fileset dir="${classes.dir}" />
</jar>
</target>
<!-- =================================
target: publish
================================= -->
<target name="publish" depends="jar" description="--> publish this project in the ivy repository">
<property name="revision" value="${version}"/>
<delete file="${build.dir}/ivy.xml"/>
<ivy:publish artifactspattern="${build.dir}/[artifact].[ext]"
resolver="projects"
pubrevision="${revision}"
status="release"
/>
<echo message="project ${ant.project.name} released with version ${revision}" />
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
</project>

View File

@ -1,24 +1,24 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="standalone"/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.0"/>
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="standalone"/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.0"/>
</dependencies>
</ivy-module>

View File

@ -1,60 +1,60 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package standalone;
import java.util.Properties;
import org.apache.commons.lang.WordUtils;
/**
* TODO write javadoc
*/
public class Main {
/**
* Returns the version of the project
* @return a string representation of the version, null if the version could not be retreived
*/
public static String getVersion() {
Properties p = new Properties();
try {
p.load(Main.class.getResourceAsStream("/version.properties"));
String version = p.getProperty("version");
if (version != null) {
return String.valueOf(Integer.parseInt(version));
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* Return the same string with all words capitalized.
* @param str the string conatining the words to capitalize
* @return null if the string was null, the string with all words capitalized otherwise
*/
public static String capitalizeWords(String str) {
System.out.println(" [" + Main.class.getName() + "] capitalizing string \"" + str + "\" using " + WordUtils.class.getName());
return WordUtils.capitalizeFully(str);
}
public static void main(String[] args) {
String message="sentence to capitalize";
System.out.println("standard message : " + message);
System.out.println("capitalized message : " + capitalizeWords(message));
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package standalone;
import java.util.Properties;
import org.apache.commons.lang.WordUtils;
/**
* TODO write javadoc
*/
public class Main {
/**
* Returns the version of the project
* @return a string representation of the version, null if the version could not be retreived
*/
public static String getVersion() {
Properties p = new Properties();
try {
p.load(Main.class.getResourceAsStream("/version.properties"));
String version = p.getProperty("version");
if (version != null) {
return String.valueOf(Integer.parseInt(version));
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* Return the same string with all words capitalized.
* @param str the string conatining the words to capitalize
* @return null if the string was null, the string with all words capitalized otherwise
*/
public static String capitalizeWords(String str) {
System.out.println(" [" + Main.class.getName() + "] capitalizing string \"" + str + "\" using " + WordUtils.class.getName());
return WordUtils.capitalizeFully(str);
}
public static void main(String[] args) {
String message="sentence to capitalize";
System.out.println("standard message : " + message);
System.out.println("capitalized message : " + capitalizeWords(message));
}
}

View File

@ -1,36 +1,36 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project default="clean-all">
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean directories">
<ant dir="project" antfile="build.xml" target="clean" inheritall="false" inheritrefs="false" />
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
<target name="clean-all" depends="clean, clean-cache" description="--> clean directories and ivy cache"/>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project default="clean-all">
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean directories">
<ant dir="project" antfile="build.xml" target="clean" inheritall="false" inheritrefs="false" />
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
<target name="clean-all" depends="clean, clean-cache" description="--> clean directories and ivy cache"/>
</project>

View File

@ -1,29 +1,29 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultResolver="dual-example"/>
<resolvers>
<dual name="dual-example">
<filesystem name="ivys">
<ivy pattern="${ivy.settings.dir}/../repository/[module]-ivy-[revision].xml" />
</filesystem>
<ibiblio name="ibiblio" />
</dual>
</resolvers>
</ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivysettings>
<settings defaultResolver="dual-example"/>
<resolvers>
<dual name="dual-example">
<filesystem name="ivys">
<ivy pattern="${ivy.settings.dir}/../repository/[module]-ivy-[revision].xml" />
</filesystem>
<ibiblio name="ibiblio" />
</dual>
</resolvers>
</ivysettings>

View File

@ -1,81 +1,81 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="dual-ivy" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="${basedir}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="src.dir" value="${basedir}/src" />
<!-- ivy properties used -->
<property name="ivy.settings.dir" value="../config" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${build.dir}" />
</path>
<ivy:settings file="${ivy.settings.dir}/ivysettings.xml" />
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retrieve dependencies with ivy">
<ivy:retrieve />
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<java classpathref="run.path.id" classname="example.Hello"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="dual-ivy" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="${basedir}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="src.dir" value="${basedir}/src" />
<!-- ivy properties used -->
<property name="ivy.settings.dir" value="../config" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${build.dir}" />
</path>
<ivy:settings file="${ivy.settings.dir}/ivysettings.xml" />
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retrieve dependencies with ivy">
<ivy:retrieve />
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<java classpathref="run.path.id" classname="example.Hello"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
</project>

View File

@ -1,25 +1,25 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="hello-ivy"/>
<dependencies>
<dependency org="apache" name="commons-httpclient" rev="2.0.2"/>
<dependency org="apache" name="commons-lang" rev="2.0"/>
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="hello-ivy"/>
<dependencies>
<dependency org="apache" name="commons-httpclient" rev="2.0.2"/>
<dependency org="apache" name="commons-lang" rev="2.0"/>
</dependencies>
</ivy-module>

View File

@ -1,49 +1,49 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package example;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.HeadMethod;
import org.apache.commons.lang.WordUtils;
/**
* Simple hello world example to show how easy it is to retrieve libs with ivy,
* including transitive dependencies
*/
public class Hello {
public static void main(String[] args) throws Exception {
String message = "hello ivy !";
System.out.println("standard message : " + message);
System.out.println("capitalized by " + WordUtils.class.getName() + " : " + WordUtils.capitalizeFully(message));
HttpClient client = new HttpClient();
HeadMethod head = new HeadMethod("http://www.ibiblio.org/");
client.executeMethod(head);
int status = head.getStatusCode();
System.out.println("head status code with httpclient: "+status);
head.releaseConnection();
System.out.println("now check if httpclient dependency on commons-logging has been realized");
Class clss = Class.forName("org.apache.commons.logging.Log");
System.out.println("found logging class in classpath: "+clss);
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package example;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.HeadMethod;
import org.apache.commons.lang.WordUtils;
/**
* Simple hello world example to show how easy it is to retrieve libs with ivy,
* including transitive dependencies
*/
public class Hello {
public static void main(String[] args) throws Exception {
String message = "hello ivy !";
System.out.println("standard message : " + message);
System.out.println("capitalized by " + WordUtils.class.getName() + " : " + WordUtils.capitalizeFully(message));
HttpClient client = new HttpClient();
HeadMethod head = new HeadMethod("http://www.ibiblio.org/");
client.executeMethod(head);
int status = head.getStatusCode();
System.out.println("head status code with httpclient: "+status);
head.releaseConnection();
System.out.println("now check if httpclient dependency on commons-logging has been realized");
Class clss = Class.forName("org.apache.commons.logging.Log");
System.out.println("found logging class in classpath: "+clss);
}
}

View File

@ -1,29 +1,29 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info
organisation="apache"
module="commons-httpclient"
revision="2.0.2"
status="release"
publication="20041010174300"/>
<dependencies>
<dependency name="commons-logging" rev="1.0.4" conf="default"/>
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info
organisation="apache"
module="commons-httpclient"
revision="2.0.2"
status="release"
publication="20041010174300"/>
<dependencies>
<dependency name="commons-logging" rev="1.0.4" conf="default"/>
</dependencies>
</ivy-module>

View File

@ -1,148 +1,148 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="go-ivy" default="go" xmlns:ivy="antlib:org.apache.ivy.ant">
<!--
this build file is a self contained project: it doesn't require anything else
that ant 1.6.2 or greater and java 1.4 or greater properly installed.
It is used to showcase how easy and straightforward it can be to use Ivy.
This is not an example of the best pratice to use in a project, especially
for the java source code "generation" :-) (see generate-src target)
To run copy this file in an empty directory, open a shell or a command window
in this directory and run "ant". It will download ivy and then use it to resolve
the dependency of the class which is itself "contained" in this build script.
After a successful build run "ant" again and you will see the build will be
much faster.
More information can be found at http://incubator.apache.org/ivy/
-->
<!-- here is the version of ivy we will use. change this property to try a newer
version if you want -->
<property name="ivy.install.version" value="1.4" />
<property name="ivy.jar.dir" value="${basedir}/ivy" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- =================================
target: install-ivy
this target is not necessary if you put ivy.jar in your ant lib directory
if you already have ivy 1.4 in your ant lib, you can simply remove this
target and the dependency the 'go' target has on it
================================= -->
<target name="install-ivy" description="--> install ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<echo message="installing ivy..."/>
<get src="http://www.jayasoft.org/downloads/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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: go
Go ivy, go!
================================= -->
<target name="go" depends="install-ivy, generate-src"
description="--> resolve dependencies, compile and run the project">
<echo message="using ivy to resolve commons-lang 2.1..."/>
<!-- here comes the magic line: asks ivy to resolve a dependency on
commons-lang 2.1 and to build an ant path with it from its cache -->
<ivy:cachepath organisation="apache" module="commons-lang" revision="2.1"
pathid="lib.path.id" inline="true"/>
<echo message="compiling..."/>
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<echo>
We are now ready to execute our simple program with its dependency on commons-lang.
Let's go!
</echo>
<java classname="example.Hello">
<classpath>
<path refid="lib.path.id" />
<path location="${build.dir}" />
</classpath>
</java>
</target>
<!-- =================================
target: generate-src
'Generates' the class source. It actually just echo a simple java
source code to a file. In real life this file would already be
present on your file system, and this target wouldn't be necessary.
================================= -->
<target name="generate-src">
<mkdir dir="${src.dir}/example" />
<echo file="${src.dir}/example/Hello.java">
package example;
import org.apache.commons.lang.WordUtils;
public class Hello {
public static void main(String[] args) {
String message = "hello ivy !";
System.out.println("standard message : " + message);
System.out.println("capitalized by " + WordUtils.class.getName()
+ " : " + WordUtils.capitalizeFully(message));
}
}
</echo>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true" quiet="true">
<fileset dir="${src.dir}" />
<fileset dir="${build.dir}" />
</delete>
</target>
<!-- =================================
target: clean-ivy
================================= -->
<target name="clean-ivy" description="--> clean the ivy installation">
<delete dir="${ivy.jar.dir}"/>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="go-ivy" default="go" xmlns:ivy="antlib:org.apache.ivy.ant">
<!--
this build file is a self contained project: it doesn't require anything else
that ant 1.6.2 or greater and java 1.4 or greater properly installed.
It is used to showcase how easy and straightforward it can be to use Ivy.
This is not an example of the best pratice to use in a project, especially
for the java source code "generation" :-) (see generate-src target)
To run copy this file in an empty directory, open a shell or a command window
in this directory and run "ant". It will download ivy and then use it to resolve
the dependency of the class which is itself "contained" in this build script.
After a successful build run "ant" again and you will see the build will be
much faster.
More information can be found at http://incubator.apache.org/ivy/
-->
<!-- here is the version of ivy we will use. change this property to try a newer
version if you want -->
<property name="ivy.install.version" value="1.4" />
<property name="ivy.jar.dir" value="${basedir}/ivy" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- =================================
target: install-ivy
this target is not necessary if you put ivy.jar in your ant lib directory
if you already have ivy 1.4 in your ant lib, you can simply remove this
target and the dependency the 'go' target has on it
================================= -->
<target name="install-ivy" description="--> install ivy">
<mkdir dir="${ivy.jar.dir}"/>
<!-- download Ivy from web site so that it can be used even without any special installation -->
<echo message="installing ivy..."/>
<get src="http://www.jayasoft.org/downloads/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
dest="${ivy.jar.file}" usetimestamp="true"/>
<!-- try to load ivy here from local ivy dir, 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: go
Go ivy, go!
================================= -->
<target name="go" depends="install-ivy, generate-src"
description="--> resolve dependencies, compile and run the project">
<echo message="using ivy to resolve commons-lang 2.1..."/>
<!-- here comes the magic line: asks ivy to resolve a dependency on
commons-lang 2.1 and to build an ant path with it from its cache -->
<ivy:cachepath organisation="apache" module="commons-lang" revision="2.1"
pathid="lib.path.id" inline="true"/>
<echo message="compiling..."/>
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<echo>
We are now ready to execute our simple program with its dependency on commons-lang.
Let's go!
</echo>
<java classname="example.Hello">
<classpath>
<path refid="lib.path.id" />
<path location="${build.dir}" />
</classpath>
</java>
</target>
<!-- =================================
target: generate-src
'Generates' the class source. It actually just echo a simple java
source code to a file. In real life this file would already be
present on your file system, and this target wouldn't be necessary.
================================= -->
<target name="generate-src">
<mkdir dir="${src.dir}/example" />
<echo file="${src.dir}/example/Hello.java">
package example;
import org.apache.commons.lang.WordUtils;
public class Hello {
public static void main(String[] args) {
String message = "hello ivy !";
System.out.println("standard message : " + message);
System.out.println("capitalized by " + WordUtils.class.getName()
+ " : " + WordUtils.capitalizeFully(message));
}
}
</echo>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true" quiet="true">
<fileset dir="${src.dir}" />
<fileset dir="${build.dir}" />
</delete>
</target>
<!-- =================================
target: clean-ivy
================================= -->
<target name="clean-ivy" description="--> clean the ivy installation">
<delete dir="${ivy.jar.dir}"/>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
</project>

View File

@ -1,76 +1,76 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="hello-ivy" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${build.dir}" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<java classpathref="run.path.id" classname="example.Hello"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="hello-ivy" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${build.dir}" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<java classpathref="run.path.id" classname="example.Hello"/>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy/cache"/>
</target>
</project>

View File

@ -1,24 +1,24 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="hello-ivy"/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.1"/>
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="hello-ivy"/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.1"/>
</dependencies>
</ivy-module>

View File

@ -1,31 +1,31 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package example;
import org.apache.commons.lang.WordUtils;
/**
* Simple example world to show how easy it is to retreive libs with ivy !!!
*/
public class Hello {
public static void main(String[] args) {
String message = "hello ivy !";
System.out.println("standard message : " + message);
System.out.println("capitalized by " + WordUtils.class.getName() + " : " + WordUtils.capitalizeFully(message));
}
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package example;
import org.apache.commons.lang.WordUtils;
/**
* Simple example world to show how easy it is to retreive libs with ivy !!!
*/
public class Hello {
public static void main(String[] args) {
String message = "hello ivy !";
System.out.println("standard message : " + message);
System.out.println("capitalized by " + WordUtils.class.getName() + " : " + WordUtils.capitalizeFully(message));
}
}

View File

@ -1,80 +1,80 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="hello-ivy" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${build.dir}" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<property name="msg" value="hello ivy !"/>
<java classpathref="run.path.id" classname="example.Hello">
<arg value="-message"/>
<arg value="${msg}"/>
</java>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="hello-ivy" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- some variables used -->
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<!-- paths used for compilation and run -->
<path id="lib.path.id">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path.id">
<path refid="lib.path.id" />
<path location="${build.dir}" />
</path>
<!-- =================================
target: resolve
================================= -->
<target name="resolve" description="--> retreive dependencies with ivy">
<ivy:retrieve/>
</target>
<!-- =================================
target: report
================================= -->
<target name="report" depends="resolve" description="--> generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<!-- =================================
target: run
================================= -->
<target name="run" depends="resolve" description="--> compile and run the project">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
<property name="msg" value="hello ivy !"/>
<java classpathref="run.path.id" classname="example.Hello">
<arg value="-message"/>
<arg value="${msg}"/>
</java>
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> clean the project">
<delete includeemptydirs="true">
<fileset dir="${basedir}">
<exclude name="src/**" />
<exclude name="build.xml" />
<exclude name="ivy.xml" />
</fileset>
</delete>
</target>
<!-- =================================
target: clean-cache
================================= -->
<target name="clean-cache" description="--> clean the ivy cache">
<delete dir="${user.home}/.ivy-cache"/>
</target>
</project>

View File

@ -1,25 +1,25 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="ivyrep-example"/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.0"/>
<dependency org="apache" name="commons-cli" rev="1.0"/>
</dependencies>
</ivy-module>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<ivy-module version="1.0">
<info organisation="apache" module="ivyrep-example"/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.0"/>
<dependency org="apache" name="commons-cli" rev="1.0"/>
</dependencies>
</ivy-module>

Some files were not shown because too many files have changed in this diff Show More