<commit_before>java-migration-playground
=========================

#### What's the setup?
The project consists of two libraries. They have been created like this (Maven is used as a build tool):
`mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.github.plaufer1980.java.migration.playground -DartifactId=j6-lib`
`mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.github.plaufer1980.java.migration.playground -DartifactId=j7-lib`

And two apps that depend on these libraries:
`mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.github.plaufer1980.java.migration.playground -DartifactId=j6-app`
`mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.github.plaufer1980.java.migration.playground -DartifactId=j7-app`

Everything is tied together by a multi-module POM so it can be built conveniently:
`mvn clean install`

As the names suggest there is one library with JDK 1.6 compatible source (_j6-lib_) and one that uses JDK 1.7 features (_j7-lib_). Same is true for the apps.
The multi-module POM uses the _maven-compiler-plugin_ to build everything with JDK 1.7 source and target versions and the JDK 1.6 modules override this with their own _maven-compiler-plugin_ configuration.

<commit_msg>improving README<commit_after>java-migration-playground
=========================

#### What's the setup?
The project consists of two libraries. They have been created like this (Maven is used as a build tool):
`mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.github.plaufer1980.java.migration.playground -DartifactId=j6-lib`
`mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.github.plaufer1980.java.migration.playground -DartifactId=j7-lib`

And two apps that depend on these libraries:
`mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.github.plaufer1980.java.migration.playground -DartifactId=j6-app`
`mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.github.plaufer1980.java.migration.playground -DartifactId=j7-app`

Everything is tied together by a multi-module POM so it can be built conveniently:
`mvn clean install`

As the names suggest there is one library with JDK 1.6 compatible source (_j6-lib_) and one that uses JDK 1.7 features (_j7-lib_). Same is true for the apps.
The multi-module POM uses the _maven-compiler-plugin_ to build everything with JDK 1.7 source and target versions and the JDK 1.6 modules override this with their own _maven-compiler-plugin_ configuration.


Single apps can be built using Maven's project list support:
`mvn clean install -am -pl j7-app`
`mvn clean install -am -pl j6-app`


#### Observations 
Interestingly, building the _j6-app_ (which is configured to be built with JDK 1.6 target) doesn't raise any warnings or errors regarding the JDK 1.7 sources from _j7-lib_.


{'fraction_non_alphanumeric': 0.09879437374413931, 'fraction_numerical': 0.02277294038847957, 'mean_word_length': 5.4514038876889845, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, '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': '6128825', 'n_tokens_mistral': 1016, 'n_tokens_neox': 901, 'n_words': 299}