Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
7f9b021
Updated 3rd party library dependencies
tazmaniax Oct 9, 2022
d5e0811
Updated dependencies. All tests pass
tazmaniax Oct 29, 2022
ee29e48
cleanup code
aleksandy Nov 10, 2022
618d846
bugfix::remove initialization of unused variable
aleksandy Nov 10, 2022
6813b26
Updated dependencies. All tests pass
tazmaniax Nov 18, 2022
33b00eb
When [Hibernate Envers](https://hibernate.org/orm/envers/) is trigger…
EddyVerbruggen Nov 22, 2022
6855c09
Updated dependencies. All tests pass
tazmaniax Dec 2, 2022
cdb3150
Updated dependencies. All tests pass
tazmaniax Dec 2, 2022
4f0ae97
Updated dependencies. All tests pass. This adds support for Java 19
tazmaniax Dec 8, 2022
557a968
Merge pull request #1428 from tazmaniax/dependency_update_20221009
xael-fry Dec 11, 2022
5a1ecb0
issue #59: play auto-test can return an exit code of zero when the te…
Dec 28, 2022
001efe8
Updated dependencies
tazmaniax Jan 6, 2023
6d09ef6
Updated dependencies
tazmaniax Jan 6, 2023
e942e74
Updated dependencies
tazmaniax Jan 6, 2023
39943fd
Upgraded Commons Lang to v3
tazmaniax Jan 9, 2023
e1c1f9f
Fixed warnings associated with generics
tazmaniax Jan 9, 2023
501166a
Fixed warnings associated with generics
tazmaniax Jan 9, 2023
df17f55
Upgraded Commons Lang to v3
tazmaniax Jan 9, 2023
32167b4
Upgraded Commons Lang to v3
tazmaniax Jan 9, 2023
d8488f2
Updated 3rd party dependencies
tazmaniax Jan 9, 2023
82213cc
Updated dependencies
tazmaniax Feb 5, 2023
88a0454
Updated dependencies
tazmaniax Mar 2, 2023
2c281f0
Updated dependencies
tazmaniax Mar 23, 2023
85c5f0d
Updated dependencies
tazmaniax Apr 6, 2023
0b87d57
Updated dependencies
tazmaniax Apr 18, 2023
2c72fe7
Updated dependencies
tazmaniax Apr 18, 2023
ee31e0a
Updated dependencies
tazmaniax Apr 28, 2023
4bf60df
Fix missing HTTPMessage.getHeader()
runlevel5 Jun 26, 2023
1e50f43
Merge pull request #1441 from tazmaniax/dependency-update-20230106
xael-fry Jun 28, 2023
21f5bfb
Merge pull request #1438 from tazmaniax/Upgrade_Commons_Lang
xael-fry Jun 28, 2023
fa1f7a9
[#1146] test(python): use python 3 for build instead of deprecated py…
xael-fry Jul 14, 2023
be89372
Updated 3rd party dependencies
tazmaniax Jul 14, 2023
c0e166c
Merge pull request #1447 from xael-fry/1446_remove-python2.x
xael-fry Jul 15, 2023
ccd502d
Merge pull request #1440 from tazmaniax/fix-generics_and_deprecation_…
xael-fry Jul 15, 2023
f8812ce
Merge pull request #1435 from tstedman/issue_59_auto_test_return_0_on…
xael-fry Jul 15, 2023
586609b
Merge pull request #1431 from aleksandy/bugfix/1430-do-not-get-unused…
xael-fry Jul 15, 2023
ef77488
Updated 3rd party dependencies
tazmaniax Aug 24, 2023
5747b3f
Reverted Eclipse JDT to 0.33.0
tazmaniax Aug 24, 2023
ed1ca19
Updated 3rd party dependencies in samples and tests
tazmaniax Aug 24, 2023
ea369e8
Updated 3rd party dependencies
tazmaniax Sep 15, 2023
663a132
Updated Eclipse JDT to 0.35.0 - but not expecting it to work for JDK 11
tazmaniax Sep 15, 2023
14baa56
Revert "Updated Eclipse JDT to 0.35.0 - but not expecting it to work …
tazmaniax Sep 15, 2023
fade597
Updated 3rd party dependencies
tazmaniax Oct 11, 2023
c6fe899
Merge pull request #1448 from tazmaniax/dependencies_update_20230714
xael-fry Oct 16, 2023
ee3958a
Merge pull request #1432 from EddyVerbruggen/master
xael-fry Oct 16, 2023
d74460d
Removed Python imp dependency
tazmaniax Dec 10, 2023
76ae694
Add missing CR/LF at the bottom of the file
tazmaniax Dec 10, 2023
f832ef8
Merge pull request #1444 from runlevel5/patch-1
xael-fry Dec 11, 2023
3572b5c
#1457 feat(action): update action version:
xael-fry Feb 11, 2024
eb3670c
#1457 test!: disable i-am-a-developer for test
xael-fry Feb 11, 2024
19fa7db
#1457 fix(i-am-a-developer): fix test_jvm_version_flag
xael-fry Feb 11, 2024
35c3a08
Merge remote-tracking branch 'play/master' into upstream-pull-2024-02
renat-nosto Feb 24, 2024
6211a2f
#1457 fix(i-am-a-developer): deactivate ssl test for now
xael-fry Feb 26, 2024
55ca839
Merge pull request #1465 from xael-fry/1457_python-imp-module
xael-fry Feb 27, 2024
cd2b066
post-merge cleanup
renat-nosto Feb 27, 2024
152a502
Merge remote-tracking branch 'play/master' into upstream-pull-2024-02
renat-nosto Feb 27, 2024
4c679fe
fix tests.py
renat-nosto Feb 27, 2024
79ccb12
java 21 support
renat-nosto Feb 27, 2024
7509a5a
debug ci failure
renat-nosto Feb 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 13 additions & 16 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,19 @@ jobs:

strategy:
matrix:
jdk: [ 11, 17 ]
os: [ubuntu-latest, windows-latest]
exclude:
- os: windows-latest
jdk: 11
jdk: [ 17, 21 ]
os: [ubuntu-latest]

name: Check / Tests -> JDK-${{ matrix.jdk }}/${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves
fetch-depth: 0

- name: Set up python 3
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: '3.x'
architecture: 'x64'
Expand All @@ -39,7 +36,7 @@ jobs:
- run: pip install -r python/requirements.txt

- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v2
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.jdk }}
distribution: 'adopt'
Expand All @@ -55,29 +52,29 @@ jobs:
name: BUILD ${{ github.sha }}
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves
fetch-depth: 0

- name: Set up python 2
uses: actions/setup-python@v2
- name: Set up python 3
uses: actions/setup-python@v4
with:
python-version: '2.x'
python-version: '3.x'
architecture: 'x64'

- name: Set up JDK 17
uses: actions/setup-java@v2
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
java-version: 17
java-version: 21
distribution: 'adopt'

- name: Build with Ant
working-directory: ./framework
run: ant artifact

- name: ziping artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: play-${{ github.sha }}
if-no-files-found: error
Expand Down
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@, @18@.
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@, @19@.

Default: @11@

Expand Down
9 changes: 9 additions & 0 deletions framework/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,15 @@
<param name="play.user.country" value="-Duser.country=US"/>
<param name="play.enhancement" value="-DenableAllEnhancers=true" />
</antcall>
<if>
<available file="${basedir}/../samples-and-tests/just-test-cases/test-result/continuations.test.html.failed.html"/>
<then>
<loadfile property="content" srcfile="${basedir}/../samples-and-tests/just-test-cases/test-result/continuations.test.html.failed.html"/>
<echo message="========================================================"></echo>
<echo message="${content}" />
<echo message="========================================================"></echo>
</then>
</if>

<antcall target="play-test">
<param name="testAppPath" value="${basedir}/../samples-and-tests/forum"/>
Expand Down
74 changes: 38 additions & 36 deletions framework/dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,72 +10,74 @@ require: &allDependencies
- antlr 2.7.7
- com.mchange -> c3p0 0.9.5.5
- com.zaxxer -> HikariCP 5.0.1
- 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
- org.ow2.asm -> asm 9.6
- org.ow2.asm -> asm-commons 9.6
- org.ow2.asm -> asm-util 9.6
- org.ow2.asm -> asm-tree 9.6
- org.ow2.asm -> asm-analysis 9.6
- cglib -> cglib 3.3.0
- com.google.code.gson -> gson 2.9.1
- com.google.code.gson -> gson 2.10.1
- com.jamonapi -> jamon 2.82
- com.ning -> async-http-client 1.9.40
- commons-beanutils 1.9.4
- commons-codec 1.15
- commons-codec 1.16.0
- org.apache.commons -> commons-email 1.5
- commons-fileupload 1.4
- commons-io 2.11.0
- commons-fileupload 1.5
- commons-io 2.14.0
- com.google.code.maven-play-plugin.org.apache.commons -> commons-javaflow 1590792
- commons-lang 2.6
- org.apache.commons -> commons-lang3 3.13.0
- org.apache.commons -> commons-text 1.10.0
- commons-logging 1.2
- org.dom4j -> dom4j 2.1.3
- org.dom4j -> dom4j 2.1.4
- com.h2database -> h2 1.4.200
- javax.activation -> javax.activation-api 1.2.0
- com.sun.mail -> javax.mail 1.6.2
- javax.inject 1.0
- javax.validation -> validation-api 1.1.0.Final
- jaxen 1.2.0
- joda-time 2.11.1
- jaxen 2.0.0
- joda-time 2.12.5
- org.hamcrest -> hamcrest-all 1.3
- junit 4.13.2
- jregex 1.2_01
- log4j-api 2.18.0
- log4j-core 2.18.0
- org.apache.logging.log4j -> log4j-api 2.20.0
- org.apache.logging.log4j -> log4j-core 2.20.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
- 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-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.apache.ivy -> ivy 2.5.2
- org.bouncycastle -> bcprov-jdk18on 1.76
- org.bouncycastle -> bcpkix-jdk18on 1.76
- org.bouncycastle -> bcutil-jdk18on 1.76
- org.codehaus.groovy -> groovy 3.0.19
- org.codehaus.groovy -> groovy-xml 3.0.19
- org.eclipse.jdt -> org.eclipse.jdt.core 3.36.0
- org.eclipse.jdt -> ecj 3.36.0
- org.hibernate -> hibernate-core 5.6.5.Final.patched
- net.bytebuddy -> byte-buddy 1.12.16
- net.bytebuddy -> byte-buddy 1.14.9
- 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 -> jandex 2.4.3.Final
- org.jboss.logging -> jboss-logging 3.5.0.Final
- org.hibernate -> hibernate-validator 5.4.3.Final
- io.smallrye -> jandex 3.1.5
- org.jboss.logging -> jboss-logging 3.5.3.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.11.Final
- org.hibernate -> hibernate-ehcache 5.6.11.Final
- org.glassfish.jaxb -> jaxb-runtime 2.3.8
- com.fasterxml -> classmate 1.6.0
- org.hibernate -> hibernate-c3p0 5.6.15.Final
- org.hibernate -> hibernate-ehcache 5.6.15.Final
- com.mchange -> mchange-commons-java 0.2.20
- org.javassist -> javassist 3.29.1-GA
- org.javassist -> javassist 3.29.2-GA
- io.netty -> netty 3.10.6.Final
- 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
- org.postgresql -> postgresql 42.6.0
- org.slf4j -> slf4j-api 2.0.9
- org.apache.logging.log4j -> log4j-slf4j2-impl 2.20.0
- org.yaml -> snakeyaml 2.2
- net.spy -> spymemcached 2.12.3
- com.thoughtworks.xstream -> xstream 1.4.19
- com.thoughtworks.xstream -> xstream 1.4.20
- xmlpull 1.1.3.4d_b4_min
- org.apache.logging.log4j -> log4j-web 2.18.0

Expand Down
Binary file removed framework/lib/asm-9.3.jar
Binary file not shown.
Binary file added framework/lib/asm-9.6.jar
Binary file not shown.
Binary file removed framework/lib/asm-analysis-9.3.jar
Binary file not shown.
Binary file added framework/lib/asm-analysis-9.6.jar
Binary file not shown.
Binary file removed framework/lib/asm-commons-9.3.jar
Binary file not shown.
Binary file added framework/lib/asm-commons-9.6.jar
Binary file not shown.
Binary file removed framework/lib/asm-tree-9.3.jar
Binary file not shown.
Binary file added framework/lib/asm-tree-9.6.jar
Binary file not shown.
Binary file removed framework/lib/asm-util-9.3.jar
Binary file not shown.
Binary file added framework/lib/asm-util-9.6.jar
Binary file not shown.
Binary file removed framework/lib/bcpkix-jdk18on-1.71.1.jar
Binary file not shown.
Binary file added framework/lib/bcpkix-jdk18on-1.76.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/byte-buddy-1.12.16.jar
Binary file not shown.
Binary file added framework/lib/byte-buddy-1.14.9.jar
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/commons-codec-1.15.jar
Binary file not shown.
Binary file added framework/lib/commons-codec-1.16.0.jar
Binary file not shown.
Binary file removed framework/lib/commons-fileupload-1.4.jar
Binary file not shown.
Binary file added framework/lib/commons-fileupload-1.5.jar
Binary file not shown.
Binary file removed framework/lib/commons-io-2.11.0.jar
Binary file not shown.
Binary file added framework/lib/commons-io-2.14.0.jar
Binary file not shown.
Binary file removed framework/lib/commons-lang-2.6.jar
Binary file not shown.
Binary file added framework/lib/commons-lang3-3.13.0.jar
Binary file not shown.
Binary file added framework/lib/commons-text-1.10.0.jar
Binary file not shown.
Binary file removed framework/lib/dom4j-2.1.3.jar
Binary file not shown.
Binary file added framework/lib/dom4j-2.1.4.jar
Binary file not shown.
Binary file added framework/lib/ecj-3.36.0.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added framework/lib/gson-2.10.1.jar
Binary file not shown.
Binary file removed framework/lib/gson-2.9.1.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/ivy-2.5.0.jar
Binary file not shown.
Binary file added framework/lib/ivy-2.5.2.jar
Binary file not shown.
Binary file removed framework/lib/jandex-2.4.3.Final.jar
Binary file not shown.
Binary file added framework/lib/jandex-3.1.5.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/jaxen-1.2.0.jar
Binary file not shown.
Binary file added framework/lib/jaxen-2.0.0.jar
Binary file not shown.
Binary file removed framework/lib/jboss-logging-3.5.0.Final.jar
Binary file not shown.
Binary file added framework/lib/jboss-logging-3.5.3.Final.jar
Binary file not shown.
Binary file removed framework/lib/joda-time-2.11.1.jar
Binary file not shown.
Binary file added framework/lib/joda-time-2.12.5.jar
Binary file not shown.
Binary file removed framework/lib/log4j-api-2.18.0.jar
Binary file not shown.
Binary file added framework/lib/log4j-api-2.20.0.jar
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/log4j-slf4j-impl-2.18.0.jar
Binary file not shown.
Binary file added framework/lib/log4j-slf4j2-impl-2.20.0.jar
Binary file not shown.
Binary file removed framework/lib/org.eclipse.jdt.core-3.31.0.jar
Binary file not shown.
Binary file added framework/lib/org.eclipse.jdt.core-3.36.0.jar
Binary file not shown.
Binary file not shown.
Binary file removed framework/lib/slf4j-api-1.7.36.jar
Binary file not shown.
Binary file added framework/lib/slf4j-api-2.0.9.jar
Binary file not shown.
Binary file removed framework/lib/snakeyaml-1.32.jar
Binary file not shown.
Binary file added framework/lib/snakeyaml-2.2.jar
Binary file not shown.
Binary file not shown.
39 changes: 28 additions & 11 deletions framework/pym/play/cmdloader.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from __future__ import print_function
import imp
import importlib.util
import importlib.machinery
import os
import warnings
import traceback
Expand All @@ -22,8 +23,9 @@ def load_core(self):
for filename in os.listdir(self.path):
if filename != "__init__.py" and filename.endswith(".py"):
try:
name = filename.replace(".py", "")
mod = load_python_module(name, self.path)
module_name = filename.replace(".py", "")
module_path = os.path.join(self.path, filename)
mod = load_python_module(module_name, module_path)
self._load_cmd_from(mod)
except Exception as e:
print (e)
Expand All @@ -35,7 +37,8 @@ def load_play_module(self, modname):
if os.path.exists(commands):
try:
leafname = os.path.basename(modname).split('.')[0]
mod = imp.load_source(leafname, os.path.join(modname, "commands.py"))
# print(f"Loading commands for module \"{modname}\"")
mod = load_source(leafname, os.path.join(modname, "commands.py"))
self._load_cmd_from(mod)
except Exception as e:
print('~')
Expand All @@ -55,12 +58,26 @@ def _load_cmd_from(self, mod):
if 'MODULE' in dir(mod):
self.modules[mod.MODULE] = mod


def load_python_module(name, location):
mod_desc = imp.find_module(name, [location])
mod_file = mod_desc[0]
try:
return imp.load_module(name, mod_desc[0], mod_desc[1], mod_desc[2])
finally:
if mod_file != None and not mod_file.closed:
mod_file.close()
# print(f"Loading module \"{name}\" at location \"{location}\"")
spec = importlib.util.spec_from_file_location(name, location)
if spec is None:
raise ImportError(f"Could not find module {name} at {location}")

mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)

return mod


# Obtained from https://docs.python.org/dev/whatsnew/3.12.html#imp
def load_source(modname, filename):
loader = importlib.machinery.SourceFileLoader(modname, filename)
spec = importlib.util.spec_from_file_location(modname, filename, loader=loader)
module = importlib.util.module_from_spec(spec)
# The module is always executed and not cached in sys.modules.
# Uncomment the following line to cache the module.
# sys.modules[module.__name__] = module
loader.exec_module(module)
return module
10 changes: 9 additions & 1 deletion framework/pym/play/commands/autotest.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,12 +149,20 @@ def autotest(app, args):
opener.open('%s://localhost:%s/@kill' % (protocol, http_port))
except Exception as e:
pass


testCompleted = False
if os.path.exists(os.path.join(app.path, 'test-result/result.passed')):
testCompleted = True
print("~ All tests passed")
print("~")
testspassed = True
if os.path.exists(os.path.join(app.path, 'test-result/result.failed')):
testCompleted = True
print("~ Some tests have failed. See file://%s for results" % test_result)
print("~")
sys.exit(1)

if not testCompleted:
print("~ Tests did not successfully complete.")
print("~")
sys.exit(-1)
16 changes: 12 additions & 4 deletions framework/pym/play/commands/modulesrepo.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import urllib.request, urllib.error, urllib.parse
import shutil
import string
import imp
import importlib.util
import time
import urllib.request, urllib.parse, urllib.error
import yaml
Expand Down Expand Up @@ -40,8 +40,16 @@

def load_module(name):
base = os.path.normpath(os.path.dirname(os.path.realpath(sys.argv[0])))
mod_desc = imp.find_module(name, [os.path.join(base, 'framework/pym')])
return imp.load_module(name, mod_desc[0], mod_desc[1], mod_desc[2])
module_path = os.path.join(base, 'framework/pym', name, '__init__.py')

spec = importlib.util.spec_from_file_location(name, module_path)
if spec is None:
raise ImportError(f"Could not find module \"{name}\" at \"{module_path}\"")

mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)

return mod

json = load_module('simplejson')

Expand Down Expand Up @@ -117,7 +125,7 @@ def retrieve(self, url, destination, callback=None):
return self.size

def chunk_read(self, response, destination, chunk_size=8192, report_hook=None):
total_size = response.info().getheader('Content-Length').strip()
total_size = response.headers['Content-Length'].strip()
total_size = int(total_size)
bytes_so_far = 0
file = open(destination,"wb")
Expand Down
Loading
Loading