diff --git a/.gitmodules b/.gitmodules index d8b91df5..e69de29b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "doc/xooki"] - path = doc/xooki - url = git://git.apache.org/ant-xooki.git diff --git a/doc/ant.html b/doc/ant.html deleted file mode 100644 index 2162b786..00000000 --- a/doc/ant.html +++ /dev/null @@ -1,165 +0,0 @@ - - - -
- - - - - - - - - diff --git a/doc/apache-proposal.txt b/doc/apache-proposal.txt deleted file mode 100644 index 0a748a38..00000000 --- a/doc/apache-proposal.txt +++ /dev/null @@ -1,121 +0,0 @@ -= 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. diff --git a/doc/bestpractices.html b/doc/bestpractices.html deleted file mode 100644 index 0a0ca272..00000000 --- a/doc/bestpractices.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - diff --git a/doc/compatibility.html b/doc/compatibility.html deleted file mode 100644 index 65a0244b..00000000 --- a/doc/compatibility.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - diff --git a/doc/concept.html b/doc/concept.html deleted file mode 100644 index 74463c32..00000000 --- a/doc/concept.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - - - - - - diff --git a/doc/config.js b/doc/config.js deleted file mode 100644 index c9e32f8f..00000000 --- a/doc/config.js +++ /dev/null @@ -1,8 +0,0 @@ -xooki.util.mix({debug:true, - jira: {ids: ['IVY'], url: 'https://issues.apache.org/jira'}, - shortcuts: { - gitdir: {pre: 'https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=tree;f='}, - gitfile: {pre: 'https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=blob;f='}, - ant: {pre: xooki.c.relativeRoot+'use/', post:'.html'} - } -}, xooki.c, false); diff --git a/doc/configuration.html b/doc/configuration.html deleted file mode 100644 index ad4aeea5..00000000 --- a/doc/configuration.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/caches.html b/doc/configuration/caches.html deleted file mode 100644 index 3c4483c5..00000000 --- a/doc/configuration/caches.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/caches/cache.html b/doc/configuration/caches/cache.html deleted file mode 100644 index f87f7833..00000000 --- a/doc/configuration/caches/cache.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/caches/ttl.html b/doc/configuration/caches/ttl.html deleted file mode 100644 index 0b53fbc0..00000000 --- a/doc/configuration/caches/ttl.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/classpath.html b/doc/configuration/classpath.html deleted file mode 100644 index 04934698..00000000 --- a/doc/configuration/classpath.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/conf.html b/doc/configuration/conf.html deleted file mode 100644 index 65566cc5..00000000 --- a/doc/configuration/conf.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/conflict-managers.html b/doc/configuration/conflict-managers.html deleted file mode 100644 index b5d9a65e..00000000 --- a/doc/configuration/conflict-managers.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/include.html b/doc/configuration/include.html deleted file mode 100644 index d993c815..00000000 --- a/doc/configuration/include.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/latest-strategies.html b/doc/configuration/latest-strategies.html deleted file mode 100644 index 66585836..00000000 --- a/doc/configuration/latest-strategies.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/lock-strategies.html b/doc/configuration/lock-strategies.html deleted file mode 100644 index 0f203f18..00000000 --- a/doc/configuration/lock-strategies.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/macrodef.html b/doc/configuration/macrodef.html deleted file mode 100644 index 7f672b72..00000000 --- a/doc/configuration/macrodef.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/macrodef/attribute.html b/doc/configuration/macrodef/attribute.html deleted file mode 100644 index 63031e6e..00000000 --- a/doc/configuration/macrodef/attribute.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/module.html b/doc/configuration/module.html deleted file mode 100644 index 4e7879a5..00000000 --- a/doc/configuration/module.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/modules.html b/doc/configuration/modules.html deleted file mode 100644 index 0c88f091..00000000 --- a/doc/configuration/modules.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/namespace.html b/doc/configuration/namespace.html deleted file mode 100644 index ec66c715..00000000 --- a/doc/configuration/namespace.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/namespace/dest.html b/doc/configuration/namespace/dest.html deleted file mode 100644 index 0fbec184..00000000 --- a/doc/configuration/namespace/dest.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/namespace/fromtosystem.html b/doc/configuration/namespace/fromtosystem.html deleted file mode 100644 index e47486eb..00000000 --- a/doc/configuration/namespace/fromtosystem.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/namespace/rule.html b/doc/configuration/namespace/rule.html deleted file mode 100644 index df25aa3b..00000000 --- a/doc/configuration/namespace/rule.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/namespace/src.html b/doc/configuration/namespace/src.html deleted file mode 100644 index d1577873..00000000 --- a/doc/configuration/namespace/src.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/namespaces.html b/doc/configuration/namespaces.html deleted file mode 100644 index 6c8a3fbf..00000000 --- a/doc/configuration/namespaces.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/outputters.html b/doc/configuration/outputters.html deleted file mode 100644 index 2149014f..00000000 --- a/doc/configuration/outputters.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/parsers.html b/doc/configuration/parsers.html deleted file mode 100644 index 4d21ece3..00000000 --- a/doc/configuration/parsers.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/properties.html b/doc/configuration/properties.html deleted file mode 100644 index af5c6910..00000000 --- a/doc/configuration/properties.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/property.html b/doc/configuration/property.html deleted file mode 100644 index d8788cb8..00000000 --- a/doc/configuration/property.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/resolvers.html b/doc/configuration/resolvers.html deleted file mode 100644 index 695837bc..00000000 --- a/doc/configuration/resolvers.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/status.html b/doc/configuration/status.html deleted file mode 100644 index a6e75362..00000000 --- a/doc/configuration/status.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/statuses.html b/doc/configuration/statuses.html deleted file mode 100644 index 87935f47..00000000 --- a/doc/configuration/statuses.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/triggers.html b/doc/configuration/triggers.html deleted file mode 100644 index b1b36d4e..00000000 --- a/doc/configuration/triggers.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/typedef.html b/doc/configuration/typedef.html deleted file mode 100644 index ced05303..00000000 --- a/doc/configuration/typedef.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/configuration/version-matchers.html b/doc/configuration/version-matchers.html deleted file mode 100644 index 70066928..00000000 --- a/doc/configuration/version-matchers.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/doc/conflict-solving-algo.html b/doc/conflict-solving-algo.html deleted file mode 100644 index 5db62f77..00000000 --- a/doc/conflict-solving-algo.html +++ /dev/null @@ -1,115 +0,0 @@ - - -Here are some explanations about the conflict management algorithm in Ivy.
-resolve(node) {
- node.resolved(node.mid) = collection(node);
- resolveConflict(node, node.parent, empty);
- if (!node.evicted && !node.alreadyResolved) {
- node.loadData();
- resolveConflict(node, node.parent, empty);
- if (!node.evicted) {
- // actually do resolve
- foreach (dep in node.dependencies) {
- resolve(dep);
- }
- }
- }
-}
-
-resolveConflict(node, parent, toevict) {
- if (node.revision.exact && parent.resolved(node.mid).revision.contains(node.revision)) {
- // exact revision already in resolved
- // => job already done
- return;
- }
- if (parent.resolved(node.mid).containsAny(toevict)) {
- // parent.resolved(node.mid) is not up to date:
- // recompute resolved from all sub nodes
- resolved = parent.cm(node.mid).resolveConflicts(
- parent.dependencies.resolved(node.mid));
- } else {
- resolved = parent.cm(node.mid).resolveConflicts(collection(node, parent.resolved(node.mid)));
- }
- if (resolved.contains(node)) {
- // node has been selected for the current parent
- // we update its eviction... but it can still be evicted by parent !
- node.evicted = false;
-
- // handle previously selected nodes that are now evicted by this new node
- toevict = parent.resolved(node.mid) - resolved;
- foreach (te in toevict) {
- te.evicted = true;
- }
-
- // it's very important to update resolved BEFORE recompute parent call
- // to allow it to recompute its resolved collection with correct data
- // if necessary
- parent.resolved(node.mid) = resolved;
- if (parent.parent != null) {
- resolveConflict(node, parent.parent, toevict);
- }
- } else {
- // node has been evicted for the current parent
-
- // it's time to update parent resolved with found resolved...
- // if they have not been recomputed, it does not change anything
- parent.resolved(node.mid) = resolved;
-
- node.evicted = true;
- }
-}
-
-
-
diff --git a/doc/dev.html b/doc/dev.html
deleted file mode 100644
index eac77fa1..00000000
--- a/doc/dev.html
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/dev/makerelease.html b/doc/dev/makerelease.html
deleted file mode 100644
index 664cc098..00000000
--- a/doc/dev/makerelease.html
+++ /dev/null
@@ -1,225 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/extend.html b/doc/extend.html
deleted file mode 100644
index 0b6bb75f..00000000
--- a/doc/extend.html
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/ideas.txt b/doc/ideas.txt
deleted file mode 100644
index 9de6c5a7..00000000
--- a/doc/ideas.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-- 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:
-