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 2008/09/25 16:04:12 UTC

svn commit: r698971 - in /ant/ivy/ivyde/trunk/doc: build.html dev.html dev/ dev/build.html dev/release.html toc.json

Author: hibou
Date: Thu Sep 25 07:04:11 2008
New Revision: 698971

URL: http://svn.apache.org/viewvc?rev=698971&view=rev
Log:
IVYDE-122:
- update the build documentation to be in sync with the last changes on the build system
- add a page about how to release IvyDE: mix from the Ivy one and http://cwiki.apache.org/IVY/releasing-ivyde.html

Added:
    ant/ivy/ivyde/trunk/doc/dev/
    ant/ivy/ivyde/trunk/doc/dev.html   (with props)
    ant/ivy/ivyde/trunk/doc/dev/build.html
      - copied, changed from r698147, ant/ivy/ivyde/trunk/doc/build.html
    ant/ivy/ivyde/trunk/doc/dev/release.html   (with props)
Removed:
    ant/ivy/ivyde/trunk/doc/build.html
Modified:
    ant/ivy/ivyde/trunk/doc/toc.json

Added: ant/ivy/ivyde/trunk/doc/dev.html
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/doc/dev.html?rev=698971&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/doc/dev.html (added)
+++ ant/ivy/ivyde/trunk/doc/dev.html Thu Sep 25 07:04:11 2008
@@ -0,0 +1,32 @@
+<!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>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 0};</script>	
+	<script type="text/javascript" src="xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+Adding features or fixing bugs needs a little more involvement.
+You will find here the basics to get into it.</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: ant/ivy/ivyde/trunk/doc/dev.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ant/ivy/ivyde/trunk/doc/dev.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: ant/ivy/ivyde/trunk/doc/dev.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Copied: ant/ivy/ivyde/trunk/doc/dev/build.html (from r698147, ant/ivy/ivyde/trunk/doc/build.html)
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/doc/dev/build.html?p2=ant/ivy/ivyde/trunk/doc/dev/build.html&p1=ant/ivy/ivyde/trunk/doc/build.html&r1=698147&r2=698971&rev=698971&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/doc/build.html (original)
+++ ant/ivy/ivyde/trunk/doc/dev/build.html Thu Sep 25 07:04:11 2008
@@ -20,37 +20,34 @@
 <html>
 <head>
 	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
-	<script type="text/javascript">var xookiConfig = {level: 0};</script>	
-	<script type="text/javascript" src="xooki/xooki.js"></script>
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
 </head>
 <body>
 	<textarea id="xooki-source">
 This page describes how to build the IvyDE plugin from the source. The build is based on the Eclipse build system so it requires an Eclipse install. You also need to have an Ivy bundle installed.
 
-<h1>Setup of the build</h1>
+<h1><a name="setup"></a>Setup of the build</h1>
 
-<h2>Eclipse installation</h2>
+<h2><a name="eclipse-install"></a>Eclipse installation</h2>
 
-You need first an Eclipse install which contains the PDE plugins (by default included in the "SDK" and "Classic" versions). We will refer to the eclipse installation path in the documentation as $ECLIPSE_HOME. In that $ECLIPSE_HOME folder you should have the plugins and features folders. The current build have been successfully tested with:
-<ul>
-<li>Eclipse 3.2 under Linux</li>
-<li>Eclipse 3.3 under Linux, Windows and MacOS</li>
-<li>Eclipse 3.4M5 under Linux</li>
-</ul>
-If it does work for your unlisted configuration, please send us an email on the <a href="http://ant.apache.org/ivy/mailing-lists.html">ant-dev mailing list</a>.
-<h2>The Ivy bundle</h2>
+You need first an Eclipse install which contains the PDE plugins (by default included in the "SDK" and "Classic" versions). We will refer to the eclipse installation path in the documentation as <tt>$ECLIPSE_HOME</tt>. In that <tt>$ECLIPSE_HOME</tt> folder you should have the plugins and features folders.
 
-The IvyDE plugins depends on the Ivy 2.0 OSGi bundle. So the Ivy bundle have to be installed in the Eclipse installation before starting the build.
+It is <u>recommended</u> to have an eclipse installation dedicated to the build. So you will be able to have better control over the Ivy bundle installed there. And as the build clean the internal cache of Eclipse, running an eclipse and building with the same instance might raise some troubleshootings in the IDE.
 
-You can get an officially released version of Ivy. Go to the <a href="http://ant.apache.org/ivy/download.cgi">Ivy download page</a> and get the binary distribution. You will find in the zip the jar ivy-2.X.Y-Z.jar.
-Note: due to <a href="https://issues.apache.org/jira/browse/IVY-802">a bug in the build script of Ivy</a>, the OSGi version of Ivy is "0.0.0" for every version older than the 2.0.0-RC1. So a repackaging is needed. If you get the sources (which includes the build system), you can automatically install the repackaged 2.0.0-beta2 into you Eclipse install by running: <code>ant install-ivy</code>
+Lots of ant target depends on that Eclipse installation, so they need a <tt>baseLocation</tt> property to be defined. Note that you can avoid specifying that property in each command line by having a <tt>local.build.properties</tt> file which contains somethink like:
+<code>
+baseLocation=/home/me/tools/eclipse-3.4
+</code>
+
+<h2><a name="install-ivy"></a>The Ivy bundle</h2>
 
-You can also build it from the sources (from <a href="https://svn.apache.org/repos/asf/ant/ivy/core/trunk/">subversion</a> or from the <a href="http://ant.apache.org/ivy/download.cgi">releases</a>). In the build/artifact folder you should then find the bundle org.apache.ivy_2.X.Y-Z.jar.
+The IvyDE plugins depends on the Ivy 2.0 OSGi bundle. So the Ivy bundle have to be installed in the Eclipse installation before starting the build. An ant target will accomplished that task quite automatically. Inline help will be displayed when no property is specified:
+<code>ant install-ivy</code>
 
-Actually every Ivy jar is an OSGi bundle. So just copy it in your Eclipse install:
-<code>cp XXXXXX.jar $ECLIPSE_HOME/plugins/org.apache.ivy_2.X.Y-Z.jar</code> 
+<u>Note</u>: due to <a href="https://issues.apache.org/jira/browse/IVY-802">an old bug in the build script of Ivy</a>, the OSGi version of Ivy is "0.0.0" for every version older than the 2.0.0-RC1. So older version than 2.0.0-RC1 is not supported.
 
-<h1>Building</h1>
+<h1><a name="build"></a>Building</h1>
 
 First somehow you got some sources, for instance from the ASF subversion repository:
 <code>
@@ -63,15 +60,11 @@
 And run the build:
 <code>ant build -DbaseLocation=$ECLIPSE_HOME</code>
 
-The baseLocation property is mandatory: it defines the path of your Eclipse install you want to build with. You can put this property in your local.build.properties so you don't have to specify it each time you run the build. The file local.build.properties have to be next to the build.xml.
-
-Note that it is not recommended to have your Eclipse started when you build IvyDE. The build clean the Eclipse cache of installed plugins, so a running Eclipse might be confused.
-
 Then in the created directory "work" you will find a directory (something like 2.0.0.alpha1-200804171513) in which you will find the zip archive ready to be unzipped in an Eclipse install.
 
-<h1>Install</h1>
+<h1><a name="install"></a>Install</h1>
 
-After a successful build you should have a zip file at dist/org.apache.ivyde.feature-$VERSION.zip. The zip file contains the "plugins" and "features" folders ready to be unzipped in an Eclipse install. So here is the process:
+After a successful build you should have a zip file at <tt>dist/org.apache.ivyde.feature-$VERSION.zip</tt>. The zip file contains the "plugins" and "features" folders ready to be unzipped in an Eclipse install. So here is the process:
 <code>
 cd $ECLIPSE_HOME
 unzip ...../dist/org.apache.ivyde.feature-$VERSION.zip

Added: ant/ivy/ivyde/trunk/doc/dev/release.html
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/doc/dev/release.html?rev=698971&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/doc/dev/release.html (added)
+++ ant/ivy/ivyde/trunk/doc/dev/release.html Thu Sep 25 07:04:11 2008
@@ -0,0 +1,187 @@
+<!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>
+	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+	<script type="text/javascript">var xookiConfig = {level: 1};</script>	
+	<script type="text/javascript" src="../xooki/xooki.js"></script>
+</head>
+<body>
+	<textarea id="xooki-source">
+This documentation is defining every steps that needs to be accomplished when releasing IvyDE.
+In this doc, the released version is denoted as $VERSION, so it HAVE to be replaced in the command line argument accordingly. There is also some $LOGIN which is referencing your login on the Apache machines.
+
+<h1>Prepare</h1>
+
+<h2>Jira</h2>
+
+First in <a href="https://issues.apache.org/jira/browse/IVYDE">Jira</a> make sure that no more issues are opened for the target release.
+
+<h2>Release branch</h2>
+
+Some modifications of the branch are need to do the release. So a new branch is needed:
+<pre>
+svn copy https://svn.apache.org/repos/asf/ant/ivy/ivyde/trunk \
+           https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION \
+      -m "Creating a release branch for IvyDE $VERSION"
+</pre>
+
+and then checkout it:
+<pre>
+svn co https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION ivyde-$VERSION
+</pre>
+
+<h2>Documentation release</h2>
+
+The documentation have to specify the correct version number:
+In the files:
+<ul>
+<li>doc/template.html</li>
+</ul>
+The header should look like this
+<code>
+<title>${title} | IvyDE $VERSION Documentation</title>
+</code>
+
+<h2>Release notes</h2>
+
+TODO: some release notes exists in ivyde/trunk/org.apache.ivyde.eclipse/CHANGE.txt. Some work need to be done before they can be published on the website.
+
+<h2>Commit your change</h2>
+
+Don't forget to commit the changes you've done into the release branch.
+
+<h1>Building</h1>
+
+Make sure you have a proper working copy with a <tt>svn status</tt>. You should have no modification.
+
+Then launch the build:
+<pre>ant /release clean dist</pre>
+And sign the artifacts:
+<pre>./signArtifacts.sh</pre>
+
+<h1>Prepare the updatesite</h1>
+
+The instructions to build the updatesite are there:
+http://ant.apache.org/ivy/history/latest-milestone/updatesite.html
+
+<h1>Vote for the released artifacts</h1>
+
+It is recommended to publish the distribution artifacts and the updatesite in your public_html on people.apache.org directory so not only committers can test it.
+
+On people.apache.org, create your "staging" directory:
+<pre>mkdir ~/public_html/ivyde-$VERSION/</pre>
+And then the copy:
+<pre>scp dist/* $LOGIN@people.apache.org:/home/$LOGIN/public_html/ivyde-$VERSION/</pre>
+It is recommended to also deploy a staging updatesite there. See <a href="http://ant.apache.org/ivy/history/latest-milestone/updatesite.html">that page</a> to know how to proceed.
+
+And launch the vote on the ant-dev mailing list:
+<code>
+Subject: [VOTE] IvyDE $VERSION Release
+
+I have built a release candidate for IvyDE $VERSION
+
+You can download the distribution from this URL: http://people.apache.org/~$LOGIN/ivyde-$VERSION/
+
+And a staging update site has been setup there: http://people.apache.org/~$LOGIN/staging-updatesite
+
+Do you vote for the release of these binaries?
+
+[ ] Yes
+[ ] No
+
+Regards,
+
+$ME, IvyDE $VERSION release manager
+</code>
+
+Note: this <a href="http://ant.apache.org/bylaws.html">page</a> is defining when and how a release can be accepted.
+
+<h1>The release has been accepted</h1>
+
+Then it is time to tag the release:
+<code>svn copy https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION \
+           https://svn.apache.org/repos/asf/ant/ivy/ivyde/tags/$VERSION \
+      -m "Tag IvyDE release $VERSION"
+</code>
+
+<h1>Deployment</h1>
+
+<h2>Publish the artifacts</h2>
+
+The binaries have to be pushed with their signatures and checksums in the apache dist directory. On people.apache.org:
+<pre>
+mkdir /www/www.apache.org/dist/ant/ivyde/$VERSION
+cp /home/$LOGIN/public_html/ivyde-$VERSION/* $LOGIN@people.apache.org:/www/www.apache.org/dist/ant/ivyde/$VERSION
+</pre>
+
+<h2>Deploy the updatesite</h2>
+
+Follow the instructions of that page: http://ant.apache.org/ivy/history/latest-milestone/updatesite.html
+
+<h1>Update the documentation</h1>
+
+The table of content needs to be updated so that the last documentation point to that new release.
+
+First we need to update the external links. In svn/site/ivyde/history:
+<pre>svn pe svn:externals .</pre>
+And: <ul><li>update latest-milestone:
+<code>
+latest-milestone https://svn.apache.org/repos/asf/ant/ivy/ivyde/tags/$VERSION/doc </code>
+</li>
+<li>add an entry:
+<code>$VERSION https://svn.apache.org/repos/asf/ant/ivy/ivyde/tags/$VERSION/doc </code></li>
+</ul>
+
+Then we need to edit svn/site/ivyde/toc.json:
+<ul>
+<li>add the following data to the correct abstract node:
+<pre>
+            {
+                "title":"$VERSION",
+                "importRoot":"history/$VERSION",
+                "importNode":"index"
+            }
+</pre>
+</li>
+<li>update the title of the latest-milestone history entry:
+<pre>
+            "title":"Documentation ($VERSION)"
+</pre>
+</li></ul>
+
+<h1>Post release tasks</h1>
+
+<h2>Jira</h2>
+
+Update the <a href="https://issues.apache.org/jira/secure/project/ManageVersions.jspa?pid=12310640">IvyDE Jira project</a>: mark the version as released.
+
+<h2>Bump the version</h2>
+
+Update the versions needs to be updated in the following files:
+<ul>
+<li>build.properties (edit the qualifier)</li>
+<li>org.apache.ivyde.eclipse/META-INF/MANIFEST.MF</li>
+<li>org.apache.ivyde.feature/feature.xml</li>
+</ul>
+</textarea>
+<script type="text/javascript">xooki.postProcess();</script>
+</body>
+</html>

Propchange: ant/ivy/ivyde/trunk/doc/dev/release.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ant/ivy/ivyde/trunk/doc/dev/release.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: ant/ivy/ivyde/trunk/doc/dev/release.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Modified: ant/ivy/ivyde/trunk/doc/toc.json
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/doc/toc.json?rev=698971&r1=698970&r2=698971&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/doc/toc.json (original)
+++ ant/ivy/ivyde/trunk/doc/toc.json Thu Sep 25 07:04:11 2008
@@ -33,10 +33,23 @@
                 ]
             },
             {
-              "id":"build",
-              "title":"Building IvyDE",
+              "id":"dev",
+              "title":"Developer doc",
               "children": [
+                  {
+                    "id":"dev/build",
+                    "title":"Building",
+                    "children": [
 
+                      ]
+                  },
+                  {
+                    "id":"dev/release",
+                    "title":"Releasing",
+                    "children": [
+
+                      ]
+                  }
                 ]
             }
           ]