Home
Name Modified Size InfoDownloads / Week
maven-erlang-plugin-readme.txt 2012-05-04 16.3 kB
maven-erlang-plugin-2.2.0.tar.gz 2012-05-04 945.6 kB
maven-erlang-plugin-2.1.0.tar.gz 2011-09-23 924.7 kB
maven-erlang-plugin-2.0.0.tar.gz 2011-03-18 750.9 kB
maven-erlang-plugin-1.0.0-beta.tar.gz 2010-12-21 365.2 kB
Totals: 5 Items   3.0 MB 0
############################################################################
#
# 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