| ********************** |
| * Welcome to easyant * |
| ********************** |
| |
| Easyant is a toolbox focusing on easing project build processes. |
| It's based on Apache Ant and Apache Ivy, and allows for maximum flexibily, improved integration in existing build systems and provides conventions and guidelines. |
| |
| Our goals are : |
| |
| * to simplify build process by providing a set of ready to use build scripts (or modules) to ease the implementation of build system. |
| * to provide conventions and guidelines |
| * to leverage your ant knowledge (no need to learn another language) |
| * to remain adaptable : |
| o what about conventions ? : Even if Easyant comes with a lot of conventions, we never lock you in. |
| o what about modules ? : You can easily adapt it to your projects. The architecture of Easyant allows you to easily extends existing modules and to provide your own one. |
| o what if you already have an existing project ? Since Easyant is fully based on top of ant, you can keep your existing project along with the "old school" ant scripts. This should ease the migration to Easyant. |
| |
| ************************ |
| * How to run examples * |
| ************************ |
| |
| The Easyant source has a few sample projects that demonstrate how Easyant may be used in a project. Check the 'example' directory for all such examples. |
| |
| * standard-java-app use build-std-java build type. |
| * webapp-java use build-webapp-java build type and jetty-deploy plugin. |
| * standard-scala-app uses build-std-scala build type |
| * example-multimodule shows a multi-module project. |
| * std-java-with-documentation shows another project using build-std-java build type with documentation samples. |
| |
| To run the build of an example, you should first set up in your environment the EASYANT_HOME variable : |
| |
| * for windows users : set EASYANT_HOME=path\to\easyant |
| * for unix users : export EASYANT_HOME=path/to/easyant |
| |
| Then go to the example directory, and run: |
| |
| * for windows users : %EASYANT_HOME%\bin\easyant -p |
| * for unix users : $EASYANT_HOME/bin/easyant -p |
| |
| You may also add EASYANT_HOME to your path : |
| |
| * for windows users : set PATH=%EASYANT_HOME%\bin;%PATH% |
| * for unix users : export PATH=$EASYANT_HOME/bin:$PATH |
| |
| Then you should see all the available targets, which include all build phases inspired by maven 2, and some additional targets contributed by some plugins. |
| Main phases: |
| |
| clean delete any artifacts from previous builds |
| compile compile the source code of the project |
| documentation generate documentation |
| generate-local-version generate a local version number |
| generate-release-version generate a version number for a release |
| generate-resources generate resources for inclusion in the package |
| generate-shared-version generate a version number for shared publication |
| generate-sources generate any source code for inclusion in compilation |
| integration-test process and deploy the package if necessary into an environment where integration tests can be run |
| org.apache.easyant.plugins#phases-std.validate validate the project is correct and all necessary information is available |
| package take the compiled code and package it in its distributable format, such as a JAR. |
| post-integration-test perform actions required after integration tests have been executed. This may including cleaning up the environment |
| pre-integration-test perform actions required before integration tests are executed. This may involve things such as setting up the required environment |
| prepare-package perform any operations necessary to prepare a package before the actual packaging. This often results in an unpacked, processed version of the package |
| prepare-publish-local prepare a publish for a local repository |
| prepare-publish-shared prepare a publish for a shared repository (snapshot) |
| prepare-release prepare a release |
| process-classes post-process the generated files from compilation, for example to do bytecode enhancement on Java classes |
| process-documentation-resources copy and process the documentation resources into the destination directory |
| process-resources copy and process the resources into the destination directory, ready for packaging |
| process-sources process the source code, for example to filter any values |
| provision supply provision required by this project |
| publish-local publish the package into the local repository, for use as a dependency in other projects locally |
| publish-shared done in an integration environment, copies the final package to the remote repository for sharing with other developers and projects |
| release done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects |
| report generate report |
| test run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed |
| test-compile compile the test source code into the test destination directory |
| test-generate-resources create resources for testing |
| test-generate-sources generate any test source code for inclusion in compilation |
| test-process-resources copy and process the resources into the test destination directory |
| test-process-sources process the test source code, for example to filter any values |
| test-provision supply provision required to test this project |
| validate validate the project is correct and all necessary information is available |
| verify run any checks to verify the package is valid and meets quality criteri |
| |
| Default target: doit |
| |
| Then run: %EASYANT_HOME%\bin\easyant |
| |
| The example should be compiled, as well as unit tests, which should then be executed, and a jar should be produced in target/artifacts. |
| |
| To find more informations check the online documentation (http://incubator.apache.org/easyant/history/trunk/index.html) or download it through our website. |
| |
| |
| *************** |
| * Source code * |
| *************** |
| Easyant is released under Apache License 2.0. |
| |
| Sources can be found here |
| SVN Url : http://svn.apache.org/repos/asf/incubator/easyant/ |
| |
| ************ |
| * Web site * |
| ************ |
| |
| Check the website to get further information http://incubator.apache.org/easyant/ |
| |
| ************************************** |
| * IRC Channel (#easyant on freenode) * |
| ************************************** |
| We've registered an IRC channel on the freenode network for informal easyant discussions, asking questions or just hanging out and "socializing". |
| |
| The channel is #easyant on irc.freenode.net. |
| |
| Drop by if you are interested in the development of easyant, have a quick question or just want to get to know the people developing and using it. If you're new to IRC, be sure to learn how to get answers. A free web irc client is available here http://www.mibbit.com/ |
| |
| ************** |
| * Disclaimer * |
| ************** |
| |
| Apache EasyAnt is an effort undergoing incubation at The Apache Software |
| Foundation (ASF), sponsored by the Apache Ant PMC. Incubation is required of |
| all newly accepted projects until a further review indicates that the |
| infrastructure, communications, and decision making process have stabilized in |
| a manner consistent with other successful ASF projects. While incubation status |
| is not necessarily a reflection of the completeness or stability of the code, |
| it does indicate that the project has yet to be fully endorsed by the ASF. |