Impala allows you to divide a large Spring-based application into a hierarchy of modules. These modules can be dynamically added, updated or removed.
Because Impala-based applications are genuinely modular, they are much easier to maintain than vanilla Spring applications.
Impala radically boosts productivity of Spring application development. This is enabled by the dynamic module loading capability, the seamless integration with Eclipse, and the efficient mechanisms for running Spring integration tests, both individually and within suites. When writing applications you only rarely need to restart your JVM, allowing your application changes to be reflected almost instantly. No long restart waits required!
Impala also features a build system, based on ANT, and dependency management capabilities, which you can optionally use.
For up to date news on development of Impala, see the project blog.
Impala is developed under the Apache Licence, Version 2.
It is currently common to build a number of releases from a single code base. For example, a development release, a QA release, a production release and perhaps customer-specific releases. However, these releases seem to differ mostly in the contents of their XML configuration files, and then only very little. Maintaining all these slightly different configuration files is a real nuisance.
XConf was created to simplify this maintenance. Its fundamental premise is that a single development-release (or production-release) configuration file is created and maintained, and is processed by XConf at either build or deployment time into an appropriate release by applying one or more XML-based scripts. Each script contains only the differences required to create the appropriate release, thus removing the need for the mass duplication of configuration files.
This is not really a new solution, since XSLT has been used in the past to do this quite successfully, but XPath can get a little arcane, and maintaining transformation scripts using XSLT can become really complex very quickly. XConf uses a very simple and compact method of specifying elements that need to be processed, and provides some very useful constructs to make transformations painless.
Externalizer is a directory based Ant task to externalize strings. The externalize process search all occurrences of a pattern defined string and externalize this string in a further file. The great advantage of the Externalizer is the scalability and extendability via modular structure. Smooth integration into Apache Ant gives an advantage to configure the Externalizer in an easy way.
The Externalizer can be used with all types of files or programming languages, f.e. php, java and so on. For each programming language you can define your own patterns to find strings, to substitute and to externalize them.
Xooctory is an open source continuous integration server, aiming to provide the following features:
* Open Source
* Massively scalable
* Flexible
* Build dependency aware
* Instant and rich feedback
* Secured
Maven DocCheck Plugin is a report-type plugin for Apache Maven. It will create and register a report on missing and corrupt javadoc comments using the Sun Doc Check Doclet.
Generates documentation for the Java code in the project using the Doc Check Doclet. The default settings will suit many projects, and simply entering maven doccheck will create the standard documentation.
The Archive Builder Eclipse plug-in provides a wizard to specify the building process of Java archives (jar, war, ear, ...). Then, archives can be manipulated directly through a context menu in the Project Explorer view.
This project collects and consolidates data from several QA tools and keeps track of them overtime. This allows developers, architects and project managers alike to be presented with a trend of the QA statistics of their project.
The following tools are currently supported:
* Checkstyle: code style validation and design checks. QALab keeps track of number of violations per file and overall.
* PMD: Code checks (possible bugs, dead code, sub-optimal code, etc). QALab keeps track of number of violations per file and overall.
* PMD CPD: Duplicate code (always a bad idea) detection. QALab keeps track of number of the overall number of duplicated lines.
* FindBugs: fantastic tool to detect potential bugs (really!). QALab keeps track of number of violations per file and overall.
* Cobertura: Coverage tool. QALab keeps track of percentage of branch and line coverage.
* Simian: excellent duplicate code detection (non-open source). QALab keeps track of number of the overall number of duplicated lines.
Ivy is a popular dependency manager focusing on flexibility and simplicity.
Find out more about its unique enterprise features, what people say about it,
and how it can improve your build system!
Artifactory is a Maven2 proxy repository with advanced features. It is based on JCR (using JackRabbit as the implementation), with a web UI based on Wicket, and embeded Jetty for quick start. All artifacts are stored in an embedded Derby DB.
Antmod is a Java and Ant based tool for:
1. Build Management:
* Antmod plugins help you speed-up java development
* Share build files across projects in a consistent way
2. Release Management:
* Release descriptors describe your projects
* Versioning is standardized across projects
* Modularize your software development process
3. Repository Management:
* CVS or Subversion repositories are accessible easily and consistently
Build. Test. Release.
Maestro - the powerful, open source-based solution stack from Mergere, brings best practices to build automation, eliminating most tedious interaction at runtime.
Based on the Apache Software Foundation's Maven, the Mergere's build platform frees developers to focus on writing applications, instead of writing build scripts. Maestro gives development teams the tools to automate, track, audit and analyze their application life cycle, to ensure that builds run from start to finish without issues -- shortening release time-lines, enhancing code quality, and enabling organizations to capture, maintain and reuse project knowledge.
jeanda stands for "Java Efficiency and Agility Analysis". It is a set of ant tasks and supporting Java code which are intended to be inserted into project builds. When inserted, it compares the .class files in the build fileset with previous builds, with the help of BCEL.
It is intended to be fast, relatively space efficient, and non-intrusive - if successful in these respects, then it will not inhibit project builds. And, as long as it does not hinder project builds, then it has the capability to provide useful raw experimental data from a variety of Java development projects.
The classdepandjar utility provides an Ant task that will create a jar file from the list of classes generated by the ClassDep tool that is part of the Jini[tm] Technology SDK.