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 2017/07/01 12:10:00 UTC

[27/36] ant-ivyde git commit: put every doc related files in the doc folder

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/cpc/launch.adoc
----------------------------------------------------------------------
diff --git a/doc/src/cpc/launch.adoc b/doc/src/cpc/launch.adoc
new file mode 100644
index 0000000..fa9b0bb
--- /dev/null
+++ b/doc/src/cpc/launch.adoc
@@ -0,0 +1,58 @@
+////
+   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 IvyDE classpath container can also be used in the launch configuration, run or debug.
+
+== Default behavior
+
+By default, the container will be used because it is included in the default classpath of you project.  This is the configuration that you implicitly have when you do a "Run As..." on a Java class. The container you see in the launch classpath is the same as the one you have in your project in the package explorer.
+
+image::../images/launch_default.jpg[]
+
+Launching with the default the compile classpath might not be appropriate for some situations.  For example, you may have additional libraries included in the container under a configuration intended to support unit testing but that may cause some instability in the runtime application.
+
+== Managing the classpath manually
+
+When you do need to have finer-grained control over which configurations are visible to the runtime classpath, it is possible to edit the runtime classpath manually.
+
+By creating a launch configuration, you will get the default classpath as described above. So the first step is to remove it. Most likely, you will want to re-add your project in the user entries. Then to add an IvyDE container, choose "Advanced":
+
+image::../images/launch_advanced.jpg[]
+
+Choose "Add Library":
+
+image::../images/launch_addlib.jpg[]
+
+Choose "IvyDE Managed dependencies":
+
+image::../images/launch_addivyde.jpg[]
+
+Select the absolute path to your ivy.xml and select the proper configurations:
+
+image::../images/launch_manualconf.jpg[]
+
+*Note:* in the launch configuration it is not possible to edit or launch a resolve manually on the container you are creating. But it is possible to launch a resolve before each launch. It is recommended to do so if the resolve process is not too long. Otherwise you will have to recreate the container each time you change something in the ivy.xml for instance.
+
+To enable the resolve before each launch, go into the "Advanced" tab and select "Resolve before launch".
+
+image::../images/launch_resolve.jpg[]
+
+Click "Finish" and see the result:
+
+image::../images/launch_custom.jpg[]

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/cpc/maven.adoc
----------------------------------------------------------------------
diff --git a/doc/src/cpc/maven.adoc b/doc/src/cpc/maven.adoc
new file mode 100644
index 0000000..497125e
--- /dev/null
+++ b/doc/src/cpc/maven.adoc
@@ -0,0 +1,100 @@
+////
+   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.
+////
+
+If you want to use a Apache Maven™ pom.xml instead of an ivy.xml file, you can select a pom file in the configuration options of the IvyDE classpath.
+
+When a maven pom is selected, the configurations list is updated with all maven scopes.
+
+Both examples below are a good illustration of the simplicity of using maven poms in Apache IvyDE:
+
+* link:#one[Maven1 sample]
+* link:#two[Maven2 sample]
+
+== [[one]]Maven1 Sample
+
+This sample presents a simple use case involving a maven pom and the IvyDE classpath container. We are going to create an Eclipse™ project on commons-httpclient sources.
+
+* Download the link:http://archive.apache.org/dist/httpcomponents/commons-httpclient/3.0/source/commons-httpclient-3.0-src.zip[commons httpclient sources]
+
+* Unzip this file (c:/tmp/commons-httpclient/)
+
+* Create a new Eclipse java project based on the unzipped sources (c:/tmp/commons-httpclient/)
+
+image::../images/httpProject_errors.jpg[]
+
+*Note:* your project willnot compile: some imports cannot be resolved.
+
+* Add a new classpath container based on the "project.xml" pom and select "default" configuration (maven scope)
+
+image::../images/httpProject_pom.jpg[]
+
+* Finished.  The project compiles!
+
+image::../images/httpProject_clean.jpg[]
+
+== [[two]]Maven2 Sample
+
+This sample demonstrates how the IvyDE classpath container on a Apache Maven 2 pom can handle transitive dependencies.
+
+* Create a new empty java project in Eclipse.
+
+* In your project, create an `ivysettings.xml` file:
+
+[source]
+----
+<ivysettings>
+	<conf defaultResolver="ibiblio"/>
+	<resolvers>
+		<ibiblio name="ibiblio" />
+	</resolvers>
+</ivysettings>
+----
+
+Using the m2compatible attribute, you can benefit from Apache Maven 2 repository compatibility.
+
+* In your project, create a `pom.xml` file:
+
+[source]
+----
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>com.mycompany</groupId>
+	<artifactId>myproject</artifactId>
+	<version>1.0-SNAPSHOT</version>
+	<dependencies>
+		<dependency>
+			<groupId>commons-httpclient</groupId>
+			<artifactId>commons-httpclient</artifactId>
+			<version>3.0</version>
+		</dependency>
+	</dependencies>
+</project>
+----
+
+* On the pom.xml file, open the context menu and click on "Add Ivy Library...":
+
+* Select the configurations `compile` and `runtime`
+
+image::../images/maven2classpath1.jpg[]
+
+* click "Finish"
+
+* That's all! Your IvyDE classpath container resolves all dependencies including those that were transitive to the commons-httpclient module!
+
+image::../images/maven2classpath2.jpg[]

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/cpc/resolve.adoc
----------------------------------------------------------------------
diff --git a/doc/src/cpc/resolve.adoc b/doc/src/cpc/resolve.adoc
new file mode 100644
index 0000000..31fd7b4
--- /dev/null
+++ b/doc/src/cpc/resolve.adoc
@@ -0,0 +1,47 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+
+You can explicitly ask for Ivy dependency resolution from your classpath container.
+
+This command will invoke the "resolve" Ivy task and update your classpath container.
+
+There is also a "refresh" action: this action is similar to the resolve one, but does not perform a full resolve if a report already exists in the cache. This is particularly useful if you work with Apache Ant and a command line so that you avoid two full resolves.  It is also the default action performed on classpath containers when the Eclipse workspace is opened (*Windows > Preferences > Ivy*), in effect restoring the classpath container to its state prior to the last closing of the workspace if no other action is performed against the ivy.xml in the meantime.
+
+And there is a "reload settings" action: by default IvyDE does reload ivy settings files each time a resolve it required. But in case the ivy settings file is remote, this take make the user experience quite slow. To work around that, you can check in the link:../preferences.html[preference page] the option to only load on demand, and use the "reload settings" action in the context menu.
+
+== Context Menu
+
+image::../images/cp_resolve.jpg[]
+
+== Full Refresh
+
+You can also trigger a resolve (not a refresh!) of every IvyDE classpath container in the workspace via the button in the tool bar of Eclipse.
+
+image::../images/resolveall.jpg[]
+
+== Project Refresh
+
+To launch a resolve on a specified selection of projects:
+
+* Select the projects you want to resolve in the package view,
+* Open the context menu with a right click
+* Choose *Ivy > Resolve*
+
+image::../images/resolve_contextmenu.jpg[]
+

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/cpc/retrieve.adoc
----------------------------------------------------------------------
diff --git a/doc/src/cpc/retrieve.adoc b/doc/src/cpc/retrieve.adoc
new file mode 100644
index 0000000..dd9f700
--- /dev/null
+++ b/doc/src/cpc/retrieve.adoc
@@ -0,0 +1,33 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+
+It is possible to make the classpath container be composed of a retrieved dependencies. Instead of having the container point to the jars in Ivy's cache, jars can be retrieved in the project with a specified pattern and have the container be composed of them.
+
+== Configuration
+
+To enable this behavior, enter the classpath container configuration panel, select the third tab "Classpath" and select "retrieved artifacts".
+
+image::../images/retrieve.jpg[]
+
+The *Retrieve pattern* specifies the location where the dependencies should be copied relative to the containing project.
+
+The *Delete old retrieved artifacts* check box will cause IvyDE to clean the output directory before each retrieve.  Note that any other artifacts other than those previously retrieved by IvyDE in this container will be deleted as well if this option is selected.
+
+Finally, you can select which *Types* of artifacts should actually be retrieved (__*__ means __all__).
+

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/cpc/workspace.adoc
----------------------------------------------------------------------
diff --git a/doc/src/cpc/workspace.adoc b/doc/src/cpc/workspace.adoc
new file mode 100644
index 0000000..a2e90f4
--- /dev/null
+++ b/doc/src/cpc/workspace.adoc
@@ -0,0 +1,64 @@
+////
+   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.
+////
+
+Some projects are composed of mulpliple modules.  Often, these modules have dependencies between them, dependencies managed by Apache Ivy (of course!). 
+
+Eclipse is capable of calculating the workspace's build order according to dependencies between projects.  To leverage this advantage, Apache IvyDE has the ability to add a project reference to a dependency located in the workspace in place of downloading its published artifact(s) from the repository.  In this way, developers can develop multi-module applications, and test the interaction between these modules, before building and publishing artifacts to the repository.
+
+Consider a multi-module application with a considerable amount of code in each of several projects.  Many developers have experienced the delays involved in waiting for Eclipse&#153; to build code across all of these projects even though development is only being conducted in one isolated part of the application (maybe just one or two projects).  If the latest published artifact in the Ivy repository has the same source code as a module that the developer is not currently working on, simply closing that project in the Eclipse workspace and resolving dependencies on dependent projects that would resolve that artifact speeds the compilation process considerably.
+
+First, each application module should be separate a project in Eclipse, and each of these projects should have a configured IvyDE classpath container.
+
+To enable resolution in the workspace, go to the "classpath" panel of the classpath container and select *Resolve dependencies in workspace*.
+
+image::../images/workspace.jpg[]
+
+Important notes: to make the resolve in workspace work correctly the __info__ in the ivy.xml should be properly set:
+    
+* The __org__ and __name__
+* If there is a __rev__ specified, dependencies should specify the appropriate range
+* If there is no __rev__ specified, only dependencies with __lastest__ will match
+* The __status__ should match the required one: a dependency with __latest.integration__ will only match if there is __status="interation"__ in the info of the dependant module
+
+Having two projects "A" and "B" configured to use IvyDE and the workspace resolver, here is the expected resolved dependencies:
+
+[options="header",cols="30%,30%,40%"]
+|=======
+|latest.integration|1.2|B wired on A
+|1.2|1.2|B wired on A
+|[1.2,1.3)|1.2|B wired on A
+|1.0|1.2|no project wiring
+|latest.integration|__none__|B wired on A
+|1.2|__none__|B wired on A
+|[1.2,1.3)|__none__|B wired on A
+|latest.integration|$version|no project wiring
+|1.2|$version|no project wiring
+|[1.2,1.3)|$version|no project wiring
+|=======
+
+In some setup, if you want to mix some resolver of your own and the workspace resolver, and still want the transitive dependencies work nicely between them, you may want to turn the resolve mode to link:http://ant.apache.org/ivy/history/latest-milestone/use/resolve.html[dynamic]:
+    
+* see the defaultResolveMode attribute of link:http://ant.apache.org/ivy/history/latest-milestone/settings/settings.html[settings] in the ivysettings.
+* see the resolveMode attribute of link:http://ant.apache.org/ivy/history/latest-milestone/settings/module.html[module] in the ivysettings.
+
+Also note that if any of the resolver defined in your ivysettings.xml have the link:http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html#common[`force`] attribute set to true, the workspace resolver may won't properly bind projects between them, as the __forced__ resolver will take precedence.
+
+== WTP support
+
+Note that WTP doesn't support IvyDE's workspace resolver. See the details in the page dedicated to link:wtp.html#resolve-in-workspace[WTP integration].

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/cpc/wtp.adoc
----------------------------------------------------------------------
diff --git a/doc/src/cpc/wtp.adoc b/doc/src/cpc/wtp.adoc
new file mode 100644
index 0000000..76b242e
--- /dev/null
+++ b/doc/src/cpc/wtp.adoc
@@ -0,0 +1,62 @@
+////
+   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.
+////
+
+WTP refers to the link:http://www.eclipse.org/webtools/[Web Tools Platform] project from the Eclipse Foundation which allows Eclipse&#153; users to easily develop, launch and debug web applications. Apache IvyDE works with WTP 2.0+ (Eclipse 3.3+).
+
+In the properties of your project configured to use WTP, there is a section titled "Java EE Module Dependencies". In this section you will find the IvyDE classpath container listed, usually with the name "ivy.xml [*]". Select it and dependencies found in the IvyDE classpath container will be deployed as well.
+
+image::../images/wtp.jpg[]
+
+This has been successfully tested with Eclipse 3.3/WTP 2.0, and Eclipse 3.4/WTP 3.0.
+
+== IBM&#153; Rational Application Developer (RAD&#153;) 7.5.3+
+
+Users of RAD 7.5.3 will notice that the classpath container is not listed in the table.  RAD prevents the deployment of classpath containers by default.  To allow this behavior, selection Windows > Preferences > Java EE.  Check "Allow loose classpath module dependencies".  RAD will present you with a warning message.  To enable the behavior, you need to check the option again in the popup and click Yes.
+
+image::../images/rad_jee_page.jpg[]
+
+*Note:* due to a bug in RAD 7.5.3, this IBM specific property is not persisted when we close the workbench and reopen it. To work around this:
+
+* Export RSA preferences ( File > Export > General > Preferences)
+
+* Open the exported .epf file and replace +
+/instance/org.eclipse.jst.j2ee/org.eclipse.jst.j2ee.preferences.allowClasspathDep=false +
+with +
+/instance/org.eclipse.jst.j2ee/org.eclipse.jst.j2ee.preferences.allowClasspathDep=true
+
+* Load the modified .epf
+
+== [[resolve-in-workspace]]Resolve in workspace
+
+WTP doesn't support classpath containers like IvyDE's or Maven's one which can link to a Java project in a workspace.
+
+A feature request has been opened in WTP's Bugzilla: see link:https://bugs.eclipse.org/bugs/show_bug.cgi?id=184125[bug #184125].
+
+If you really want to link a Java project into the classpath of a WTP project, you should folow what is described in the link:https://bugs.eclipse.org/bugs/show_bug.cgi?id=184125#c12[comment #12] and the link:https://bugs.eclipse.org/bugs/show_bug.cgi?id=184125#c17[comment #17]:
+  
+* in your ivy.xml of your WTP project, exclude from your dependencies the java projects you want to link to (you can create a specific Ivy configuration for that, so it won't mess with the configurations used by an Ant build for instance)
+  
+* make sure your Java project is a WTP "utility" project
+  
+* make sure any IvyDE classpath container in the Java projects has been added to the deployment assembly
+  
+* in your WTP project, add the IvyDE container which resolve the dependencies excluded your Java project dependencies
+  
+* in your WTP project, add your Java project dependencies to the WTP project using existing deployment
+assembly facilities

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/dev.adoc
----------------------------------------------------------------------
diff --git a/doc/src/dev.adoc b/doc/src/dev.adoc
new file mode 100644
index 0000000..b075c35
--- /dev/null
+++ b/doc/src/dev.adoc
@@ -0,0 +1,25 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+
+Adding new features or fixing bugs needs community involvement.
+
+Here you will find the basics for how to get involved:
+
+* How to link:dev/build.html[build] Apache IvyDE from the sources
+* and the process to de a link:dev/release.html[release] of Apache IvyDE

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/dev/build.adoc
----------------------------------------------------------------------
diff --git a/doc/src/dev/build.adoc b/doc/src/dev/build.adoc
new file mode 100644
index 0000000..2e63bde
--- /dev/null
+++ b/doc/src/dev/build.adoc
@@ -0,0 +1,82 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+
+This page describes how to build the Apache IvyDE plugin from the source. The build is based on the Eclipse&#153; build system so it requires an Eclipse install. You also need to have an Ivy bundle installed.
+
+== [[setup]]Setup of the build
+
+=== [[eclipse-install]]Eclipse installation
+
+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.
+
+It is recommended 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.
+
+Lots of ant target depends on that Eclipse installation, so they need a `baseLocation` property to be defined. Note that you can avoid specifying that property in each command line by having a `local.build.properties` file which contains somethink like:
+
+[source]
+----
+baseLocation=/home/me/tools/eclipse-3.4
+----
+
+An Ant target is provided to download all the necessary binaries, just like the CI is running: `ant download-eclipse`. No need to specify a `baseLocation` in the prperty file to use that downloaded Eclipse and plugins.
+
+=== [[install-ivy]]The Apache Ivy bundle
+
+The IvyDE plugins depends on the Apache 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:
+
+[source]
+----
+ant install-ivy
+----
+
+Note: due to link:https://issues.apache.org/jira/browse/IVY-802[an old bug in the build script of Ivy], 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.
+
+== [[build]]Building
+
+First somehow you got some sources, for instance from the ASF git repository:
+
+[source]
+----
+git clone http://git.apache.org/ant-ivyde.git ivyde
+----
+
+or get directly the released sources from the link:../../download.cgi#sources[distribution].
+
+And go into the root folder of the sources. In that folder you should see the builder, org.apache.ivyde.eclipse and org.apache.ivyde.feature folders.
+
+And run the build:
+
+[source]
+----
+ant build -DbaseLocation=$ECLIPSE_HOME
+----
+
+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.
+
+== [[install]]Install
+
+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:
+
+[source]
+----
+cd $ECLIPSE_HOME
+unzip ...../dist/org.apache.ivyde.feature-$VERSION.zip
+----
+
+Then start your Eclipse and enjoy !

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/dev/dev-env-setup.adoc
----------------------------------------------------------------------
diff --git a/doc/src/dev/dev-env-setup.adoc b/doc/src/dev/dev-env-setup.adoc
new file mode 100644
index 0000000..68fca9d
--- /dev/null
+++ b/doc/src/dev/dev-env-setup.adoc
@@ -0,0 +1,88 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+
+This page describe how to setup an environment to develop IvyDE.
+
+== Requirement
+
+=== Eclipse plugins
+
+You need some plugins installed in your Eclipse:
+
+* the PDE plugins
+* the Zest plugins if you want to work with the IvyDE resolve visualizer
+
+If you have a "Classic" Eclipse, the PDE plugins are already installed. Otherwise you should find them in the Eclipse update site "The Eclipse Project Updates". Under the section "Eclipse Platform SDK", the feature to install is called "Eclipse Platform SDK".
+
+The Zest plugins can be found in the Eclipse updatesite of your Eclipse distribution (Indigo, Juno, etc...). Under the section "Modeling", the feature to install is called "Graphical Editing Framework Zest Visualization Toolkit SDK".
+
+=== Ivy
+
+You will also need Ivy as it is a dependency of IvyDE. Either you will work against a release version of Ivy, or work against an- build form the source in your Eclipse. Note that even when working against a released version, you will still be able to run in debug mode, see the sources and put break points in Ivy code. You just won't be able to modify the sources.
+
+Running against a released version is the simpler. Just install it from the IvyDE updatesite in you Eclipse.
+
+Otherwise you will need to setup a project for Ivy in your workspace, see next section.
+
+== Setup
+
+=== Import Ivy
+
+If you want to run against an Ivy from source in your workspace, you must import the Ivy project in your workspace. Otherwise, you can skip this section.
+
+The Ivy sources already contains the Eclipse metadata. Just "Import" from "Existing Project into Workspace". 
+
+=== Import IvyDE
+
+Once the required plugins are installed, you can import the IvyDE plugins and features into your workspace. Just do a regular "Import" from "Existing Project into Workspace".
+
+If you just have to fix a bug or add a little feature to IvyDE, just import the "org.apache.ivyde.eclipse" plugin.
+If you intend to work on the resolve visualizer, you should import the plugin "org.apache.ivyde.eclipse.resolvevisualizer".
+
+== Launch
+
+You will have to create you "Launch configuration".
+
+* In the Debug menu, select "Debug Configuration...".
+* On the section "Eclipse Application", right click and select "New".
+* Give a better name to your configuration: "IvyDE".
+* You may want to give a better location to the workspace in which the forked eclipse will run: for instance "${workspace_loc}/_eclipse/runtime-IvyDE"
+
+Now you can launch and so some happy debugging !
+
+=== Advanced tips
+
+==== Console log
+
+For old version of Eclipse only, in recent ones the option is automatically added.
+
+By default the logs of the forked Eclipse just goes in the Error log of the forked Eclipse. It is not ideal when browsing a stack trace since you will have to switch between the 2 Eclipse.
+Just add "-consoleLog" in the "Program Arguments" of the launch configuration so that errors of the forked Eclipse will go in the console of the host one.
+
+==== Slow fork
+
+Your hosting Eclipse may have a lot of plugins installed. By default, forking an Eclipse will launch with the same plugins. So forking may take some time and can be painful while developing.
+
+In the launch configuration, you can tune what plugins should be loaded in the "Plug-ins" tab. Select "plug-ins selected below only". Then it is quite tedious to know which one should be selected. The button "Add Required Plug-ins" will help you not missing one.
+Basically you will need:
+
+* org.eclipse.ivyde (in your workspace)
+* org.eclipse.ivy (in your workspace if you have one)
+* org.eclipse.sdk
+* org.eclipse.jdt.*

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/dev/release.adoc
----------------------------------------------------------------------
diff --git a/doc/src/dev/release.adoc b/doc/src/dev/release.adoc
new file mode 100644
index 0000000..2db668a
--- /dev/null
+++ b/doc/src/dev/release.adoc
@@ -0,0 +1,269 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+
+This documentation is defining every steps that needs to be accomplished when releasing Apache 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.
+
+== Prepare
+
+=== Jira
+
+First in link:https://issues.apache.org/jira/browse/IVYDE[Jira] make sure that no more issues are opened for the target release.
+
+=== Release notes
+
+Make sure the release notes and the annoucement are up to date. Look at doc/release-notes.html. Remove there anything which refers to a draft status.
+
+=== Last checks
+
+Make sure that there is no missing ASL header in the source files. The build of IvyDE generate a report there: https://builds.apache.org/job/IvyDE/lastSuccessfulBuild/artifact/trunk/work/rat/report.txt
+
+Make sure the copyright year in the NOTICE file is the current year.
+
+Make sure the copyright year in the html template is the current year; the 3 template files to check are: `template.html`, `template-eclipse.html` and `printTemplate.html`.
+
+=== Release branch
+
+Some modifications of the branch are need to do the release. So a new branch is needed:
+
+[source]
+----
+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"
+----
+
+and then checkout it:
+
+[source]
+----
+svn co https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION ivyde-$VERSION
+----
+
+=== Documentation release
+
+The documentation have to specify the correct version number:
+In the files:
+
+* doc/template.html +
+The header should look like this
+[source]
+----
+<title>${title} | Apache IvyDE $VERSION Documentation</title>
+----
+
+You'll need to fix the revision of the svn:external in doc. Edit the svn:external property on the folder doc and set it to the latest revision. It should look like:
+
+[source]
+----
+xooki -r1306546 https://svn.apache.org/repos/asf/ant/site/xooki/
+style -r1306546 https://svn.apache.org/repos/asf/ant/site/ivyde/sources/style/
+----
+
+=== Commit your changes
+
+Don't forget to commit the changes you've done into the release branch.
+
+== Building
+
+Make sure you have a proper working copy with a `svn status`. You should have no modification.
+
+Then launch the build:
+
+[source]
+----
+ant /release clean dist -DbaseLocation=/home/me/...../eclipse/
+----
+
+And sign the artifacts:
+
+[source]
+----
+./signArtifacts.sh
+----
+
+Then it is time to tag the release as soon as you are happy with your artifacts:
+
+[source]
+----
+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"
+----
+
+== Prepare the updatesite
+
+The instructions to build the updatesite are link:updatesite.html[there].
+
+== Vote for the released artifacts
+
+First the release needs to be publicly available.
+
+You can use the dev area of the dist subversion for that. Then just commit the artifacts into https://dist.apache.org/repos/dist/dev/ant/ivyde/$VERSION
+
+And launch the vote on the ant-dev mailing list:
+
+[source]
+----
+Subject: [VOTE] IvyDE $VERSION Release
+
+I have built a release candidate for Apache IvyDE $VERSION
+
+The tag is here: http://svn.apache.org/repos/asf/ant/ivy/ivyde/tags/$VERSION
+
+You can download the distribution from this URL: https://dist.apache.org/repos/dist/dev/ant/ivyde/$VERSION
+
+The Eclipse p2 repository is there: https://dist.apache.org/repos/dist/dev/ant/ivyde/updatesite/ivyde-$VERSION
+
+Do you vote for the release of these binaries?
+
+[ ] Yes
+[ ] No
+
+Regards,
+
+$ME, IvyDE $VERSION release manager
+----
+
+Note: this link:http://ant.apache.org/bylaws.html[page] is defining when and how a release can be accepted.
+
+== Deployment
+
+=== Publish the artifacts
+
+The binaries have to be pushed with their signatures and checksums in the apache dist. It is managed by svnpusub so it needs to be committed into the subversion https://dist.apache.org/repos/dist/release/ant/
+
+Then just do:
+
+[source]
+----
+$ svn mv https://dist.apache.org/repos/dist/dev/ant/ivyde/$VERSION https://dist.apache.org/repos/dist/release/ant/ivyde/$VERSION
+----
+
+In order to keep the main dist area of a reasonable size, old releases should be removed. They will disapear from the main dist but will still be available via the link:http://archive.apache.org/dist/ant/ivyde/[archive]. To do so, just use the `svn rm` command against the artifacts or folders to remove.
+
+=== Deploy the updatesite
+
+Follow the instructions of that link:updatesite.html#deployment[page].
+
+== Annoucement
+
+The annoucement should have been already prepared and reviewed by other committers. Its content can be found in doc/release-notes.html.
+
+With that content, send a mail to announce@apache.org, ivy-user@ant.apache.org and dev@ant.apache.org with the title "[ANNOUNCE] Apache IvyDE $VERSION released", and with your apache email as sender (announce@ requires it). 
+
+== Update the documentation
+
+=== Update the table of content
+
+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/sources/history:
+
+[source]
+----
+svn pe svn:externals .
+----
+
+And: 
+* update latest-milestone:
+[source]
+----
+latest-milestone https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION/doc 
+----
+
+* add an entry:
+[source]
+----
+$VERSION https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION/doc 
+----
+
+Then we need to edit svn/site/ivyde/sources/toc.json:
+
+* add the following data to the correct abstract node:
+[source]
+----
+            {
+                "title":"$VERSION",
+                "url":"http://ant.apache.org/ivy/ivyde/history/$VERSION/index.html"
+            }
+----
+
+* update the title of the latest-milestone history entry:
+
+[source]
+----
+            "title":"Documentation ($VERSION)"
+----
+
+Then svn update your working copy (to retrieve the new history branch).
+
+=== Update the download page
+
+In the page svn/site/ivyde/sources/download.html change every reference of the old version to the new one.
+
+=== Deploy
+
+All site editing being done, commit your changes.
+
+And now let's generate the site and deploy it:
+
+. generate the part of the site for the new version:
+[source]
+----
+ant generate-history -Dhistory.version=$VERSION
+----
+WARNING: that target is modifiying the toc.json in the imported branch so that the generated html have a proper version declared in the toc. You should not commit that change. Once the site has been generated, you may want to revert the changes so you won't commit it by mistake. (TODO: process to improve so we shouldn't worry).
+
+. generate the website with the new toc:
+[source]
+----
+ant /all generate-site
+----
+
+. you should verify that the site generated in target is OK. And once your happy with it, commit the changes in target (some svn add might be needed !) +
+
+== Post release tasks
+
+=== Jira
+
+Update the link:https://issues.apache.org/jira/secure/project/ManageVersions.jspa?pid=12310640[IvyDE Jira project]: mark the version as released.
+
+=== Bump the version
+
+Update the versions needs to be updated in the following files:
+
+* build.properties (edit the qualifier)
+
+* $$*$$/META-INF/MANIFEST.MF
+
+* $$*$$/feature.xml
+
+=== Update the doap file
+
+Add the just released version in IvyDE's doap file: see doap_IvyDE.rdf at the root of the project.
+
+=== Clean up the release notes
+
+Edit the release notes in the documentation (doc/release-notes.html) so it can be prepared and maintanined for the next release:
+
+* edit the content under "Release Annoucement": edit the version it is talking about and clean it up so it is a summary of the release notes
+* edit the content under "Status of this release": update it with the goal of the next release, or a TODO if it has not yet been defined
+* edit the content under "Major Changes in this Release": wipe it all and put there something like "Nothing done yet"
+* edit the content under "List of Changes in this Release": remove the list of entries and update the version in "List of changes since Apache IvyDE X.X.X"

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/dev/updatesite.adoc
----------------------------------------------------------------------
diff --git a/doc/src/dev/updatesite.adoc b/doc/src/dev/updatesite.adoc
new file mode 100644
index 0000000..baf77be
--- /dev/null
+++ b/doc/src/dev/updatesite.adoc
@@ -0,0 +1,123 @@
+////
+   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.
+////
+
+Once a release have been build for Ivy or IvyDE, they should be pushed to the Eclipse updatesite so that Eclipse users will be able to update automatically their installed version of Ivy or IvyDE.
+
+This doc is in two parts, the link:#setup[setup] of the updatesite which will be the candidate for the vote of the Ivy or IvyDE release, and the link:#deployment[final deployment] once the release is accepted.
+
+Important note: in this doc, the released version is denoted as $VERSION (and have to be replaced accordingly in every commands), but this is the OSGi one, not the usually shown one, in particular for release candidate versions. For instance an Ivy version can be `2.0.0-RC1` but the OSGi one, and the one to use here is `2.0.0.cr1`.
+
+== [[setup]]Build a p2 repository
+
+The svn location of the updatesite builder is there: https://svn.apache.org/repos/asf/ant/ivy/updatesite/trunk . We will build the p2 repository dedicated to the version to release.
+
+* For an Ivy release:
+As you have a build jar for Ivy, just do:
+[source]
+----
+ant build-ivy-p2-repo -Divy.jar=...../path/to/ivy.jar
+----
+
+* For an IvyDE release:
+The zip distribution needs to be unpacked into the updatesite directory:
+[source]
+----
+ant build-ivyde-p2-repo -Divyde.zip=...../path/to/org.apache.ivyde.feature-${VERSION}.zip
+----
+
+Now the binary files need to be signed.
+
+* For an Ivy release:
+[source]
+----
+./signArtifacts.sh ivy-${VERSION}
+----
+* For an IvyDE release:
+[source]
+----
+./signArtifacts.sh ivyde-${VERSION}
+----
+
+And finally commit your changes in `dist/dev` (this will put the p2 repository in the dev space of the dist repository).
+
+=== Test the updatesite
+
+The updatesite is ready to be tested at: `https://dist.apache.org/repos/dist/dev/ant/ivyde/updatesite/ivyde-${VERSION} `
+
+=== In case of an unaccepted release
+
+In case the release has not been accepted by the PMC, don't forget to cleanup the svn repository. To do so, just run:
+[source]
+----
+svn rm https://dist.apache.org/repos/dist/dev/ant/ivyde/updatesite/ivyde-$VERSION -m 'Remove rejected release'
+----
+
+== [[deployment]]Deployment of a release
+
+=== Clean up old releases
+
+First, you may want to remove from the main repository references to the older releases. Note also that the ASF policy regarding the space occupied by the main dist is about rectricting to only have the main stable released version available there; older are archived on archiche.apache.org.
+
+To remove a version from the main dist, you'll need to remove the data and remove its reference in the main updatesite.
+
+To remove the data:
+
+[source]
+----
+svn rm https://dist.apache.org/repos/dist/release/ant/ivyde/updatesite/ivyde-$OLD_VERSION -m 'Remove old version'
+----
+
+Then the version listed in the updatesite are maintained in `https://svn.apache.org/repos/asf/ant/ivy/updatesite/trunk/versions.xml`
+
+Then you have to decide if the version you removed should be still listed in the Eclipse updatesite or not.
+
+To remove a version from the listed one, edit the file `versions.xml`
+
+* If the version should no appear anymore, just delete the line about the deleted version.
+* If the version should still be listed, prepend the reference to the old version by `http://archive.apache.org/dist/ant/ivy/updatesite/`
+
+NB: adding or removing lines in `versions.xml` infer that you should edit the `size` attribute in the `versions.xml`, it should correspond to the number of "child".
+
+=== Publish the p2 repository data
+
+It is just about moving data (svn rm is not allowed, the two steps are required): 
+[source]
+----
+svn mv https://dist.apache.org/repos/dist/dev/ant/ivyde/updatesite/ivyde-$VERSION https://dist.apache.org/repos/dist/release/ant/ivyde/updatesite/ -m 'publishing the p2 repo of the release of IvyDE $VERSION'
+----
+
+=== Regenerate the main repo
+
+Last but not least, the p2 repository should now list the new release.
+
+Edit the file `versions.xml`, and add a line about the released version:
+[source]
+----
+<child location='ivyde-2.1.0'/>
+----
+
+NB: adding or removing lines in `versions.xml` infer that you should edit the `size` attribute in the `versions.xml`, it should correspond to the number of "child".
+
+And run:
+[source]
+----
+ant build-main-p2-repo
+----
+
+And now commit every modification in `dist/release`.

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/eclipsevar.adoc
----------------------------------------------------------------------
diff --git a/doc/src/eclipsevar.adoc b/doc/src/eclipsevar.adoc
new file mode 100644
index 0000000..bbaf27b
--- /dev/null
+++ b/doc/src/eclipsevar.adoc
@@ -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.
+////
+
+Eclipse contains a link:http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/preferences/run-debug/ref-string_substitution.htm[string substitution mecanism]. This feature allows you to specify a path location that can be shared between developers.
+
+Apache IvyDE uses it to find the ivysettings.xml and properties files in both the link:preferences.html#settings[global preference page] and the link:cpc/create.html#localconf[project specific preference page].
+
+== Options
+
+Using the "Workspace..." button will open a window to choose a file in the workspace. Apache IvyDE will automatically fill the field with the proper variable.
+
+image::images/eclipsevar_workspace.jpg[]
+
+Using the "File System..." button will allow you to choose a file in the file system. This path will not be portable.
+
+Finally, you can choose to depend on the Eclipse variable system by clicking on "Variable...".
+
+image::images/eclipsevar_variables.jpg[]
+
+== Backwards compatibility
+
+Previously, Apache IvyDE supported the `project://projectName/path/to/file.ext` protocol. It sill does, but references of this style will be automatically converted in the saved settings to the Eclipse variable way of defining this path: `${workspace_loc:projectName/path/to/file.ext}.`

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/images/add_ivy_nature.jpg
----------------------------------------------------------------------
diff --git a/doc/src/images/add_ivy_nature.jpg b/doc/src/images/add_ivy_nature.jpg
new file mode 100644
index 0000000..5f408d2
Binary files /dev/null and b/doc/src/images/add_ivy_nature.jpg differ

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/images/add_lib.jpg
----------------------------------------------------------------------
diff --git a/doc/src/images/add_lib.jpg b/doc/src/images/add_lib.jpg
new file mode 100644
index 0000000..3c2458e
Binary files /dev/null and b/doc/src/images/add_lib.jpg differ

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/images/addivylibrary.jpg
----------------------------------------------------------------------
diff --git a/doc/src/images/addivylibrary.jpg b/doc/src/images/addivylibrary.jpg
new file mode 100644
index 0000000..a1f2e81
Binary files /dev/null and b/doc/src/images/addivylibrary.jpg differ

http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/808c8f27/doc/src/images/ant-group-logo.gif
----------------------------------------------------------------------
diff --git a/doc/src/images/ant-group-logo.gif b/doc/src/images/ant-group-logo.gif
new file mode 100644
index 0000000..de57d34
Binary files /dev/null and b/doc/src/images/ant-group-logo.gif differ