<commit_before>Play Pure-Maven Plugin
======================

This plugin allows Play Framework 2.0 projects to use the Maven build system instead of SBT.

The plugin provides a solution to organizations who already have maven experience or
would like to create a web application with Play Framework that plays well
with other modules managed by maven.

Currently, the plugin simply allows maven to compile *.scala.html,
compile the routes file, and includes the "public" assets directory in your build.

This plugin is easy to test out since it is possible to add it to
an existing Play SBT project without modifying the directory structure.


Features
--------

- Does not require that Play or SBT be installed
- Compiles HTML Scala templates
- Compiles conf/routes file
- Makes static assets available in the classpath with no copying

Benefits
--------

- Supports use of play in sub-projects (modules)
- Better junit support (e.g. running cucumber-jvm through junit)
- Full maven remote repo support (whereas SBT uses Ivy which is not 100% compatible)
- Mature IDE support
- Better Jenkins integration

To-Do
-----

- Support continuous compilation of templates as source files are edited
- Provide a hot-reloading development server through an SBTLink implementation or other mechanism
- Find a way to use the play version specified by the plugin consumer rather than specifying a version in this plugin
- As an Alternative, version this plugin based on the play version it is tied with
- Asset linking is only supported on unix-like systems. A solution for Windows would be nice.

License
-------

This project is licensed under the Apache License Version 2.0.
A copy of the license is available in the LICENSE file.

Maven Project Setup (pom.xml)
------------------------------

Refer to ``sample_play_project_pom.xml`` for a non-trivial maven example
project which works with the recommended Play 2.0 file layout.
It handles class paths appropriately, sets up the scala compiler, and invokes
the play-pure-maven plugin at the right points. This sample also shows how to
set up jar packaging, provides the ability to start the production server with ``mvn exec:exec``,
and shows how to correctly set up code coverage analysis for a typical play project.

If you are a Maven maven, you can take a look at the relevant additions to the POM:

In the plugins section:

::

   <plugin>
       <groupId>com.nominum.build</groupId>
       <artifactId>play-pure-maven-plugin</artifactId>
       <version>1.1-SNAPSHOT</version>
       <executions>
           <execution>
               <goals>
                   <goal>compile-templates</goal>
                   <goal>link-assets</goal>
               </goals>
           </execution>
       </executions>
   </plugin><commit_msg>Update README with credit to Nominum!<commit_after>Play Pure-Maven Plugin
======================

This plugin allows Play Framework 2.0 projects to use the Maven build system instead of SBT.

The plugin provides a solution to organizations who already have maven experience or
would like to create a web application with Play Framework that plays well
with other modules managed by maven.

Currently, the plugin simply allows maven to compile *.scala.html,
compile the routes file, and includes the "public" assets directory in your build.

This plugin is easy to test out since it is possible to add it to
an existing Play SBT project without modifying the directory structure.


Features
--------

- Does not require that Play or SBT be installed
- Compiles HTML Scala templates
- Compiles conf/routes file
- Makes static assets available in the classpath with no copying

Benefits
--------

- Supports use of play in sub-projects (modules)
- Better junit support (e.g. running cucumber-jvm through junit)
- Full maven remote repo support (whereas SBT uses Ivy which is not 100% compatible)
- Mature IDE support
- Better Jenkins integration

To-Do
-----

- Support continuous compilation of templates as source files are edited
- Provide a hot-reloading development server through an SBTLink implementation or other mechanism
- Find a way to use the play version specified by the plugin consumer rather than specifying a version in this plugin
- As an Alternative, version this plugin based on the play version it is tied with
- Asset linking is only supported on unix-like systems. A solution for Windows would be nice.

License
-------

This project is licensed under the Apache License Version 2.0.
A copy of the license is available in the LICENSE file.

This software was originally developed at Nominum_ for internal use. Nominum allowed it to be released to the broader Play Framework community while supporting its future development by employing the author.

.. _Nominum: http://www.nominum.com/

Maven Project Setup (pom.xml)
------------------------------

Refer to ``sample_play_project_pom.xml`` for a non-trivial maven example
project which works with the recommended Play 2.0 file layout.
It handles class paths appropriately, sets up the scala compiler, and invokes
the play-pure-maven plugin at the right points. This sample also shows how to
set up jar packaging, provides the ability to start the production server with ``mvn exec:exec``,
and shows how to correctly set up code coverage analysis for a typical play project.

If you are a Maven maven, you can take a look at the relevant additions to the POM:

In the plugins section:

::

   <plugin>
       <groupId>com.nominum.build</groupId>
       <artifactId>play-pure-maven-plugin</artifactId>
       <version>1.1-SNAPSHOT</version>
       <executions>
           <execution>
               <goals>
                   <goal>compile-templates</goal>
                   <goal>link-assets</goal>
               </goals>
           </execution>
       </executions>
   </plugin>
{'fraction_non_alphanumeric': 0.07580174927113703, 'fraction_numerical': 0.003772937746527182, 'mean_word_length': 3.260043827611395, 'pattern_counts': {'":': 0, '<': 39, '<?xml version=': 0, '>': 39, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1289859', 'n_tokens_mistral': 1525, 'n_tokens_neox': 1426, 'n_words': 775}