You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2014/12/13 16:42:39 UTC

[1/3] ant-ivy git commit: Update release process

Repository: ant-ivy
Updated Branches:
  refs/heads/2.4.x b7f132a46 -> 79cb7c627


Update release process


Project: http://git-wip-us.apache.org/repos/asf/ant-ivy/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/3badf698
Tree: http://git-wip-us.apache.org/repos/asf/ant-ivy/tree/3badf698
Diff: http://git-wip-us.apache.org/repos/asf/ant-ivy/diff/3badf698

Branch: refs/heads/2.4.x
Commit: 3badf6981de1d09f2bb3fbf1a55c29e01ea0da61
Parents: b7f132a
Author: Nicolas Lalevée <ni...@hibnet.org>
Authored: Fri Nov 14 18:19:33 2014 +0100
Committer: Nicolas Lalevée <ni...@hibnet.org>
Committed: Fri Nov 14 18:20:14 2014 +0100

----------------------------------------------------------------------
 doc/dev/makerelease.html | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/3badf698/doc/dev/makerelease.html
----------------------------------------------------------------------
diff --git a/doc/dev/makerelease.html b/doc/dev/makerelease.html
index c4101b5..deefd80 100644
--- a/doc/dev/makerelease.html
+++ b/doc/dev/makerelease.html
@@ -88,6 +88,11 @@ As soon as you are happy with the artifacts to be released, it is time to tag th
 git tag 2.0.0-beta1
 </code>
 
+And push the changes to the ASF repo
+<code>
+git push --tags 
+</code>
+
 <h3>Publish the release candidate</h3>
 
 All artifacts in <tt>build/distrib</tt> except the <tt>maven2</tt> folder needs to be published on the 'dist' svn of the ASF, in the <b>dev</b> part.
@@ -103,7 +108,7 @@ Subject: [VOTE] Ivy ${version} Release
 
 I have built a release candidate for Ivy ${version}
 
-The svn tag of this release is: https://svn.apache.org/repos/asf/ant/ivy/core/tags/${version}@${svn-rev-of-the-tag}
+The svn tag of this release is: https://git-wip-us.apache.org/repos/asf?p=ant-ivy.git;a=commit;h=SHA1-OF-THE-TAG
 
 The artifacts has been published to: https://dist.apache.org/repos/dist/dev/ant/ivy/$VERSION@${svn-rev-of-the-check-in}
 


[3/3] ant-ivy git commit: IVY-1474 : Ivy Bintray resolver (Thanks to Evgeny Goldin)

Posted by hi...@apache.org.
IVY-1474 : Ivy Bintray resolver (Thanks to Evgeny Goldin)


Project: http://git-wip-us.apache.org/repos/asf/ant-ivy/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/79cb7c62
Tree: http://git-wip-us.apache.org/repos/asf/ant-ivy/tree/79cb7c62
Diff: http://git-wip-us.apache.org/repos/asf/ant-ivy/diff/79cb7c62

Branch: refs/heads/2.4.x
Commit: 79cb7c6270b37ee529336e61bd085176d7fd2ce5
Parents: 9651c29
Author: Nicolas Lalevée <ni...@hibnet.org>
Authored: Sat Dec 13 16:36:17 2014 +0100
Committer: Nicolas Lalevée <ni...@hibnet.org>
Committed: Sat Dec 13 16:39:42 2014 +0100

----------------------------------------------------------------------
 doc/release-notes.html                          |   3 +
 doc/resolver/bintray.html                       |  69 +++++
 doc/toc.json                                    |   7 +
 src/example/bintray/build.xml                   |  23 ++
 src/example/bintray/ivy.xml                     |  31 +++
 src/example/bintray/ivysettings.xml             |  37 +++
 .../apache/ivy/core/settings/typedef.properties |   1 +
 .../ivy/plugins/resolver/BintrayResolver.java   |  81 ++++++
 .../plugins/resolver/BintrayResolverTest.java   | 261 +++++++++++++++++++
 9 files changed, 513 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/79cb7c62/doc/release-notes.html
----------------------------------------------------------------------
diff --git a/doc/release-notes.html b/doc/release-notes.html
index 32647b0..c01f090 100644
--- a/doc/release-notes.html
+++ b/doc/release-notes.html
@@ -38,6 +38,7 @@ configurability, and tight integration with Apache Ant.
 Key features of this 2.4.0 release are
 * some new Ant tasks
 * improved OSGI support
+* a Bintray resolver
 * numerous bug fixes as documented in Jira and in the release notes
  
 You can download this 2.4.0 release at:
@@ -66,6 +67,7 @@ List of changes since Ivy 2.3.0:
 - NEW: Agent authentication for SSH and SFTP transports (IVY-1421)
 - NEW: New OSGi resolver 'osgi-agg': a chain resolver dedicated to better handle OSGi dependencies
 - NEW: Add support for "packed" artifacts: .pack.gz bundles in an OSGi P2 repository for instance
+- NEW: Ivy Bintray resolver (IVY-1474) (Thanks to Evgeny Goldin)
 
 - IMPROVEMENT: Generate POMs with /xsd/maven-4.0.0.xsd reference instead of old /maven-v4_0_0.xsd (IVY-1491) (thanks to Hervé Boutemy)
 - IMPROVEMENT: Add support for packed jar within an OSGi bundle
@@ -160,6 +162,7 @@ Here is the list of people who have contributed source code and documentation up
 <li>Jacob Grydholt Jensen</li>
 <li>John Gibson</li>
 <li>Mitch Gitman</li>
+<li>Evgeny Goldin</li>
 <li>Scott Goldstein</li>
 <li>Pierre Hägnestrand</li>
 <li>Scott Hebert</li>

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/79cb7c62/doc/resolver/bintray.html
----------------------------------------------------------------------
diff --git a/doc/resolver/bintray.html b/doc/resolver/bintray.html
new file mode 100644
index 0000000..aa5236b
--- /dev/null
+++ b/doc/resolver/bintray.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+   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>
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+<table class="resolver">
+<tr><td class="title">Tag</td><td class="value">bintray</td></tr>
+<tr><td class="title">Handle latest</td><td class="value">yes, at least if the repository server is apache based</td></tr>
+<tr><td class="title">Handle publish</td><td class="value">no</td></tr>
+</table>
+
+<span class="tagdoc" id="ivysettings.resolvers.ibiblio">This resolver uses Bintray DaaS (Distribution as a Service) platform to retrieve artifacts.</span>
+
+<h1>Attributes</h1>
+<table class="ivy-attributes">
+<thead>
+    <tr><th class="ivy-att">Attribute</th><th class="ivy-att-desc">Description</th><th class="ivy-att-req">Required</th></tr>
+</thead>
+<tbody>
+    <tr><td>subject</td><td>Bintray username of a repository owner.</td>
+        <td>No, defaults to JCenter</td></tr>
+    <tr><td>repo</td><td>User's repository name.</td>
+        <td>No, defaults to JCenter</td></tr>
+</tbody>
+</table>
+
+<h1>Examples</h1>
+<code type="xml">
+<bintray />
+</code>
+
+A default, defines a <a href="https://bintray.com/bintray/jcenter">JCenter</a> (http://jcenter.bintray.com/) resolver. 
+In most circumstances you won't need any other resolvers as JCenter is already a super-set of many other repositories, including Maven Central.
+
+<hr/>
+
+<code type="xml">
+<bintray subject="dsowerby" repo="maven"/>
+<bintray subject="igelgrun" repo="batrak"/>
+</code>
+
+Defines two resolvers to use a <a href="https://bintray.com/dsowerby/maven">repository</a> "maven" of user "dsowerby" (https://dl.bintray.com/dsowerby/maven/) 
+and <a href="https://bintray.com/igelgrun/batrak">repository</a> "batrak" of user "igelgrun" (https://dl.bintray.com/igelgrun/batrak/).
+</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>
+

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/79cb7c62/doc/toc.json
----------------------------------------------------------------------
diff --git a/doc/toc.json b/doc/toc.json
index bff771f..55a0f21 100644
--- a/doc/toc.json
+++ b/doc/toc.json
@@ -409,6 +409,13 @@
                                 "children": [
 
                                   ]
+                              },
+                              {
+                                "id":"resolver/bintray",
+                                "title":"Bintray Resolver",
+                                "children": [
+
+                                  ]
                               }
                             ]
                         },

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/79cb7c62/src/example/bintray/build.xml
----------------------------------------------------------------------
diff --git a/src/example/bintray/build.xml b/src/example/bintray/build.xml
new file mode 100644
index 0000000..c82359e
--- /dev/null
+++ b/src/example/bintray/build.xml
@@ -0,0 +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 xmlns:ivy="antlib:org.apache.ivy.ant" name="ivy-bintray-example" default="retrieve">
+    <target name="retrieve">
+        <ivy:retrieve />
+    </target>
+</project>

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/79cb7c62/src/example/bintray/ivy.xml
----------------------------------------------------------------------
diff --git a/src/example/bintray/ivy.xml b/src/example/bintray/ivy.xml
new file mode 100644
index 0000000..120a43b
--- /dev/null
+++ b/src/example/bintray/ivy.xml
@@ -0,0 +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="2.0">
+    <info organisation="org.apache" module="hello-ivy"/>
+    <dependencies>
+        <!-- https://jcenter.bintray.com/ -->
+        <dependency org="org.jfrog.artifactory.client" name="artifactory-cli" rev="1.0" />
+        <dependency org="org.jfrog.artifactory.client" name="artifactory-cli" rev="1.0" />
+        <dependency org="org.jfrog"                    name="build-info-api"  rev="1.3.1" />
+        <!-- https://dl.bintray.com/dsowerby/maven/ -->
+        <dependency org="uk.q3c.krail"                 name="krail"           rev="0.7.0" />
+        <!-- https://dl.bintray.com/igelgrun/batrak/ -->
+        <dependency org="igel.batrak"                  name="batrak-core"     rev="0.1" />
+    </dependencies>
+</ivy-module>

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/79cb7c62/src/example/bintray/ivysettings.xml
----------------------------------------------------------------------
diff --git a/src/example/bintray/ivysettings.xml b/src/example/bintray/ivysettings.xml
new file mode 100644
index 0000000..15adc16
--- /dev/null
+++ b/src/example/bintray/ivysettings.xml
@@ -0,0 +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.
+-->
+<ivysettings>
+  <settings defaultResolver="chain"/>
+  <resolvers>
+    <chain name="chain">
+
+      <!-- https://jcenter.bintray.com/ -->
+      <bintray />
+
+      <!-- https://bintray.com/dsowerby/maven     -->
+      <!-- https://dl.bintray.com/dsowerby/maven/ -->
+      <bintray subject="dsowerby" repo="maven"/>
+
+      <!-- https://bintray.com/igelgrun/batrak     -->
+      <!-- https://dl.bintray.com/igelgrun/batrak/ -->
+      <bintray subject="igelgrun" repo="batrak"/>
+
+    </chain>
+  </resolvers>
+</ivysettings>

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/79cb7c62/src/java/org/apache/ivy/core/settings/typedef.properties
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/core/settings/typedef.properties b/src/java/org/apache/ivy/core/settings/typedef.properties
index 230b928..ba140d2 100644
--- a/src/java/org/apache/ivy/core/settings/typedef.properties
+++ b/src/java/org/apache/ivy/core/settings/typedef.properties
@@ -19,6 +19,7 @@
 filesystem 	= org.apache.ivy.plugins.resolver.FileSystemResolver
 chain 		= org.apache.ivy.plugins.resolver.ChainResolver
 ibiblio		= org.apache.ivy.plugins.resolver.IBiblioResolver
+bintray     = org.apache.ivy.plugins.resolver.BintrayResolver
 url			= org.apache.ivy.plugins.resolver.URLResolver
 dual		= org.apache.ivy.plugins.resolver.DualResolver
 ivyrep		= org.apache.ivy.plugins.resolver.IvyRepResolver

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/79cb7c62/src/java/org/apache/ivy/plugins/resolver/BintrayResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/resolver/BintrayResolver.java b/src/java/org/apache/ivy/plugins/resolver/BintrayResolver.java
new file mode 100644
index 0000000..c8d7b26
--- /dev/null
+++ b/src/java/org/apache/ivy/plugins/resolver/BintrayResolver.java
@@ -0,0 +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.
+ *
+ */
+package org.apache.ivy.plugins.resolver;
+
+/**
+ * BintrayResolver is a resolver which can be used to resolve dependencies found in the Bintray
+ * artifacts repository.
+ */
+@SuppressWarnings("ClassTooDeepInInheritanceTree")
+public class BintrayResolver extends IBiblioResolver {
+
+    private static final String JCENTER = "https://jcenter.bintray.com/";
+
+    private static final String DL_BINTRAY = "https://dl.bintray.com/";
+
+    private static final String DEFAULT_NAME = "bintray/jcenter";
+
+    private String subject;
+
+    private String repo;
+
+    private boolean isNameUpdatable; // Whether resolver's name was not originally specified and can
+                                     // be updated.
+
+    public BintrayResolver() {
+        setRoot(JCENTER);
+        updateName(DEFAULT_NAME);
+        setM2compatible(true);
+        setUsepoms(true);
+        setUseMavenMetadata(true);
+    }
+
+    public void setSubject(String subject) {
+        this.subject = subject;
+        updateRoot();
+    }
+
+    public void setRepo(String repo) {
+        this.repo = repo;
+        updateRoot();
+    }
+
+    @SuppressWarnings("MethodWithMultipleReturnPoints")
+    private void updateRoot() {
+        if (isEmpty(subject) || isEmpty(repo)) {
+            return;
+        }
+
+        setRoot(String.format("%s%s/%s/", DL_BINTRAY, subject, repo));
+        updateName(String.format("bintray/%s/%s", subject, repo));
+    }
+
+    private void updateName(String defaultName) {
+        if (isEmpty(defaultName)) {
+            throw new IllegalArgumentException("Default resolver name must not be null or empty");
+        }
+        if (isEmpty(getName()) || isNameUpdatable) {
+            isNameUpdatable = true;
+            setName(defaultName);
+        }
+    }
+
+    private boolean isEmpty(String s) {
+        return ((s == null) || (s.trim().length() < 1));
+    }
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/79cb7c62/test/java/org/apache/ivy/plugins/resolver/BintrayResolverTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/plugins/resolver/BintrayResolverTest.java b/test/java/org/apache/ivy/plugins/resolver/BintrayResolverTest.java
new file mode 100644
index 0000000..fdcf9ae
--- /dev/null
+++ b/test/java/org/apache/ivy/plugins/resolver/BintrayResolverTest.java
@@ -0,0 +1,261 @@
+/*
+ *  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 org.apache.ivy.plugins.resolver;
+
+import java.io.File;
+
+import org.apache.ivy.core.IvyContext;
+import org.apache.ivy.core.event.EventManager;
+import org.apache.ivy.core.module.descriptor.Artifact;
+import org.apache.ivy.core.module.descriptor.DefaultArtifact;
+import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
+import org.apache.ivy.core.module.descriptor.DefaultIncludeRule;
+import org.apache.ivy.core.module.id.ArtifactId;
+import org.apache.ivy.core.module.id.ModuleRevisionId;
+import org.apache.ivy.core.report.ArtifactDownloadReport;
+import org.apache.ivy.core.report.DownloadReport;
+import org.apache.ivy.core.report.DownloadStatus;
+import org.apache.ivy.core.resolve.ResolveData;
+import org.apache.ivy.core.resolve.ResolveEngine;
+import org.apache.ivy.core.resolve.ResolveOptions;
+import org.apache.ivy.core.resolve.ResolvedModuleRevision;
+import org.apache.ivy.core.settings.IvySettings;
+import org.apache.ivy.core.sort.SortEngine;
+import org.apache.ivy.plugins.matcher.ExactPatternMatcher;
+import org.apache.ivy.util.MockMessageLogger;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.taskdefs.Delete;
+
+public class BintrayResolverTest extends AbstractDependencyResolverTest {
+
+    private IvySettings _settings;
+
+    private ResolveEngine _engine;
+
+    private ResolveData _data;
+
+    private File _cache;
+
+    @Override
+    protected void setUp() throws Exception {
+        _settings = new IvySettings();
+        _engine = new ResolveEngine(_settings, new EventManager(), new SortEngine(_settings));
+        _cache = new File("build/cache");
+        _data = new ResolveData(_engine, new ResolveOptions());
+        _cache.mkdirs();
+        _settings.setDefaultCache(_cache);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        Delete del = new Delete();
+        del.setProject(new Project());
+        del.setDir(_cache);
+        del.execute();
+    }
+
+    public void testDefaults() {
+        BintrayResolver resolver = new BintrayResolver();
+        assertEquals("https://jcenter.bintray.com/", resolver.getRoot());
+        assertEquals("bintray/jcenter", resolver.getName());
+    }
+
+    public void testDefaultsWithName() {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setName("TestName");
+        assertEquals("https://jcenter.bintray.com/", resolver.getRoot());
+        assertEquals("TestName", resolver.getName());
+    }
+
+    public void testSubjectOnly() {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setSubject("jfrog");
+        assertEquals("https://jcenter.bintray.com/", resolver.getRoot());
+        assertEquals("bintray/jcenter", resolver.getName());
+    }
+
+    public void testRepoOnly() {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setRepo("jfrog-jars");
+        assertEquals("https://jcenter.bintray.com/", resolver.getRoot());
+        assertEquals("bintray/jcenter", resolver.getName());
+    }
+
+    public void testSubjectOnlyWithName() {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setSubject("jfrog");
+        resolver.setName("TestName");
+        assertEquals("https://jcenter.bintray.com/", resolver.getRoot());
+        assertEquals("TestName", resolver.getName());
+    }
+
+    public void testRepoOnlyWithName() {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setRepo("jfrog-jars");
+        resolver.setName("TestName");
+        assertEquals("https://jcenter.bintray.com/", resolver.getRoot());
+        assertEquals("TestName", resolver.getName());
+    }
+
+    public void testSubjectAndRepo() {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setSubject("jfrog");
+        resolver.setRepo("jfrog-jars");
+        assertEquals("https://dl.bintray.com/jfrog/jfrog-jars/", resolver.getRoot());
+        assertEquals("bintray/jfrog/jfrog-jars", resolver.getName());
+    }
+
+    public void testSubjectAndRepoWithName() {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setSubject("jfrog");
+        resolver.setRepo("jfrog-jars");
+        resolver.setName("TestName");
+        assertEquals("https://dl.bintray.com/jfrog/jfrog-jars/", resolver.getRoot());
+        assertEquals("TestName", resolver.getName());
+    }
+
+    public void testBintray() throws Exception {
+
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setSettings(_settings);
+        ModuleRevisionId mrid = ModuleRevisionId
+                .newInstance("org.apache.ant", "ant-antunit", "1.2");
+        ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid,
+                false), _data);
+        assertNotNull(rmr);
+        assertEquals(mrid, rmr.getId());
+
+        DefaultArtifact artifact = new DefaultArtifact(mrid, rmr.getPublicationDate(),
+                "ant-antunit", "jar", "jar");
+        DownloadReport report = resolver.download(new Artifact[] {artifact}, downloadOptions());
+        assertNotNull(report);
+
+        assertEquals(1, report.getArtifactsReports().length);
+
+        ArtifactDownloadReport ar = report.getArtifactReport(artifact);
+        assertNotNull(ar);
+
+        assertEquals(artifact, ar.getArtifact());
+        assertEquals(DownloadStatus.SUCCESSFUL, ar.getDownloadStatus());
+
+        // test to ask to download again, should use cache
+        report = resolver.download(new Artifact[] {artifact}, downloadOptions());
+        assertNotNull(report);
+
+        assertEquals(1, report.getArtifactsReports().length);
+
+        ar = report.getArtifactReport(artifact);
+        assertNotNull(ar);
+
+        assertEquals(artifact, ar.getArtifact());
+        assertEquals(DownloadStatus.NO, ar.getDownloadStatus());
+    }
+
+    public void testErrorReport() throws Exception {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setSubject("unknown");
+        resolver.setRepo("unknown");
+        resolver.setName("test");
+        resolver.setM2compatible(true);
+        resolver.setSettings(_settings);
+        assertEquals("test", resolver.getName());
+
+        MockMessageLogger mockMessageImpl = new MockMessageLogger();
+        IvyContext.getContext().getIvy().getLoggerEngine().setDefaultLogger(mockMessageImpl);
+
+        ModuleRevisionId mrid = ModuleRevisionId.newInstance("org.apache", "commons-fileupload",
+            "1.0");
+        ResolvedModuleRevision rmr = resolver.getDependency(new DefaultDependencyDescriptor(mrid,
+                false), _data);
+        assertNull(rmr);
+
+        mockMessageImpl
+                .assertLogContains("trying https://dl.bintray.com/unknown/unknown/org/apache/commons-fileupload/1.0/commons-fileupload-1.0.jar");
+        mockMessageImpl
+                .assertLogContains("tried https://dl.bintray.com/unknown/unknown/org/apache/commons-fileupload/1.0/commons-fileupload-1.0.jar");
+    }
+
+    public void testBintrayArtifacts() throws Exception {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setName("test");
+        resolver.setSettings(_settings);
+        assertEquals("test", resolver.getName());
+
+        ModuleRevisionId mrid = ModuleRevisionId
+                .newInstance("org.apache.ant", "ant-antunit", "1.2");
+        DefaultDependencyDescriptor dd = new DefaultDependencyDescriptor(mrid, false);
+        dd.addIncludeRule("default", new DefaultIncludeRule(new ArtifactId(mrid.getModuleId(),
+                "ant-antunit", "javadoc", "jar"), ExactPatternMatcher.INSTANCE, null));
+        dd.addIncludeRule("default", new DefaultIncludeRule(new ArtifactId(mrid.getModuleId(),
+                "ant-antunit", "sources", "jar"), ExactPatternMatcher.INSTANCE, null));
+        ResolvedModuleRevision rmr = resolver.getDependency(dd, _data);
+        assertNotNull(rmr);
+        assertEquals(mrid, rmr.getId());
+
+        DefaultArtifact profiler = new DefaultArtifact(mrid, rmr.getPublicationDate(),
+                "ant-antunit", "javadoc", "jar");
+        DefaultArtifact trace = new DefaultArtifact(mrid, rmr.getPublicationDate(), "ant-antunit",
+                "sources", "jar");
+        DownloadReport report = resolver.download(new Artifact[] {profiler, trace},
+            downloadOptions());
+        assertNotNull(report);
+
+        assertEquals(2, report.getArtifactsReports().length);
+
+        ArtifactDownloadReport ar = report.getArtifactReport(profiler);
+        assertNotNull(ar);
+
+        assertEquals(profiler, ar.getArtifact());
+        assertEquals(DownloadStatus.SUCCESSFUL, ar.getDownloadStatus());
+
+        ar = report.getArtifactReport(trace);
+        assertNotNull(ar);
+
+        assertEquals(trace, ar.getArtifact());
+        assertEquals(DownloadStatus.SUCCESSFUL, ar.getDownloadStatus());
+
+        // test to ask to download again, should use cache
+        report = resolver.download(new Artifact[] {profiler, trace}, downloadOptions());
+        assertNotNull(report);
+
+        assertEquals(2, report.getArtifactsReports().length);
+
+        ar = report.getArtifactReport(profiler);
+        assertNotNull(ar);
+
+        assertEquals(profiler, ar.getArtifact());
+        assertEquals(DownloadStatus.NO, ar.getDownloadStatus());
+
+        ar = report.getArtifactReport(trace);
+        assertNotNull(ar);
+
+        assertEquals(trace, ar.getArtifact());
+        assertEquals(DownloadStatus.NO, ar.getDownloadStatus());
+    }
+
+    public void testUnknown() throws Exception {
+        BintrayResolver resolver = new BintrayResolver();
+        resolver.setName("test");
+        resolver.setSettings(_settings);
+
+        assertNull(resolver.getDependency(
+            new DefaultDependencyDescriptor(ModuleRevisionId.newInstance("unknown", "unknown",
+                "1.0"), false), _data));
+    }
+
+}


[2/3] ant-ivy git commit: add the style folder back

Posted by hi...@apache.org.
add the style folder back


Project: http://git-wip-us.apache.org/repos/asf/ant-ivy/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/9651c293
Tree: http://git-wip-us.apache.org/repos/asf/ant-ivy/tree/9651c293
Diff: http://git-wip-us.apache.org/repos/asf/ant-ivy/diff/9651c293

Branch: refs/heads/2.4.x
Commit: 9651c293d13a41f28dc4019ddfdbe98517a893e2
Parents: 3badf69
Author: Nicolas Lalevée <ni...@hibnet.org>
Authored: Sat Dec 13 16:23:56 2014 +0100
Committer: Nicolas Lalevée <ni...@hibnet.org>
Committed: Sat Dec 13 16:39:33 2014 +0100

----------------------------------------------------------------------
 doc/style/ant.css         |  50 +++++++
 doc/style/color.css       | 163 +++++++++++++++++++++
 doc/style/ivy-ref.css     |  84 +++++++++++
 doc/style/nav.css         |  28 ++++
 doc/style/print-style.css | 299 +++++++++++++++++++++++++++++++++++++++
 doc/style/shell.css       |  38 +++++
 doc/style/style.css       | 314 +++++++++++++++++++++++++++++++++++++++++
 doc/style/tree.css        |  53 +++++++
 8 files changed, 1029 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9651c293/doc/style/ant.css
----------------------------------------------------------------------
diff --git a/doc/style/ant.css b/doc/style/ant.css
new file mode 100644
index 0000000..3c25d3b
--- /dev/null
+++ b/doc/style/ant.css
@@ -0,0 +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.
+ *
+ */
+
+table.ant  {
+	border-collapse:collapse;
+	width:90%;
+	margin:auto;
+	margin-top: 10px;
+}
+.ant thead {
+	background-color:#DEE4CD;
+	border:1px solid #7A9437;
+}
+.ant tbody {
+	background-color:#FFFFFF;
+	border:1px solid #7A9437;
+}
+
+.ant th {
+	font-family:monospace;
+	border:1px solid #7A9437;
+	padding:5px;
+}
+
+.ant td {
+	border:1px dotted #7A9437;
+	padding:5px;
+}
+
+th.ant-att {
+    width:15%;
+}
+th.ant-desc {
+    width:50%;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9651c293/doc/style/color.css
----------------------------------------------------------------------
diff --git a/doc/style/color.css b/doc/style/color.css
new file mode 100644
index 0000000..031c4f4
--- /dev/null
+++ b/doc/style/color.css
@@ -0,0 +1,163 @@
+/*
+ *  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.
+ *
+ */
+
+body  {
+  background-color: #5a7418;
+}
+
+#body  {
+  color: #000;
+  background-color: #fff;
+}
+
+h1, h2, h3, h4, h5, h6, .toc-title {
+  color: #7a9438;
+}
+h1 {
+  color: #fff;
+  background-color: #7a9438;
+}
+.title {
+  color: #7a9438;
+  background-color: #fff;
+  background: none;
+}
+a:link {
+  color: #7a9438;
+}
+a:visited {
+  color: #7a9438;
+}
+a:hover, a:active {
+  color: #7a9438;
+}
+blockquote {
+  color: #696969;
+}
+pre {
+  background-color: #eee;
+  border: 1px solid #ddd;
+}
+.form-item label {
+  color: #7a9438;
+}
+.item-list .title {
+  color: #7a9438;
+}
+
+/*
+** Page layout blocks / IDs
+*/
+#header  {
+  background-color: #ffffff;
+  /* border: 3px solid #9ebf47; */
+}
+
+#top-menu {
+  background-color:#7a9438;
+  border-top: 3px solid #9ebf47;
+  border-bottom: 3px solid #9ebf47;
+}
+
+#search .form-text, #search .form-submit {
+  border: 1px solid #7a9438;
+}
+#search .form-submit {
+  background-color: #9ebf47;
+}
+
+.block h2 {
+  color: #000;
+  background-color: #eee; 
+}
+
+.block .content {
+  background-color: #fff;
+  border: 1px solid #eee;
+}
+/*
+.block h2 {
+  color: #000;
+}
+*/
+
+#navcontainer {
+	background-color:#7a9438;
+}
+
+#nav {
+	background-color:#7a9438;
+}
+
+#nav ul {
+	background-color:#7a9438;
+	border-top: 1px solid #7a9438;
+	border-right: 1px solid #7a9438;
+	border-bottom: 1px solid #7a9438;
+	border-left: 0.75em solid #7a9438;
+}
+
+#nav li a {
+	color: #fff;
+}
+
+#nav .title {
+  color: #fff;
+  /*
+  background: #61752c;
+  */
+  background: #7a9438;
+	border-top: 0;
+	border-right: 0;
+	border-bottom: 1px solid #7a9438;
+	border-left: 0;
+}
+
+#nav li li a {
+	background: #fff;
+	color: #7a9438;
+  border-top: 0;
+	border-right: 0;
+	border-bottom: 1px solid #7a9438;
+	border-left: 0;
+}
+
+#nav a:hover,
+#nav a:active {
+	background: #9ebf47;
+}
+
+#content {
+  border-top: 3px solid #9ebf47;
+}
+
+#forum tr.dark {
+  background: #daeddc;
+}
+
+.postit {
+  background-color: #FFDBA1;
+  border: 1px solid #FFB643;
+  color: #4E3000;
+}
+
+.tip {
+  background-color: #F6FF7F;
+  border: 1px solid #FFB643;
+  color: #4E3000;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9651c293/doc/style/ivy-ref.css
----------------------------------------------------------------------
diff --git a/doc/style/ivy-ref.css b/doc/style/ivy-ref.css
new file mode 100644
index 0000000..ae0fdea
--- /dev/null
+++ b/doc/style/ivy-ref.css
@@ -0,0 +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.
+ *
+ */
+
+table.ivy-attributes  {
+	border-collapse:collapse;
+	width:90%;
+	margin:auto;
+	margin-top: 10px;
+}
+.ivy-attributes thead {
+	background-color:#DEE4CD;
+	border:1px solid #7A9437;
+}
+.ivy-attributes tbody {
+	background-color:#FFFFFF;
+	border:1px solid #7A9437;
+}
+
+.ivy-attributes th {
+	font-family:monospace;
+	border:1px solid #7A9437;
+	padding:5px;
+}
+
+.ivy-attributes td {
+	border:1px dotted #7A9437;
+	padding:5px;
+}
+
+th.ivy-att {
+    width:15%;
+}
+th.ivy-att-desc {
+    width:50%;
+}
+
+table.ivy-children  {
+/*	border:3px solid #6495ed; */
+	border-collapse:collapse;
+	width:90%;
+	margin:auto;
+	margin-top: 10px;
+}
+.ivy-children thead {
+	background-color:#DEE4CD;
+	border:1px solid #7A9437;
+}
+.ivy-children tbody {
+	background-color:#FFFFFF;
+	border:1px solid #7A9437;
+}
+
+.ivy-children th {
+	font-family:monospace;
+	border:1px solid #7A9437;
+	padding:5px;
+}
+
+.ivy-children td {
+	border:1px dotted #7A9437;
+	padding:5px;
+}
+
+th.ivy-chld {
+    width:15%;
+}
+th.ivy-chld-desc {
+    width:50%;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9651c293/doc/style/nav.css
----------------------------------------------------------------------
diff --git a/doc/style/nav.css b/doc/style/nav.css
new file mode 100644
index 0000000..b59a0c5
--- /dev/null
+++ b/doc/style/nav.css
@@ -0,0 +1,28 @@
+/*
+ *  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.
+ *
+ */
+
+#navcontainer  {
+    color: white;
+	margin-left: 20px;
+}
+
+
+#navcontainer  a {
+    color: white;
+	text-decoration: none;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9651c293/doc/style/print-style.css
----------------------------------------------------------------------
diff --git a/doc/style/print-style.css b/doc/style/print-style.css
new file mode 100644
index 0000000..48701d2
--- /dev/null
+++ b/doc/style/print-style.css
@@ -0,0 +1,299 @@
+/*
+ *  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.
+ *
+ */
+
+@import "color.css";
+@import "nav.css";
+@import "xmlverbatim.css";
+@import "ant.css";
+@import "ivy-ref.css";
+@import "shell.css";
+
+#body  {
+  padding: 0;
+}
+#body  {
+  padding-top: 5px;
+  padding-bottom: 5px;
+}
+
+/*
+** HTML elements
+*/
+body  {
+  margin: 0;
+  padding: 0;
+  bgcolor: #ffffff;
+}
+body, p, td, li, ul, ol  {
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: small;
+}
+h1, h2, h3, h4, h5, h6, .toc-title {
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+.toc-title {
+  margin: 15px;
+  padding: 10px;
+  font-size: 2em;
+  text-align: center;
+  border: solid 2px;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+}
+h1 {
+/*
+  margin-left: 15px;
+  margin-right: 15px;
+  */
+  padding-left: 10px;
+  font-size: 1.6em;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+}
+h2 {
+  font-size: 1.4em;
+}
+h3 {
+  font-size: 1.2em;
+}
+h4 {
+  font-size: 1.1em;
+}
+tr.dark td, tr.light td {
+  padding: 0.3em;
+}
+a:link {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:visited {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:hover, a:active {
+  font-weight: bold;
+  text-decoration: underline;
+}
+p {
+  margin: 0 0 1.3em 0;
+  padding: 0;
+}
+blockquote {
+  padding: 0 15px 0 15px;
+  margin: 15px 50px 15px 50px;
+  text-align: left;
+  font-size: 1.2em;
+  line-height: 1.3em;
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+pre {
+  padding: 0.75em 1.5em;
+  font-size: 1em;
+}
+.form-item {
+  margin-top: 1em;
+}
+.item-list .title {
+  font-size: 0.85em;
+}
+.hide {
+  display: none
+}
+
+/*
+** Page layout blocks / IDs
+*/
+#home img {
+  padding: 5px 20px 10px 10px;
+}
+.product img {
+  padding: 5px 20px 10px 10px;
+}
+
+#top-menu tr {
+  padding: 0;
+  margin: 0;
+}
+
+#top-menu td {
+  padding: 0;
+  margin: 0;
+}
+
+#search {
+  padding: 0 1em 0 1em;
+  margin: 0;
+}
+#search .form-text, #search .form-submit {
+  padding: 0;
+  margin: 0;
+  font-size: 0.85em;
+}
+#search .form-text {
+  width: 8em;
+  padding: 0;
+  margin: 0;
+}
+
+#sidebar-left, #sidebar-right {
+  width: 200px;
+  /* padding in px not ex because IE messes up 100% width tables otherwise */
+  padding: 15px 5px 75px 10px;
+  vertical-align: top;
+}
+#sidebar-left li, #sidebar-right li {
+  font-size: 1em;
+}
+.block h2 {
+  margin: 5px 0px 0px 0px;
+  padding: 1px 5px 1px 30px;
+  font-size: 1.2em;
+  font-weight: 700;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+} 
+
+.block .content {
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+  margin-bottom: 10px;
+}
+
+#main {
+  padding-left: 10px;
+  padding-right: 10px;
+  padding-bottom: 10px;
+  background: transparent url(../images/background.png) center center no-repeat;
+}
+
+.content {
+  padding-top: 10px;
+}
+
+#forum {
+  margin: 15px 0 15px 0;
+}
+#forum table {
+  width: 100%;
+}
+#forum table tr th {
+  text-align: center;
+  font-size: 0.75em;
+}
+#forum table tr th a  {
+  text-decoration: underline;
+}
+#forum table tr th img  {
+  margin: 0;
+}
+#forum td {
+  padding: 0.5em 0.5em 0.5em 0.5em;
+}
+#forum td.container a {
+  padding: 20px 0 20px 35px;
+}
+#forum td.statistics, #forum td.settings, #forum td.pager {
+  height: 1.5em;
+}
+#forum td .links {
+  padding-top: 0.7em;
+  font-size: 0.9em;
+}
+.block-forum h3 {
+  margin-bottom: .5em;
+}
+
+.footer {
+  text-align: center;
+  margin-top: 3pt;
+  margin-bottom: 3pt;
+  font-size: 85%;
+}
+
+#footer-menu td {
+  padding-top: 3px;
+}
+
+.comparison td, .comparison th {
+    text-align: center;
+}
+
+.comment {
+  -moz-border-radius: 5px;
+  border: 1px solid #abc;
+  padding: .5em;
+  margin-bottom: 1em;
+}
+.comment .title {
+  font-size: 1em;
+  padding: 10px 0px 12px 19px;
+  background: transparent url(icon-comment.png) left center no-repeat;
+}
+.comment .new {
+  font-weight: bold;
+  font-size: 1em;
+  margin-left: 2px;
+  color: red;
+}
+.comment .picture {
+  border: 1px solid #fff;
+  float: right;
+  margin: 10px;
+}
+.submitted {
+  color: #999;
+  font-size: 0.79em;
+}
+.since {
+  font-weight: 700;
+  font-style: italic;
+}
+
+.postit {
+  margin:10px;
+  padding:10px;
+  -moz-border-radius:10px;
+  float:right;
+  width:400px;
+}
+
+table.home {
+    text-align:center;
+    color:#6e9244;
+    font-family:verdana, "Lucida Grande", arial, helvetica, sans-serif;
+}
+tr.homeitems {
+    font-size:large;
+}
+tr.homeitems td {
+    padding: 0 0.5cm 0 0.5cm;
+}
+tr.homeitems a:link, a:visited {
+    color: #6e9244; 
+    text-decoration: none;
+}
+tr.homeitems a:hover {
+    text-decoration: underline;
+    background: none !important;
+}
+.home img { border-width:0; }
+

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9651c293/doc/style/shell.css
----------------------------------------------------------------------
diff --git a/doc/style/shell.css b/doc/style/shell.css
new file mode 100644
index 0000000..1b0fba9
--- /dev/null
+++ b/doc/style/shell.css
@@ -0,0 +1,38 @@
+/*
+ *  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.
+ *
+ */
+
+/* the class shell is used when a copy of the content of a shell or DOS window is made */
+
+.shell {
+  background-color: black; 
+  color: white; 
+  border: medium gray solid;
+}
+.shell pre {
+  background-color: black; 
+  border: none; 
+  font-size: small; 
+  white-space: pre; /* CSS2 */
+  white-space: -moz-pre-wrap; /* Mozilla */
+  white-space: -hp-pre-wrap; /* HP printers */
+  white-space: -o-pre-wrap; /* Opera 7 */
+  white-space: -pre-wrap; /* Opera 4-6 */
+  white-space: pre-wrap; /* CSS 2.1 */
+  white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
+  word-wrap: break-word; /* IE */
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9651c293/doc/style/style.css
----------------------------------------------------------------------
diff --git a/doc/style/style.css b/doc/style/style.css
new file mode 100644
index 0000000..7308518
--- /dev/null
+++ b/doc/style/style.css
@@ -0,0 +1,314 @@
+/*
+ *  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.
+ *
+ */
+
+
+@import "color.css";
+@import "nav.css";
+@import "xmlverbatim.css";
+@import "ant.css";
+@import "ivy-ref.css";
+@import "shell.css";
+@import "tree.css";
+
+/*
+** HTML elements
+*/
+body  {
+  margin: 0;
+  padding: 0;
+  bgcolor: #ffffff;
+}
+#body  {
+  display: table;
+  margin: 8px auto;
+  padding: 0;
+  width: 98%;
+}
+body, p, td, li, ul, ol  {
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: small;
+}
+h1, h2, h3, h4, h5, h6 {
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+h1 {
+/*
+  margin-left: 15px;
+  margin-right: 15px;
+  */
+  padding-left: 10px;
+  font-size: 1.6em;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+}
+h2 {
+  font-size: 1.4em;
+}
+h3 {
+  font-size: 1.2em;
+}
+h4 {
+  font-size: 1.1em;
+}
+tr.dark td, tr.light td {
+  padding: 0.3em;
+}
+a:link {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:visited {
+  text-decoration: none;
+  font-weight: bold;
+}
+a:hover, a:active {
+  font-weight: bold;
+  text-decoration: underline;
+}
+p {
+  margin: 0 0 1.3em 0;
+  padding: 0;
+}
+blockquote {
+  padding: 0 15px 0 15px;
+  margin: 15px 50px 15px 50px;
+  text-align: left;
+  font-size: 1.2em;
+  line-height: 1.3em;
+  font-family: "Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, Verdana, sans-serif;
+}
+pre {
+  padding: 0.75em 1.5em;
+  font-size: 1em;
+}
+.form-item {
+  margin-top: 1em;
+}
+.item-list .title {
+  font-size: 0.85em;
+}
+.hide {
+  display: none
+}
+
+/*
+** Page layout blocks / IDs
+*/
+#body  {
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+  padding-top: 5px;
+  padding-bottom: 5px;
+}
+#home img {
+  padding: 5px 20px 10px 10px;
+}
+.product img {
+  padding: 5px 20px 10px 10px;
+}
+
+#top-menu tr {
+  padding: 0;
+  margin: 0;
+}
+
+#top-menu td {
+  padding: 0;
+  margin: 0;
+}
+
+#search {
+  padding: 0 1em 0 1em;
+  margin: 0;
+}
+#search .form-text, #search .form-submit {
+  padding: 0;
+  margin: 0;
+  font-size: 0.85em;
+}
+#search .form-text {
+  width: 8em;
+  padding: 0;
+  margin: 0;
+}
+
+#sidebar-left, #sidebar-right {
+  width: 260px;
+  /* padding in px not ex because IE messes up 100% width tables otherwise */
+  padding: 15px 5px 75px 10px;
+  vertical-align: top;
+}
+#sidebar-left li, #sidebar-right li {
+  font-size: 1em;
+}
+#content {
+  table-layout:fixed;
+}
+.block h2 {
+  margin: 5px 0px 0px 0px;
+  padding: 1px 5px 1px 30px;
+  font-size: 1.2em;
+  font-weight: 700;
+  -moz-border-radius-topleft: 5px;
+  -moz-border-radius-topright: 5px;
+} 
+
+.block .content {
+  -moz-border-radius-bottomright: 5px;
+  -moz-border-radius-bottomleft: 5px;
+  margin-bottom: 10px;
+}
+
+#main {
+  padding-left: 10px;
+  padding-right: 10px;
+  padding-bottom: 10px;
+  background: transparent url(../images/background.png) center center no-repeat;
+}
+
+.content {
+  padding-top: 0px;
+}
+
+#forum {
+  margin: 15px 0 15px 0;
+}
+#forum table {
+  width: 100%;
+}
+#forum table tr th {
+  text-align: center;
+  font-size: 0.75em;
+}
+#forum table tr th a  {
+  text-decoration: underline;
+}
+#forum table tr th img  {
+  margin: 0;
+}
+#forum td {
+  padding: 0.5em 0.5em 0.5em 0.5em;
+}
+#forum td.container a {
+  padding: 20px 0 20px 35px;
+}
+#forum td.statistics, #forum td.settings, #forum td.pager {
+  height: 1.5em;
+}
+#forum td .links {
+  padding-top: 0.7em;
+  font-size: 0.9em;
+}
+.block-forum h3 {
+  margin-bottom: .5em;
+}
+
+#footer-menu td {
+  padding-top: 3px;
+}
+
+.footer {
+  text-align: center;
+  margin-top: 3pt;
+  margin-bottom: 3pt;
+  font-size: 85%;
+}
+
+.comparison td, .comparison th {
+    text-align: center;
+}
+
+.comment {
+  -moz-border-radius: 5px;
+  border: 1px solid #abc;
+  padding: .5em;
+  margin-bottom: 1em;
+}
+.comment .title {
+  font-size: 1em;
+  padding: 10px 0px 12px 19px;
+  background: transparent url(icon-comment.png) left center no-repeat;
+}
+.comment .new {
+  font-weight: bold;
+  font-size: 1em;
+  margin-left: 2px;
+  color: red;
+}
+.comment .picture {
+  border: 1px solid #fff;
+  float: right;
+  margin: 10px;
+}
+.submitted {
+  color: #999;
+  font-size: 0.79em;
+}
+.since {
+  font-weight: 700;
+  font-style: italic;
+}
+
+.postit {
+  margin:10px;
+  padding:10px;
+  -moz-border-radius:10px;
+  float:right;
+  width:400px;
+}
+
+.tip {
+  margin:10px 10px 10px 50px;
+  padding:10px;
+  font-style:italic;
+  -moz-border-radius:10px;
+}
+
+table.home {
+    text-align:center;
+    color:#6e9244;
+    font-family:verdana, "Lucida Grande", arial, helvetica, sans-serif;
+}
+tr.homeitems {
+    font-size:large;
+}
+tr.homeitems td {
+    padding: 0 0.5cm 0 0.5cm;
+}
+tr.homeitems a:link, a:visited {
+    color: #6e9244; 
+    text-decoration: none;
+}
+tr.homeitems a:hover {
+    text-decoration: underline;
+    background: none !important;
+}
+.home img { border-width:0; }
+
+.notice {
+    padding: 15px;
+    border-style:solid;
+    border-width:1px;
+    border-color: #F0D88D;
+    background-color: #FCFCCA;
+    margin: 10px;
+}

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9651c293/doc/style/tree.css
----------------------------------------------------------------------
diff --git a/doc/style/tree.css b/doc/style/tree.css
new file mode 100644
index 0000000..a9dce80
--- /dev/null
+++ b/doc/style/tree.css
@@ -0,0 +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.
+ *
+ */
+
+
+#treemenu { 
+padding-left: 10px; 
+}
+
+.treeview ul{ 
+margin: 0;
+padding: 0;
+}
+
+.treeview li{ 
+background: white url(../images/bullet.gif) no-repeat left center;
+list-style-type: none;
+padding-left: 22px;
+margin-bottom: 3px;
+}
+
+.treeview li.submenu{ 
+background: white url(../images/closed.gif) no-repeat left 1px;
+cursor: hand !important;
+cursor: pointer !important;
+}
+
+.treeview li.collapsable, .treeview li.open { 
+background: white url(../images/open.gif) no-repeat left 1px;
+}
+
+
+.treeview ul.closed { 
+display: none; 
+}
+
+.treeview .submenu ul li{
+cursor: default;
+}