Skip to content

Commit

Permalink
Merge pull request #54 from Nosto/play_1.7.1
Browse files Browse the repository at this point in the history
Play 1.7.1
  • Loading branch information
renat-nosto committed Oct 18, 2022
2 parents f06b73a + 400e648 commit fd4cff0
Show file tree
Hide file tree
Showing 176 changed files with 676 additions and 801 deletions.
10 changes: 0 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ nbproject/private
framework/tests-results
framework/src/version
framework/src/play/version
framework/src/play/version
framework/src/play/version
framework/tests/test-application/db
framework/play-*.jar
framework/docs
Expand All @@ -33,7 +31,6 @@ eclipse
.project
id
framework/tests-tmp
framework/docs
dist
modules/bespin/lib/bespin.jar
modules/ecss/lib/ecss.jar
Expand All @@ -42,7 +39,6 @@ resources/catalog.xml
resources/nbproject/private
modules/gae/lib/gae.jar
catalog.xml
modules/gae/lib/gae.jar
play-*.jar
modules/gae/bin
modules/gwt/lib/play-gwt.jar
Expand All @@ -51,7 +47,6 @@ test-result
logs
db
*.pyc
test-result
samples-and-tests/with-gwt/nbproject
samples-and-tests/jobboard/db
samples-and-tests/jobboard/tmp
Expand Down Expand Up @@ -133,11 +128,7 @@ atlassian-ide-plugin.xml
modules/*
build.classes
modules/crud/nbproject
nbproject
samples-and-tests/jobboard/attachments
samples-and-tests/jobboard/logs
samples-and-tests/jobboard/test-result
samples-and-tests/jobboard/tmp
samples-and-tests/validation/logs
samples-and-tests/zencontact/precompiled
!modules/docviewer
Expand All @@ -148,4 +139,3 @@ samples-and-tests/zencontact/precompiled
!modules/testrunner
!framework/src/play/db
!framework/test-src/play/db
*~
2 changes: 1 addition & 1 deletion documentation/manual/configuration.textile
Original file line number Diff line number Diff line change
Expand Up @@ -758,7 +758,7 @@ Java source level, which overrides the @java.version@ system property. For examp

bc. java.source=11

Values: @1.7@ (No longer supported since 1.5.0), @1.8@ (No longer supported since 1.7.0), @9@ (No longer supported since 1.7.0), @10@ (No longer supported since 1.7.0), @11@, @12@, @13@, @14@, @15@, @17@.
Values: @1.7@ (No longer supported since 1.5.0), @1.8@ (No longer supported since 1.7.0), @9@ (No longer supported since 1.7.0), @10@ (No longer supported since 1.7.0), @11@, @12@, @13@, @14@, @15@, @17@, @18@.

Default: @11@

Expand Down
1 change: 1 addition & 0 deletions documentation/manual/home.textile
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ h2. <a name="versionnotes">Version notes</a>
New versions of Play include certain changes. Check older release notes for:

# "About Play releases":releases/releases
# "Play 1.7.1":releases/release1.7.x/releasenotes-1.7.1
# "Play 1.7.0":releases/release1.7.x/releasenotes-1.7.0
# "Play 1.6.0":releases/release1.6.x/releasenotes-1.6.0
# "Play 1.5.3":releases/release1.5.x/releasenotes-1.5.3
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Play 1.7.1 -- Release notes

Play 1.7.1 has been released of the master branch.

The changes in this release are listed in the "1.7.1 on github":https://github.com/playframework/play1/milestone/7832586 including 13 resolved tickets.


## What's new in Play 1.7.1


## What's fixed in Play 1.7.1

* "#1397":https://github.com/playframework/play1/issues/1397 : Third party dependency update 20220403
* "#1399":https://github.com/playframework/play1/issues/1399 : [1.7.0] Regression: `play idealize` dies with `UnboundLocalError: local variable 'playHome' referenced before assignment`
* "#1400":https://github.com/playframework/play1/issues/1400 : fixed #1399 "UnboundLocalError: local variable 'playHome' referenced before assignment
* "#1401":https://github.com/playframework/play1/issues/1401 : Python3 incompatibilities in module manipulations
* "#1402":https://github.com/playframework/play1/issues/1402 : [#1401] 🐛 Fix python3 incompatibilities in module manipulation code
* "#1403":https://github.com/playframework/play1/issues/1403 : Temporary class of Groovy template is output directly under application dir
* "#1405":https://github.com/playframework/play1/issues/1405 : 1.7.0: concurrent modification exception
* "#1406":https://github.com/playframework/play1/issues/1406 : [#1403] 🐛 Fix Groovy compilation unit that tries to write in applicat…
* "#1408":https://github.com/playframework/play1/issues/1408 : #1405: replace HashMap be ConcurrentHashMap
* "#1409":https://github.com/playframework/play1/issues/1409 : update check of java version
* "#1411":https://github.com/playframework/play1/issues/1411 : Do not overwrite system property net.spy.log.LoggerImpl -> 1.7.1
* "#1413":https://github.com/playframework/play1/issues/1413 : #1405: replace HashMap be ConcurrentHashMap
* "#1414":https://github.com/playframework/play1/issues/1414 : Memcached implementaion broken due to log4j update
1 change: 1 addition & 0 deletions documentation/manual/releases/releases.textile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ You can download Play releases "here":https://www.playframework.com/download. Ea

h2. Play 1.7.x

# "Play 1.7.1":release1.7.x/releasenotes-1.7.1
# "Play 1.7.0":release1.7.x/releasenotes-1.7.0

h2. Play 1.6.x
Expand Down
2 changes: 1 addition & 1 deletion framework/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@
<!-- Tests -->

<target name="compile-tests" depends="compile">
<javac encoding="utf-8" nowarn="${compile.nowarn}" debug="true" destdir="classes" classpathref="project.classpath" srcdir="tests/src" source="1.8" target="1.8">
<javac encoding="utf-8" nowarn="${compile.nowarn}" debug="true" destdir="classes" classpathref="project.classpath" srcdir="tests/src" source="11" target="11">
<include name="**/*.java"/>
</javac>
</target>
Expand Down
53 changes: 27 additions & 26 deletions framework/dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ require: &allDependencies
- antlr 2.7.7
- com.mchange -> c3p0 0.9.5.5
- com.zaxxer -> HikariCP 5.0.1
- org.ow2.asm -> asm 9.2
- org.ow2.asm -> asm-commons 9.2
- org.ow2.asm -> asm-util 9.2
- org.ow2.asm -> asm-tree 9.2
- org.ow2.asm -> asm-analysis 9.2
- org.ow2.asm -> asm 9.3
- org.ow2.asm -> asm-commons 9.3
- org.ow2.asm -> asm-util 9.3
- org.ow2.asm -> asm-tree 9.3
- org.ow2.asm -> asm-analysis 9.3
- cglib -> cglib 3.3.0
- com.google.code.gson -> gson 2.8.9
- com.google.code.gson -> gson 2.9.1
- com.jamonapi -> jamon 2.82
- com.ning -> async-http-client 1.9.40
- commons-beanutils 1.9.4
Expand All @@ -34,50 +34,51 @@ require: &allDependencies
- javax.inject 1.0
- javax.validation -> validation-api 1.1.0.Final
- jaxen 1.2.0
- joda-time 2.10.13
- joda-time 2.11.1
- org.hamcrest -> hamcrest-all 1.3
- junit 4.13.2
- jregex 1.2_01
- log4j-api 2.17.1
- log4j-core 2.17.1
- log4j-api 2.18.0
- log4j-core 2.18.0
- net.sf.ehcache -> ehcache 2.10.9.2
- net.sf.ezmorph -> ezmorph 1.0.6
- net.sf.jsr107cache -> jsr107cache 1.1
- net.sf.oval -> oval 3.1.0
- mysql -> mysql-connector-java 8.0.28
- mysql -> mysql-connector-java 8.0.30
- oauth.signpost -> signpost-core 1.2.1.2
- org.apache.geronimo.specs -> geronimo-servlet_2.5_spec 1.2
- org.apache.ivy -> ivy 2.5.0
- org.bouncycastle -> bcprov-jdk15on 1.70
- org.bouncycastle -> bcpkix-jdk15on 1.70
- org.bouncycastle -> bcutil-jdk15on 1.70
- org.codehaus.groovy -> groovy 3.0.9
- org.codehaus.groovy -> groovy-xml 3.0.9
- org.eclipse.jdt -> org.eclipse.jdt.core 3.28.0
- org.bouncycastle -> bcprov-jdk18on 1.71.1
- org.bouncycastle -> bcpkix-jdk18on 1.71.1
- org.bouncycastle -> bcutil-jdk18on 1.71.1
- org.codehaus.groovy -> groovy 3.0.12
- org.codehaus.groovy -> groovy-xml 3.0.12
- org.eclipse.jdt -> org.eclipse.jdt.core 3.31.0
- org.hibernate -> hibernate-core 5.6.5.Final.patched
- net.bytebuddy -> byte-buddy 1.12.7
- net.bytebuddy -> byte-buddy 1.12.16
- javax.persistence -> javax.persistence-api 2.2
- org.hibernate.common -> hibernate-commons-annotations 5.1.2.Final
- org.hibernate -> hibernate-validator 5.4.1.Final
- org.jboss.logging -> jboss-logging 3.4.3.Final
- org.jboss -> jandex 2.4.3.Final
- org.jboss.logging -> jboss-logging 3.5.0.Final
- org.jboss.spec.javax.transaction -> jboss-transaction-api_1.2_spec 1.1.1.Final
- javax.persistence -> javax.persistence-api 2.2
- javax.xml.bind -> jaxb-api 2.3.1
- org.glassfish.jaxb -> jaxb-runtime 2.3.6
- com.fasterxml -> classmate 1.5.1
- org.hibernate -> hibernate-c3p0 5.6.5.Final
- org.hibernate -> hibernate-ehcache 5.6.5.Final
- org.hibernate -> hibernate-c3p0 5.6.11.Final
- org.hibernate -> hibernate-ehcache 5.6.11.Final
- com.mchange -> mchange-commons-java 0.2.20
- org.javassist -> javassist 3.28.0-GA
- org.javassist -> javassist 3.29.1-GA
- io.netty -> netty 3.10.6.Final
- org.postgresql -> postgresql 42.3.1
- org.slf4j -> slf4j-api 1.7.35
- org.apache.logging.log4j -> log4j-slf4j-impl 2.17.1
- org.yaml -> snakeyaml 1.30
- org.postgresql -> postgresql 42.5.0
- org.slf4j -> slf4j-api 1.7.36
- org.apache.logging.log4j -> log4j-slf4j-impl 2.18.0
- org.yaml -> snakeyaml 1.32
- net.spy -> spymemcached 2.12.3
- com.thoughtworks.xstream -> xstream 1.4.19
- xmlpull 1.1.3.4d_b4_min
- org.apache.logging.log4j -> log4j-web 2.17.1
- org.apache.logging.log4j -> log4j-web 2.18.0

# Default repositories, used for all projects
repositories:
Expand Down
Binary file removed framework/lib/asm-9.2.jar
Binary file not shown.
Binary file added framework/lib/asm-9.3.jar
Binary file not shown.
Binary file removed framework/lib/asm-analysis-9.2.jar
Binary file not shown.
Binary file added framework/lib/asm-analysis-9.3.jar
Binary file not shown.
Binary file removed framework/lib/asm-commons-9.2.jar
Binary file not shown.
Binary file added framework/lib/asm-commons-9.3.jar
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/asm-util-9.2.jar
Binary file not shown.
Binary file added framework/lib/asm-util-9.3.jar
Binary file not shown.
Binary file removed framework/lib/bcpkix-jdk15on-1.70.jar
Binary file not shown.
Binary file added framework/lib/bcpkix-jdk18on-1.71.1.jar
Binary file not shown.
Binary file removed framework/lib/bcprov-jdk15on-1.70.jar
Binary file not shown.
Binary file added framework/lib/bcprov-jdk18on-1.71.1.jar
Binary file not shown.
Binary file removed framework/lib/bcutil-jdk15on-1.70.jar
Binary file not shown.
Binary file added framework/lib/bcutil-jdk18on-1.71.1.jar
Binary file not shown.
Binary file added framework/lib/byte-buddy-1.12.16.jar
Binary file not shown.
Binary file removed framework/lib/byte-buddy-1.12.7.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/gson-2.8.9.jar
Binary file not shown.
Binary file added framework/lib/gson-2.9.1.jar
Binary file not shown.
Binary file added framework/lib/hibernate-c3p0-5.6.11.Final.jar
Binary file not shown.
Binary file removed framework/lib/hibernate-c3p0-5.6.5.Final.jar
Binary file not shown.
Binary file added framework/lib/hibernate-ehcache-5.6.11.Final.jar
Binary file not shown.
Binary file removed framework/lib/hibernate-ehcache-5.6.5.Final.jar
Binary file not shown.
Binary file removed framework/lib/jandex-2.4.2.Final.jar
Binary file not shown.
Binary file added framework/lib/jandex-2.4.3.Final.jar
Binary file not shown.
Binary file removed framework/lib/javassist-3.28.0-GA.jar
Binary file not shown.
Binary file added framework/lib/javassist-3.29.1-GA.jar
Binary file not shown.
Binary file removed framework/lib/jboss-logging-3.4.3.Final.jar
Binary file not shown.
Binary file added framework/lib/jboss-logging-3.5.0.Final.jar
Binary file not shown.
Binary file removed framework/lib/joda-time-2.10.13.jar
Binary file not shown.
Binary file added framework/lib/joda-time-2.11.1.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/log4j-web-2.17.1.jar
Binary file not shown.
Binary file added framework/lib/log4j-web-2.18.0.jar
Binary file not shown.
Binary file removed framework/lib/mysql-connector-java-8.0.28.jar
Binary file not shown.
Binary file added framework/lib/mysql-connector-java-8.0.30.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/snakeyaml-1.30.jar
Binary file not shown.
Binary file added framework/lib/snakeyaml-1.32.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions framework/pym/play/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -296,8 +296,8 @@ def java_cmd(self, java_args, cp_args=None, className='play.server.Server', args
javaVersion = getJavaVersion()
print("~ using java version \"%s\"" % javaVersion)

if javaVersion.startswith("1.5") or javaVersion.startswith("1.6") or javaVersion.startswith("1.7"):
print("~ ERROR: java version prior to 1.8 are no longer supported: current version \"%s\" : please update" % javaVersion)
if javaVersion.startswith("1.5") or javaVersion.startswith("1.6") or javaVersion.startswith("1.7") or javaVersion.startswith("1.8") or javaVersion.startswith("9") or javaVersion.startswith("10") :
print("~ ERROR: java version prior to 11 are no longer supported: current version \"%s\" : please update" % javaVersion)

java_args.append('-noverify')

Expand Down
1 change: 1 addition & 0 deletions framework/pym/play/commands/intellij.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ def execute(**kargs):
shutil.copyfile(os.path.join(play_env["basedir"], 'resources/idea/imlTemplate.xml'), imlFile)
cpXML = ""

playHome = play_env["basedir"].replace('\\', '/')
playHomeAlternative = app.toRelative(playHome).replace('\\', '/')
if playHomeAlternative[0:2] == "..":
playHome = "$MODULE_DIR$/" + playHomeAlternative
Expand Down
2 changes: 1 addition & 1 deletion framework/pym/play/commands/modulesrepo.py
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ def new(app, args, play_env):
replaceAll(os.path.join(app.path, 'conf/messages'), r'%MODULE%', application_name)
replaceAll(os.path.join(app.path, 'conf/dependencies.yml'), r'%MODULE%', application_name)
replaceAll(os.path.join(app.path, 'conf/routes'), r'%MODULE%', application_name)
replaceAll(os.path.join(app.path, 'conf/routes'), r'%MODULE_LOWERCASE%', string.lower(application_name))
replaceAll(os.path.join(app.path, 'conf/routes'), r'%MODULE_LOWERCASE%', application_name.lower())
os.mkdir(os.path.join(app.path, 'app'))
os.mkdir(os.path.join(app.path, 'app/controllers'))
os.mkdir(os.path.join(app.path, 'app/controllers/%s' % application_name))
Expand Down
3 changes: 1 addition & 2 deletions framework/src/play/Invoker.java
Original file line number Diff line number Diff line change
Expand Up @@ -413,10 +413,9 @@ public String getErrorDescription() {
static class WaitForTasksCompletion extends Thread {

static WaitForTasksCompletion instance;
Map<Future<?>, Invocation> queue;
final Map<Future<?>, Invocation> queue = new ConcurrentHashMap<>();

public WaitForTasksCompletion() {
queue = new ConcurrentHashMap<>();
setName("WaitForTasksCompletion");
setDaemon(true);
}
Expand Down
2 changes: 1 addition & 1 deletion framework/src/play/Logger.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public class Logger {
/**
* When using java.util.logging.
*/
public static java.util.logging.Logger juli = java.util.logging.Logger.getLogger("play");
public static final java.util.logging.Logger juli = java.util.logging.Logger.getLogger("play");
/**
* true if logger is configured manually (log4j-config file supplied by application)
*/
Expand Down
10 changes: 5 additions & 5 deletions framework/src/play/Play.java
Original file line number Diff line number Diff line change
Expand Up @@ -117,23 +117,23 @@ public boolean isProd() {
/**
* All paths to search for files
*/
public static List<VirtualFile> roots = new ArrayList<>(16);
public static final List<VirtualFile> roots = new ArrayList<>(16);
/**
* All paths to search for Java files
*/
public static List<VirtualFile> javaPath = new CopyOnWriteArrayList<>();
/**
* All paths to search for templates files
*/
public static List<VirtualFile> templatesPath = new ArrayList<>(2);
public static final List<VirtualFile> templatesPath = new ArrayList<>(2);
/**
* Main routes file
*/
public static VirtualFile routes;
/**
* Plugin routes files
*/
public static Map<String, VirtualFile> modulesRoutes = new HashMap<>(16);
public static final Map<String, VirtualFile> modulesRoutes = new HashMap<>(16);
/**
* The loaded configuration files
*/
Expand Down Expand Up @@ -168,7 +168,7 @@ public boolean isProd() {
/**
* Modules
*/
public static Map<String, VirtualFile> modules = new HashMap<>(16);
public static final Map<String, VirtualFile> modules = new HashMap<>(16);
/**
* Framework version
*/
Expand Down Expand Up @@ -433,7 +433,7 @@ private static Properties readOneConfigurationFile(String filename) {
for (Object key : propsFromFile.keySet()) {
String value = propsFromFile.getProperty(key.toString());
Matcher matcher = pattern.matcher(value);
StringBuffer newValue = new StringBuffer(100);
StringBuilder newValue = new StringBuilder(100);
while (matcher.find()) {
String jp = matcher.group(1);
String r;
Expand Down
2 changes: 1 addition & 1 deletion framework/src/play/PlayPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@ public Collection<Class> getFunctionalTests() {
* transaction around an action. The filter applies a transaction to the current Action.
*/
public abstract static class Filter<T> {
String name;
final String name;

public Filter(String name) {
this.name = name;
Expand Down
7 changes: 3 additions & 4 deletions framework/src/play/cache/EhCacheImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,15 @@
*/
public class EhCacheImpl implements CacheImpl {

private static final String cacheName = "play";
private static EhCacheImpl uniqueInstance;

CacheManager cacheManager;
final CacheManager cacheManager = CacheManager.create();

net.sf.ehcache.Cache cache;
final net.sf.ehcache.Cache cache;

private static final String cacheName = "play";

private EhCacheImpl() {
this.cacheManager = CacheManager.create();
this.cacheManager.addCache(cacheName);
this.cache = cacheManager.getCache(cacheName);
}
Expand Down
5 changes: 4 additions & 1 deletion framework/src/play/cache/MemcachedImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,10 @@ protected byte[] serialize(Object object) {
}

public void initClient() throws IOException {
System.setProperty("net.spy.log.LoggerImpl", "net.spy.memcached.compat.log.Log4JLogger");
String loggerImpl = System.getProperty("net.spy.log.LoggerImpl");
if (loggerImpl == null) {
System.setProperty("net.spy.log.LoggerImpl", "net.spy.memcached.compat.log.SLF4JLogger");
}

List<InetSocketAddress> addrs;
if (Play.configuration.containsKey("memcached.host")) {
Expand Down
8 changes: 4 additions & 4 deletions framework/src/play/classloading/ApplicationClasses.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import java.io.FileOutputStream;
import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import javassist.ClassPool;
import javassist.CtClass;
Expand All @@ -26,17 +26,17 @@ public class ApplicationClasses {
/**
* Reference to the eclipse compiler.
*/
ApplicationCompiler compiler = new ApplicationCompiler(this);
final ApplicationCompiler compiler = new ApplicationCompiler(this);
/**
* Cache of all compiled classes
*/
Map<String, ApplicationClass> classes = new HashMap<>();
Map<String, ApplicationClass> classes = new ConcurrentHashMap<>();

/**
* Clear the classes cache
*/
public void clear() {
classes = new HashMap<>();
classes = new ConcurrentHashMap<>();
}

/**
Expand Down
5 changes: 2 additions & 3 deletions framework/src/play/classloading/ApplicationClassloader.java
Original file line number Diff line number Diff line change
Expand Up @@ -322,8 +322,7 @@ public void detectChanges() throws RestartNeededException {
modifieds.add(applicationClass);
}
}
Set<ApplicationClass> modifiedWithDependencies = new HashSet<>();
modifiedWithDependencies.addAll(modifieds);
Set<ApplicationClass> modifiedWithDependencies = new HashSet<>(modifieds);
if (!modifieds.isEmpty()) {
modifiedWithDependencies.addAll(Play.pluginCollection.onClassesChange(modifieds));
}
Expand Down Expand Up @@ -449,7 +448,7 @@ public List<Class> getAllClasses() {
}
}

Collections.sort(result, Comparator.comparing(Class::getName));
result.sort(Comparator.comparing(Class::getName));
}

Map<String, ApplicationClass> byNormalizedName = new HashMap<>(result.size());
Expand Down
Loading

0 comments on commit fd4cff0

Please sign in to comment.