Maven Erlang Plug-In Release Notes

Release History

Version Date Description
2.1.0 2011-09-23 Feature and bugfix release
2.0.0 2011-03-18 First stable release
1.0.0-beta 2010-12-17 Initial release

Release 2.1.0 - 2011-09-23

Type Changes By
update For test execution, the parameter 'test' now also supports a comma separated list of test modules to execute (-Dtest=foo,bar,baz) and not only a single value. olle-t
add The plugin's backend nodes write their output to a logfile name 'backend.log' located in the build directory. This is useful for debugging failed builds and unit test runs. schlagt, lti
update Changed resolution of required Erlang/OTP version to allow a trailing wildcard "*" - making it possible to require any maintenance release of some specified version, for example "R14B*". olle-t
fix Changed method that adds uploaded resources to the path (patha), solves path issues when running a project on a remote node. olle-t, schlagert
fix Copying of files will now preserve the executable bit. Uploaded resources will be flagged executable by default (on the remote machine). schlagert, olle-t
fix Avoid to unpack test scope dependencies when building a release project. schlagert, lti
add Resources will now be uploaded along with the modules and application files for the upload and run goals unless no temporary directory could be found on the target system. This fact will issue a warning message. schlagert
add Implemented the goal 'erlang:run' for release projects. schlagert, lti
add Unique backend nodes will now be started per project in order to support parallel builds of different projects. schlagert
add Added validator mojo to check the project credentials for legal values. olle-t, schlagert
update Changed the working directory of the backend nodes to the project's build directory. schlagert
fix Dialyzer mojo now checks for existing .erl-files before execution. Solves the problem with packaging projects not containing any source files (only includes). olle-t
add Added 'compileFirst' and 'testCompileFirst' parameters for users to be able to define compile priority of project modules manually. olle-t, schlagert
update Changed binding for site generation, pre-site now invokes 'erlang:coverage' and 'erlang:profile' in order to be able to build reports. olle-t
update Changed coverage report, splitting it into an 'erlang:coverage' goal, that only produces coverage data TXT-file, and an 'erlang:coverage-report' goal, that builds the HTML report. olle-t
fix Fixed problems when erlang runtime paths contain duplicate slashes (sometimes discovered on Linux and MacOS). schlagert
add Added support for the additional test source folder 'test' in erlang-std projects. schlagert
add Added support for eunit tests embedded into a (main) source module. These will now also be executed during the standard test phase. schlagert
fix Updated project configuration (POM) to work with Maven 3. olle-t
fix Enhanced compilation to check for exported "parse_transform/2" and sort those modules to the top of the compilation list. Resolves compilation dependencies issues. olle-t
fix Backend nodes will now be started in fully qualified hostname mode (-name) using one of the IPv4 addresses configured on the host machine. This fixes problems with backend node connectivity in certain environments, e.g. problems experienced on MacOS X or in networks without running DNS services. In case reading the IP addresses from the network interfaces fails the old behaviour (-name bla@localhost) is used. schlagert, lti
add Provided an alternative for the ERL_FLAGS environment variable for target systems. This variable is useful when different releases (nodes) should be run on the same host. schlagert
update Projects will now be run with dependencies by default when running an application in remote mode. schlagert
fix Fixed false test runner results when executing tests containing test generators. olle-t, schlagert
update Changed mojo logging to be more intuitive when displaying warnings and errors. schlagert
add Modules defining custom behaviours will now be compiled. This avoids warnings emitted when behaviours can't be found. schlagert
add Added 'erlang:profile' and 'erlang:profiling-report' - eprof based profiling and reporting, using the tests in an application project. olle-t
add Added 'erlang:relup' to generate sensible release upgrade file templates based on installed/deployed versions of a project. schlagert
add Added 'erlang:appup' to generate sensible application upgrade file templates based on installed/deployed versions of a project. schlagert
fix Fixed packaging problems where the wrong version string was used to for comparison when validating and checking dependencies. Fixes 3240436. schlagert, olle-t
fix Fixed packaging problems of release projects when the backend node has several OTP installations in its library directory. Standard OTP application dependencies will now be searched for in the code path of the current backend node. Fixes 3240233. schlagert

Release 2.0.0 - 2011-03-18

Type Changes By
add Added tool 'eapp2mvn' to deploy non-maven packaged erlang applications to a maven repository using configurable coordinates. Fixes 3167277. ghaskins
add Added generated help mojo 'erlang:help' to display information about the available goals. schlagert, olle-t
remove Removed the 'failIfNoTests' parameter for simplifying plug-ing usage. schlagert, heyll
fix Fixed dangling application project dependencies in 'target/lib' when changing a dependency version and not 'cleaning' the next build. schlagert, olle-t
update Made 'relup' and 'sys.config' files mandatory in erlang-rel projects. Added basic template generation for those in 'erlang:setup'. schlagert, olle-t
add Added the 'erlang:show-build-info' goal that outputs code paths and include paths used to compile the erlang sources, so that other tools (i.e. emacs) can compile erlang files of a mavenized erlang project. heyll
add Added UnArchiver support to erlang-rel artifacts. This allows other projects to consume these artifacts, e.g. rpm-maven-plugin based artifacts. ghaskins
remove Removed built-in mock library support. Use external library instead. E.g. 'erlymock' by Sven Heyll (https://github.com/sheyll/erlymock). schlagert
add Added experimental goal to create a startable target system from a release project (according to the official erlang documentation). schlagert
update Changed semantics of the ${ERTS} release packaging variables to expand to the complete erts version tuple as required by the release file's erts section. schlagert, olle-t
add Added goal erlang:upload to upload the applications and releases to a remote erlang node (located on another machine). schlagert
update Changed semantics of the ${APPLICATION_NAME} release packaging variables to expand to the complete application name, version tuple as required by the release file's applications section. schlagert
update Changed semantics of ${APPLICATIONS} for erlang-otp/erlang-std projects. This will now expand to a comma separated listing instead of an erlang list. Fixes 3166835. schlagert
update Release and release upgrade files of erlang-rel projects must now be of the form [ARTIFACTID].rel / [ARTIFACTID].relup. This allows usage of the maven-release-plugin that changes the effective project version in the pom while building. Though, generated release artifacts will retain the version information in the filenames. schlagert
fix Added support to recognise both British and American spelling of the -behaviour tag. Fixes 3166359. Thanks to ghaskins. schlagert
update Refined dependency management of releases by choosing the standard Erlang/OTP application versions from a specific OTP release. Availability of the required release is checked (but may be skipped for testing purposes). Fixes 3166835. Thanks to ghaskins. schlagert, olle-t
update Improved application packaging by adding the customizable ${APPLICATIONS} packaging variable which expands to all application dependencies (except OTP standard ones). Fixes 3166182. Thanks to ghaskins. schlagert, olle-t
update Improved release packaging by adding the customizable ${AUTODEPS} packaging variable which expands to all release dependencies (including OTP standard ones). Fixes 3165497. Thanks to ghaskins. schlagert, olle-t
update Changed the ${APPLICATIONS} release packaging variable to expand to a comma separated listing of all release dependencies (including OTP standard ones). Fixes 3165497. Thanks to ghaskins. schlagert
update Introduced two backend nodes. One used for testing and another one for compiling, packaging, running projects. schlagert, olle-t
add Added plain text coverage report as optional output direct to stdout instead of saved coverage report. olle-t
remove Removed support for SNMP resource compilation. schlagert
remove Main and test resources no longer supported by packaging, replaced with main and test priv directories (can be found using code:priv_dir/1). schlagert
add Added support for test and provided scope dependencies. schlagert
add Fixed run goal erlang:run to start all transitive application dependencies and pre-load all project (and dependency) modules. The goal can now run projects on remote nodes (located on another machine). schlagert
add Added more checks for release file management support, removed automatic release file generation. schlagert
add Added more checks for application file management support, removed automatic application file generation. schlagert
add Added several unit and integration tests. schlagert
add All mojos now use jinterface for erlang rpcs instead of using erl -run or erl -eval. First of all this speeds up the build significantly. Another big advantage is that the plugin can now be integrated into the development using emacs with the distel extension since the plugin can use the emacs distel node or vice versa. schlagert, olle-t
add Added packaging type erlang-std which respects the default Erlang/OTP application directory layout. schlagert
add Test suffixes can now be either "_test" (for backward compatibility) or "_tests" eunit standard. schlagert

Release 1.0.0-beta - 2010-12-17

Type Changes By
update Changed the use of the "test" property, a single specified test (-Dtest=some_test) is always considered to have a .beam suffix, but never assumes anything else about the test module name. olle-t
add New mojo that copies test-resources, bound to the generate-test-resources phase. olle-t
fix 'TEST' was not set while compiling sources in testphase for coverage. Added setting of 'TEST' macro to the cover2:compile call. heyll
add New parameter for the run goal, allowing optional command line parameters to be passed to the starting Erlang node. olle-t
add Parameter in the package goal, controlling if the temporary directory is deleted or not. olle-t
add Added mock system (formerly known as ltest_mock, formerly known as erlymock). The system is automatically available for test modules during the test phase. schlagert, heyll
fix Fixed various problems in test/compile phase when using include files from dependency applications. schlagert, heyll
update Changed dialyzer to run on sources not beams. schlagert
add New (fixed) surefire report generation handling each test module as separate test suite. Therefore an alternative surefire module is provided by the plugin. schlagert
add Added run goal for packaging erlang-otp to compile/test and run an Erlang/OTP application for easy testing. schlagert
add Release file generation and management support. schlagert
add Application file generation and management support. schlagert
add Added initial site documentation, generation of plugin-docs, changes and some development/contribution information. olle-t
add New coverage report, replacing the old one. Now includes line-coverage with annotated source code listings. olle-t
fix Fixed cover compilation with the export_all option to provide coverage reports for non-exported module functions. Therefore an alternative, patched cover module is provided by the plugin. schlagert
add Added support for the maven-release-plugin by using application and release packaging variables in .app and .rel files. schlagert
add Added possibility to include non-erlang sources into application packages. schlagert
fix Fixed different problems with release packaging. schlagert
add Changed erlang-otp packaging to .tar.gz internally. schlagert
add Added several unit and integration tests. schlagert
add Rewritten all mojos from the original maven-erlang plugin. schlagert
add Initial feature set: Compile project and test sources schlagert
add Initial feature set: Execute eunit tests schlagert
add Initial feature set: Execute dialyzer on Erlang/OTP applications and releases schlagert
add Initial feature set: Generate site documentation with edoc for project and test code as well as surefire test reports and basic test code coverage schlagert
add Initial feature set: Package Erlang/OTP applications schlagert
add Initial feature set: Package Erlang/OTP releases (consisting of Erlang/OTP applications) schlagert
add Initial feature set: Project setup-goal, with defaults for site and changelog, main sources and tests. olle-t