You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by xa...@apache.org on 2007/03/29 15:02:28 UTC

svn commit: r523733 - in /incubator/ivy/core/trunk/doc: doc/dev.html toc.json

Author: xavier
Date: Thu Mar 29 08:02:20 2007
New Revision: 523733

URL: http://svn.apache.org/viewvc?view=rev&rev=523733
Log:
add developer doc

Added:
    incubator/ivy/core/trunk/doc/doc/dev.html
Modified:
    incubator/ivy/core/trunk/doc/toc.json

Added: incubator/ivy/core/trunk/doc/doc/dev.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/doc/dev.html?view=auto&rev=523733
==============================================================================
--- incubator/ivy/core/trunk/doc/doc/dev.html (added)
+++ incubator/ivy/core/trunk/doc/doc/dev.html Thu Mar 29 08:02:20 2007
@@ -0,0 +1,141 @@
+<!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">
+<h1>Building from source</h1>
+To build Ivy from source it's really easy. 
+<h2>Requirements</h2>
+All you need is 
+<ul>
+<li>an <a href="http://subversion.tigris.org/">svn</a> client</li>
+<em>to check out Ivy sources from apache svn, not required if you build from sources packaged in a release</em>
+<li><a href="http://ant.apache.org/">Apache Ant</a> 1.6.2 or greater</li>
+<em>We recommend either ant 1.6.5 or 1.7.0</em>
+<li><a href="http://junit.org">junit</a> jar in your ant lib</li>
+<em> this is not required if you use ant 1.7</em>
+<li>a <a href="http://java.sun.com/">jdk</a> 1.4 or greater</li>
+<em>Build instructions have been successfully tested with sun jdk 1.4.2, 1.5.0 and 1.6.0</em>
+</ul>
+
+<h2>Procedure</h2>
+<h3>Get the source</h3>
+You can either get the sources from a [[download release]], or get them directly from svn. For instance, to get the trunk version:
+<code>
+svn co https://svn.apache.org/repos/asf/incubator/ivy/core/trunk ivy
+</code>
+<h3>Build</h3>
+Go to the directory where you get the Ivy sources (you should see a file named build.xml) and run:
+<code>
+ant
+</code>
+<h3>Check the result</h3>
+The ant build will download Ivy if you don't already have a proper version in your home, compile, and run tests with coverage metrics.
+If everything goes well, you should see the message
+<code>
+BUILD SUCCESSFUL
+</code>
+Then you can check the test results in the build/doc/reports/test directory, the jars are in build/artifacts, and the test coverage report in build/doc/reports/coverage
+<h1>Making a release</h1>
+<h2>Requirements</h2>
+Requirements for making a release are similar to the requirements for building from source, except that sun jdk 1.6 and ant 1.7 are required.
+<h2>Procedure</h2>
+<h3>1. Check the files which needs to be updated for the release.</h3>
+On the trunk, check that files which require update for the release are up to date.
+This includes particularly:
+RELEASE_NOTES
+CHANGES
+README
+<h3>2. Create a release branch</h3>
+This will allow to work separately from other developers, in case you need any last modification.
+<code>
+svn copy https://svn.apache.org/repos/asf/incubator/ivy/core/trunk \
+           https://svn.apache.org/repos/asf/incubator/ivy/core/branches/2.0.0-alpha1 \
+      -m "Creating a release branch for 2.0.0-alpha1."
+</code>
+<h3>3. Check out the branch</h3>
+<code>
+svn co https://svn.apache.org/repos/asf/incubator/ivy/core/branches/2.0.0-alpha1 ivy-2.0.0-alpha1
+</code>
+<h3>4. Double check the files which needs to be updated for the release.</h3>
+Check again that files have proper revision information.
+It's also time to update the documentation template files which will be used for doc generation to include the version information in the page title.
+For instance in
+<code>
+doc/homeTemplate.html
+doc/template.html
+doc/printTemplate.html
+</code>
+replace
+<code>
+<title>${title} | Ivy</title>
+</code>
+by
+<code>
+<title>${title} | Ivy 2.0.0-alpha1-incubating</title>
+</code>
+<h3>5. Commit your changes</h3>
+<code>
+svn ci -m "update templates for 2.0.0-alpha-1 release."
+</code>
+<h3>6. Check that you have no pending modifications</h3>
+<code>
+svn status
+</code>
+If your working copy is clean, you can launch the release script. If it isn't, make sure to clean it properly. Sometimes you may need to call ant clean if you have started to work with ant builds. If you are confused about your working copy state, delete it and check it out again.
+<h3>7. Launch the release script</h3>
+<code>
+ant -Dbuild.version=2.0.0-alpha1-incubating -Dstatus=milestone -f build-release.xml release
+</code>
+The status should be release only for final releases, and milestone for any other intermediate release.
+If anything is wrong, fix and go back to step 4.
+If the release script is successful, release artifacts will be waiting for you in the build/distrib.
+<h3>8. Verify the release</h3>
+Check that all zips can be opened correctly, and that running 'ant' after unzipping the source distribution works properly.
+You can also do a smoke test with the generated ivy.jar , to see if it is able to resolve properly a basic module (for instance you can replace the jar you have in your ~/.ivy/jars directory, clean your cache, and run 'ant clean jar'.
+<h3>9. Tag the svn repository</h3>
+Now that you are satisfied with your release, it is time to tag the svn repo
+<code>
+svn copy https://svn.apache.org/repos/asf/incubator/ivy/core/branches/2.0.0-alpha1 \
+           https://svn.apache.org/repos/asf/incubator/ivy/core/tags/2.0.0-alpha1 \
+      -m "Tag release 2.0.0-alpha1."
+</code>
+<h3>10. Sign and upload the artifacts</h3>
+You will still need to sign the release artifacts and upload them to a location accessible by other Apache commiters
+<h3>11. Cast a vote to approve the release</h3>
+Cast a vote to approve the release, first on the ivy-dev mailing list, then if it is approved, on the general@incubator.apache.org mailing list
+<h3>12. Upload to public repository</h3>
+If the release is approved, it's now time to make it public by uploading it to the public Apache distrib repository
+<h3>13. Announce</h3>
+Announce the release on the ivy-dev and ivy-user mailing lists, on the general@i.a.o list and on the user@ant.apache.org.
+Announce also the release on Ivy web site by editing the doc/index.html on the trunk.
+You can also announce the release on popular web sites, like freshmeat.net (xavier is the owner of the Ivy project on freshmeat), javalobby.org, theserverside.com, dzone.com, ...
+<h3>14. Update this doc</h3>
+If you feel like anything is missing or misleading in this release doc, update it as soon as you encounter the problem.
+<h3>15. Merge your modifications back to the trunk if necessary.</h3>
+Modifications on the template files do not need to be merged, but if you had troubles during your release you may want to merge your fixes back to the trunk.
+</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Modified: incubator/ivy/core/trunk/doc/toc.json
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/toc.json?view=diff&rev=523733&r1=523732&r2=523733
==============================================================================
--- incubator/ivy/core/trunk/doc/toc.json (original)
+++ incubator/ivy/core/trunk/doc/toc.json Thu Mar 29 08:02:20 2007
@@ -964,7 +964,15 @@
               "children": [
 
                 ]
-            }
+            },
+            {
+              "id":"doc/dev",
+              "title":"Developer doc",
+              "children": [
+
+                ]
+,
+              "level":1            }
           ]
       }
     ]