Home
Name Modified Size Downloads / Week Status
Totals: 5 Items   3.0 MB 5
maven-erlang-plugin-readme.txt 2012-05-04 16.3 kB 11 weekly downloads
maven-erlang-plugin-2.2.0.tar.gz 2012-05-04 945.6 kB 11 weekly downloads
maven-erlang-plugin-2.1.0.tar.gz 2011-09-23 924.7 kB 11 weekly downloads
maven-erlang-plugin-2.0.0.tar.gz 2011-03-18 750.9 kB 11 weekly downloads
maven-erlang-plugin-1.0.0-beta.tar.gz 2010-12-21 365.2 kB 11 weekly downloads
############################################################################ # # maven-erlang-plugin - Maven Plug-In to manage Erlang projects. # ############################################################################ ---------------------------------------------------------------------------- Developers ---------------------------------------------------------------------------- * Sven Heyll * Timo Köpke * Tobias Schlager * Olle Törnström ---------------------------------------------------------------------------- Version 2.2.0 ---------------------------------------------------------------------------- New features: o Pre-compile sorting now supports the R15 `callback' attribute. o Added support for external config file inclusion in sys.config files. o Added automatic compilation of MIB files in either `src/main/mibs/' or `mibs/', for OTP and standard layout respectively. Compiled MIBs are put in the target `priv' directory. o Added 'coverageExclude' to coverage reporting, allowing for optional exclusion of modules from the coverage report. Useful for generated or transformed source code, that may be hard or impossible to test. Fixed Bugs: o Translation of .tar.gz dependencies into clean artifact names, solves issues with modular projects where sibling projects were not properly extracted. Thanks to charpi. o Made the application resource and upgrade files available during the test phase of application projects. This allows unit tests to call 'application:start/1' or 'application:start/2' on the respective application under test. Issue: 3502210. Thanks to charpi. o Removed `cover2.erl', now using normal coverage tool, solving issue with failing coverage reports when using the Meck mocking library. Issue: 3502206. Thanks to charpi. o Fixed Maven3 compatibility problems regarding lazy project dependency resolution. Solves issues with missing erlang POM dependencies in release projects. o Setting proper ownership of Temporary directory, for unpacked dependency priv resources, solving problems with un-readable packed priv files. Changes: o Enhanced the target system creation and execution by providing new start and attach scripts. Updated example documentation for target systems. o Resources may now also use the `${NAME}' property for interpolation of the project name into resource files. o Updated resolution of required Erlang/OTP version, now also allowing an "or" concept using pipe "|" separated version, for example "R14B*|R15B*" - meaning any R14B or R15B version is valid. o Profiling is no longer performed from normal EUnit tests, one must write test modules with the suffix `_prof.erl' profile code. NOTE: this change requires user action for projects that upgrade the plug-in. Also see use of the `-Dtest' parameter as an alternative solution. ---------------------------------------------------------------------------- Version 2.1.0 ---------------------------------------------------------------------------- Changes in this version include: New features: o 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. o 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. o Implemented the goal 'erlang:run' for release projects. o Unique backend nodes will now be started per project in order to support parallel builds of different projects. o Added validator mojo to check the project credentials for legal values. o Added 'compileFirst' and 'testCompileFirst' parameters for users to be able to define compile priority of project modules manually. o Added support for the additional test source folder 'test' in erlang-std projects. o Added support for eunit tests embedded into a (main) source module. These will now also be executed during the standard test phase. o 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. o Modules defining custom behaviours will now be compiled. This avoids warnings emitted when behaviours can't be found. o Added 'erlang:profile' and 'erlang:profiling-report' - eprof based profiling and reporting, using the tests in an application project. o Added 'erlang:relup' to generate sensible release upgrade file templates based on installed/deployed versions of a project. o Added 'erlang:appup' to generate sensible application upgrade file templates based on installed/deployed versions of a project. Fixed Bugs: o Changed method that adds uploaded resources to the path (patha), solves path issues when running a project on a remote node. o Copying of files will now preserve the executable bit. Uploaded resources will be flagged executable by default (on the remote machine). o Avoid to unpack test scope dependencies when building a release project. o Dialyzer mojo now checks for existing .erl-files before execution. Solves the problem with packaging projects not containing any source files (only includes). o Fixed problems when erlang runtime paths contain duplicate slashes (sometimes discovered on Linux and MacOS). o Updated project configuration (POM) to work with Maven 3. o Enhanced compilation to check for exported "parse_transform/2" and sort those modules to the top of the compilation list. Resolves compilation dependencies issues. o 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. o Fixed false test runner results when executing tests containing test generators. o Fixed packaging problems where the wrong version string was used to for comparison when validating and checking dependencies. Issue: 3240436. o 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. Issue: 3240233. Changes: o 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. o 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*". o Changed the working directory of the backend nodes to the project's build directory. o Changed binding for site generation, pre-site now invokes 'erlang:coverage' and 'erlang:profile' in order to be able to build reports. o 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. o Projects will now be run with dependencies by default when running an application in remote mode. o Changed mojo logging to be more intuitive when displaying warnings and errors. ---------------------------------------------------------------------------- Version 2.0.0 ---------------------------------------------------------------------------- Changes in this version include: New features: o Added tool 'eapp2mvn' to deploy non-maven packaged erlang applications to a maven repository using configurable coordinates. Issue: 3167277. o Added generated help mojo 'erlang:help' to display information about the available goals. o 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. o Added UnArchiver support to erlang-rel artifacts. This allows other projects to consume these artifacts, e.g. rpm-maven-plugin based artifacts. o Added experimental goal to create a startable target system from a release project (according to the official erlang documentation). o Added goal erlang:upload to upload the applications and releases to a remote erlang node (located on another machine). o Added plain text coverage report as optional output direct to stdout instead of saved coverage report. o Added support for test and provided scope dependencies. o 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). o Added more checks for release file management support, removed automatic release file generation. o Added more checks for application file management support, removed automatic application file generation. o Added several unit and integration tests. o 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. o Added packaging type erlang-std which respects the default erlang/OTP application directory layout. o Test suffixes can now be either "_test" (for backward compatibility) or "_tests" eunit standard. Fixed Bugs: o Fixed dangling application project dependencies in 'target/lib' when changing a dependency version and not 'cleaning' the next build. o Added support to recognise both British and American spelling of the -behaviour tag. Issue: 3166359. Thanks to ghaskins. Changes: o Made 'relup' and 'sys.config' files mandatory in erlang-rel projects. Added basic template generation for those in 'erlang:setup'. o 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. o 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. o Changed semantics of ${APPLICATIONS} for erlang-otp/erlang-std projects. This will now expand to a comma separated listing instead of an erlang list. Issue: 3166835. o 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. o 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). Issue: 3166835. Thanks to ghaskins. o Improved application packaging by adding the customizable ${APPLICATIONS} packaging variable which expands to all application dependencies (except OTP standard ones). Issue: 3166182. Thanks to ghaskins. o Improved release packaging by adding the customizable ${AUTODEPS} packaging variable which expands to all release dependencies (including OTP standard ones). Issue: 3165497. Thanks to ghaskins. o Changed the ${APPLICATIONS} release packaging variable to expand to a comma separated listing of all release dependencies (including OTP standard ones). Issue: 3165497. Thanks to ghaskins. o Introduced two backend nodes. One used for testing and another one for compiling, packaging, running projects. Removed: o Removed the 'failIfNoTests' parameter for simplifying plug-in usage. o Removed built-in mock library support. Use external library instead. E.g. 'erlymock' by Sven Heyll (https://github.com/sheyll/erlymock). o Removed support for SNMP resource compilation. o Main and test resources no longer supported by packaging, replaced with main and test priv directories (can be found using code:priv_dir/1). ---------------------------------------------------------------------------- Version 1.0.0-beta ---------------------------------------------------------------------------- Changes in this version include: New features: o New mojo that copies test-resources, bound to the generate-test-resources phase. o New parameter for the run goal, allowing optional command line parameters to be passed to the starting Erlang node. o Parameter in the package goal, controlling if the temporary directory is deleted or not. o Added mock system (formerly known as ltest_mock, formerly known as erlymock). The system is automatically available for test modules during the test phase. o New (fixed) surefire report generation handling each test module as separate test suite. Therefore an alternative surefire module is provided by the plugin. o Added run goal for packaging erlang-otp to compile/test and run an erlang/OTP application for easy testing. o Release file generation and management support. o Application file generation and management support. o Added initial site documentation, generation of plugin-docs, changes and some development/contribution information. o New coverage report, replacing the old one. Now includes line-coverage with annotated source code listings. o Added support for the maven-release-plugin by using application and release packaging variables in .app and .rel files. o Added possibility to include non-erlang sources into application packages. o Changed erlang-otp packaging to .tar.gz internally. o Added several unit and integration tests. o Rewritten all mojos from the original maven-erlang plugin. o Initial feature set: Compile project and test sources o Initial feature set: Execute eunit tests o Initial feature set: Execute dialyzer on erlang/OTP applications and releases o Initial feature set: Generate site documentation with edoc for project and test code as well as surefire test reports and basic test code coverage o Initial feature set: Package erlang/OTP applications o Initial feature set: Package erlang/OTP releases (consisting of erlang/OTP applications) o Initial feature set: Project setup-goal, with defaults for site and changelog, main sources and tests. Fixed Bugs: o 'TEST' was not set while compiling sources in testphase for coverage. Added setting of 'TEST' macro to the cover2:compile call. o Fixed various problems in test/compile phase when using include files from dependency applications. o 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. o Fixed different problems with release packaging. Changes: o 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. o Changed dialyzer to run on sources not beams.
Source: maven-erlang-plugin-readme.txt, updated 2012-05-04