[Python-modules-commits] [python-jpype] 02/18: New upstream version 0.6.2
Takaki Taniguchi
takaki at moszumanska.debian.org
Tue Jul 4 09:40:23 UTC 2017
This is an automated email from the git hooks/post-receive script.
takaki pushed a commit to branch master
in repository python-jpype.
commit cdc58e79629f7dfb02d95c3df67c512e723f0a10
Author: TANIGUCHI Takaki <takaki at debian.org>
Date: Thu Jun 29 18:17:34 2017 +0900
New upstream version 0.6.2
---
.bumpversion.cfg | 16 +
.gitignore | 50 +
.travis.yml | 45 +
AUTHORS.rst | 23 +
LICENSE | 167 +++
MANIFEST.in | 7 +
PKG-INFO | 10 -
README-LINUX.TXT | 13 -
README.rst | 18 +
README.txt | 22 -
appveyor.yml | 52 +
appveyor/install.ps1 | 89 ++
appveyor/runTestsuite.ps1 | 45 +
appveyor/run_with_env.cmd | 51 +
dev-requirements.txt | 3 +
doc/CHANGELOG.rst | 114 ++
doc/CHANGELOG.rst.orig | 118 ++
doc/Makefile | 177 +++
doc/conf.py | 269 +++++
doc/index.rst | 27 +
doc/install.rst | 78 ++
doc/make.bat | 242 ++++
doc/userguide.rst | 742 ++++++++++++
examples/jms/testJpypePublisher.py | 8 +-
examples/jms/testJpypeSubscriber.py | 8 +-
examples/linux/findjvm.py | 2 +-
examples/rmi.py | 4 +-
{src/python/jpype => jpype}/JClassUtil.py | 10 +-
{src/python/jpype => jpype}/__init__.py | 36 +-
{src/python/jpype => jpype}/_core.py | 253 +++--
jpype/_darwin.py | 72 ++
{src/python/jpype => jpype}/_gui.py | 38 +-
jpype/_jarray.py | 194 ++++
jpype/_jclass.py | 209 ++++
jpype/_jcollection.py | 286 +++++
jpype/_jexception.py | 74 ++
.../jpype/_refdaemon.py => jpype/_jobject.py | 29 +-
{src/python/jpype => jpype}/_jpackage.py | 53 +-
jpype/_jproxy.py | 71 ++
jpype/_jvmfinder.py | 167 +++
{src/python/jpype => jpype}/_jwrapper.py | 88 +-
jpype/_linux.py | 64 ++
jpype/_properties.py | 82 ++
{src/python/jpype => jpype}/_pykeywords.py | 14 +-
{src/python/jpype => jpype}/_refdaemon.py | 16 +-
jpype/_windows.py | 65 ++
{src/python/jpype => jpype}/awt/__init__.py | 4 +-
.../jpype => jpype}/awt/event/WindowAdapter.py | 30 +-
{src/python/jpypex => jpype/awt/event}/__init__.py | 6 +-
{src/python/jpype => jpype}/nio.py | 23 +-
{src/python/jpype => jpype}/reflect.py | 4 +-
{src/python/jpype/awt/event => jpypex}/__init__.py | 5 +-
.../jpypex => jpypex}/swing/AbstractAction.py | 65 +-
{src/python/jpypex => jpypex}/swing/__init__.py | 6 +-
jpypex/swing/pyutils.py | 28 +
{src/native => native}/common/include/jp_array.h | 12 +-
.../common/include/jp_arrayclass.h | 0
{src/native => native}/common/include/jp_class.h | 13 +-
.../common/include/jp_classbase.h | 8 +-
{src/native => native}/common/include/jp_env.h | 61 +-
{src/native => native}/common/include/jp_field.h | 8 +-
{src/native => native}/common/include/jp_hostenv.h | 6 +-
.../common/include/jp_invocationhandler.h | 0
{src/native => native}/common/include/jp_javaenv.h | 19 +-
.../common/include/jp_javaenv_autogen.h | 8 +-
native/common/include/jp_jniutil.h | 190 ++++
{src/native => native}/common/include/jp_method.h | 17 +-
.../common/include/jp_methodoverload.h | 32 +-
{src/native => native}/common/include/jp_monitor.h | 0
{src/native => native}/common/include/jp_object.h | 6 +-
.../common/include/jp_objectbase.h | 0
.../common/include/jp_objecttypes.h | 28 +-
.../common/include/jp_platform_linux.h | 8 +
.../common/include/jp_platform_win32.h | 10 +-
.../common/include/jp_primitivetypes.h | 126 ++-
{src/native => native}/common/include/jp_proxy.h | 2 +-
.../common/include/jp_reference.h | 0
.../common/include/jp_referencequeue.h | 0
{src/native => native}/common/include/jp_type.h | 30 +-
.../common/include/jp_typemanager.h | 28 +-
.../native => native}/common/include/jp_typename.h | 71 +-
{src/native => native}/common/include/jp_utility.h | 36 +-
{src/native => native}/common/include/jpype.h | 50 +-
{src/native => native}/common/jp_array.cpp | 38 +-
{src/native => native}/common/jp_arrayclass.cpp | 2 +-
{src/native => native}/common/jp_class.cpp | 175 ++-
{src/native => native}/common/jp_classbase.cpp | 0
{src/native => native}/common/jp_env.cpp | 74 +-
{src/native => native}/common/jp_field.cpp | 13 +-
.../common/jp_invocationhandler.cpp | 0
{src/native => native}/common/jp_javaenv.cpp | 51 +-
.../common/jp_javaenv_autogen.cpp | 8 +-
{src/native => native}/common/jp_jniutil.cpp | 493 ++++----
{src/native => native}/common/jp_method.cpp | 113 +-
.../native => native}/common/jp_methodoverload.cpp | 74 +-
{src/native => native}/common/jp_monitor.cpp | 0
{src/native => native}/common/jp_object.cpp | 4 +-
{src/native => native}/common/jp_objecttypes.cpp | 52 +-
.../native => native}/common/jp_platform_linux.cpp | 0
.../native => native}/common/jp_platform_win32.cpp | 0
.../native => native}/common/jp_primitivetypes.cpp | 337 +-----
.../common/jp_primitivetypes_autogen.cpp | 631 ++++++++---
{src/native => native}/common/jp_proxy.cpp | 49 +-
{src/native => native}/common/jp_reference.cpp | 0
.../native => native}/common/jp_referencequeue.cpp | 0
native/common/jp_typemanager.cpp | 176 +++
native/common/jp_typename.cpp | 159 +++
{src/native => native}/common/jp_voidtype.cpp | 5 -
native/jni_include/jni.h | 1191 ++++++++++++++++++++
native/python/include/capsulethunk.h | 140 +++
.../python/include/jp_cocoatools.h | 0
.../python/include/jp_runloopstopper.h | 0
native/python/include/jpype_memory_view.h | 39 +
native/python/include/jpype_python.h | 115 ++
{src/native => native}/python/include/py_class.h | 3 +-
{src/native => native}/python/include/py_field.h | 0
{src/native => native}/python/include/py_hostenv.h | 23 +-
{src/native => native}/python/include/py_method.h | 0
{src/native => native}/python/include/py_monitor.h | 0
{src/native => native}/python/include/pythonenv.h | 61 +-
native/python/jpype_javaarray.cpp | 256 +++++
{src/native => native}/python/jpype_javaclass.cpp | 0
{src/native => native}/python/jpype_javanio.cpp | 4 +-
native/python/jpype_memory_view.c | 287 +++++
{src/native => native}/python/jpype_module.cpp | 4 +-
{src/native => native}/python/jpype_python.cpp | 45 +-
{src/native => native}/python/py_class.cpp | 43 +-
{src/native => native}/python/py_field.cpp | 9 +-
{src/native => native}/python/py_hostenv.cpp | 44 +-
{src/native => native}/python/py_method.cpp | 17 +-
{src/native => native}/python/py_monitor.cpp | 5 +-
{src/native => native}/python/pythonenv.cpp | 108 +-
setup.py | 311 +++--
src/native/common/include/jp_jniutil.h | 184 ---
src/native/common/jp_typemanager.cpp | 158 ---
src/native/common/jp_typename.cpp | 180 ---
src/native/python/include/jpype_python.h | 121 --
src/native/python/jpype_javaarray.cpp | 223 ----
src/python/jpype/_darwin.py | 20 -
src/python/jpype/_jarray.py | 169 ---
src/python/jpype/_jclass.py | 185 ---
src/python/jpype/_jcollection.py | 260 -----
src/python/jpype/_jexception.py | 74 --
src/python/jpype/_jobject.py | 31 -
src/python/jpype/_jproxy.py | 61 -
src/python/jpype/_linux.py | 84 --
src/python/jpype/_properties.py | 44 -
src/python/jpype/_windows.py | 34 -
src/python/jpype/findjvm.py | 20 -
src/python/jpypex/swing/pyutils.py | 28 -
test-requirements-py3.txt | 1 +
test-requirements.txt | 2 +
test/buf_leak_test.py | 18 +-
test/buf_leak_test3.py | 17 +-
test/build.xml | 27 +-
test/convtest.py | 22 +-
test/findjvm.py | 2 +-
test/harness/jpype/attr/SyntheticMethods.java | 17 +
test/harness/jpype/attr/Test1.java | 23 +-
test/harness/jpype/attr/Test2.java | 2 +-
test/harness/jpype/attr/TestOverloadA.java | 7 +
test/harness/jpype/attr/TestOverloadB.java | 4 +
test/harness/jpype/attr/TestOverloadC.java | 7 +
test/harness/jpype/collection/TestEnum.java | 5 +
test/harness/jpype/exc/ChildTestException.java | 4 +
test/harness/jpype/exc/ExceptionTest.java | 5 +
test/harness/jpype/exc/ParentTestException.java | 4 +
.../Test1.java => mro/MultipleInterfaces.java} | 74 +-
test/harness/jpype/objectwrapper/Test1.java | 5 +
test/harness/jpype/overloads/Test1.java | 204 ++++
test/harness/jpype/properties/TestBean.java | 78 ++
test/harness/jpype/proxy/ProxyTriggers.java | 67 ++
test/harness/jpype/proxy/Test3.java | 60 -
test/harness/jpype/proxy/TestInterface1.java | 6 +
.../{ITestInterface2.java => TestInterface2.java} | 6 +-
.../{ITestInterface3.java => TestInterface3.java} | 4 +-
test/harness/jpype/proxy/TestThreadCallback.java | 7 +
test/java_dom.py | 21 +-
test/java_sax.py | 17 +-
test/jpypetest/__init__.py | 4 +-
test/jpypetest/array.py | 305 +++--
test/jpypetest/attr.py | 420 ++++---
test/jpypetest/collection.py | 32 +
test/jpypetest/common.py | 34 +-
test/jpypetest/exc.py | 113 +-
test/jpypetest/jvmfinder.py | 124 ++
test/jpypetest/mro.py | 18 +-
test/jpypetest/numeric.py | 88 +-
test/jpypetest/objectwrapper.py | 76 +-
test/jpypetest/overloads.py | 166 +++
test/jpypetest/properties.py | 58 +
test/jpypetest/proxy.py | 155 ++-
test/jpypetest/serial.py | 43 +-
test/lists_and_maps.py | 4 +-
test/nbproject/project.xml | 62 +
test/python_dom.py | 20 +-
test/stub.py | 2 +-
test/test_awt.py | 14 +-
test/test_jarray_fixes.py | 65 ++
test/testlucene.py | 44 +-
test/testsuite.py | 58 +-
test/transform_xunit_to_appveyor.xsl | 101 ++
202 files changed, 10618 insertions(+), 4300 deletions(-)
diff --git a/.bumpversion.cfg b/.bumpversion.cfg
new file mode 100644
index 0000000..4567f9c
--- /dev/null
+++ b/.bumpversion.cfg
@@ -0,0 +1,16 @@
+[bumpversion]
+current_version = 0.6.2
+commit = True
+tag = True
+
+[bumpversion:file:setup.py]
+
+[bumpversion:file:jpype/__init__.py]
+serialize = {major}, {minor}, {patch}
+parse = (?P<major>\d+), (?P<minor>\d+), (?P<patch>\d+)
+
+[bumpversion:file:doc/CHANGELOG.rst]
+search = - **Next version - unreleased**
+replace = - **Next version - unreleased**
+ - **{new_version} - {now:%Y-%m-%d}**
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b1d49ec
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,50 @@
+MANIFEST
+*~
+/test/classes/
+*/build*/
+
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+# C extensions
+*.so
+# Distribution / packaging
+.Python
+env/
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+*.egg-info/
+.installed.cfg
+*.egg
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.cache
+nosetests.xml
+coverage.xml
+# Translations
+*.mo
+*.pot
+# Django stuff:
+*.log
+# Sphinx documentation
+docs/_build/
+# PyBuilder
+target/
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..fc3170d
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,45 @@
+os:
+ - linux
+
+language: python
+
+python:
+ - '2.6'
+ - '2.7'
+ - '3.3'
+ - '3.4'
+ - '3.5'
+ - 'pypy'
+ - 'pypy3'
+ - "nightly"
+
+sudo: false
+
+addons:
+ apt:
+ packages:
+ - ant
+env:
+ # one build with and without numpy support (opt numpy out)
+ - NUMPY="--install-option=--disable-numpy"
+ - NUMPY=""
+
+matrix:
+ allow_failures:
+ - python: 'pypy'
+ env: NUMPY="--install-option=--disable-numpy"
+ - python: 'pypy3'
+ env: NUMPY="--install-option=--disable-numpy"
+ - python: 'pypy'
+ env: NUMPY=""
+ - python: 'pypy3'
+ env: NUMPY=""
+
+install:
+ - pip install . $NUMPY
+ - pip install -r test-requirements.txt
+ - ant -f test/build.xml
+
+script:
+ - python -c "import jpype"
+ - python test/testsuite.py
diff --git a/AUTHORS.rst b/AUTHORS.rst
new file mode 100644
index 0000000..f9e6bf4
--- /dev/null
+++ b/AUTHORS.rst
@@ -0,0 +1,23 @@
+Authors
+-------
+
+The original author: Steve Menard
+
+Current Maintainer: Luis Nell
+
+
+Huge thanks to these CONTRIBUTORS:
+
+* lazerscience
+* Koblaid
+* Michael Willis (michaelwillis)
+* awesomescot
+* Joe Quant (joequant)
+* Mario Rodas
+* David Moss
+* Stepan Kolesnik
+* Philip Smith
+* Bastian Bowe
+* Kristi
+* Martin K. Scherer
+* Dongwon Shin
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d097820
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,167 @@
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and
+distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright
+owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities
+that control, are controlled by, or are under common control with that entity.
+For the purposes of this definition, "control" means (i) the power, direct or
+indirect, to cause the direction or management of such entity, whether by
+contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising
+permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including
+but not limited to software source code, documentation source, and configuration
+files.
+
+"Object" form shall mean any form resulting from mechanical transformation or
+translation of a Source form, including but not limited to compiled object code,
+generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made
+available under the License, as indicated by a copyright notice that is included
+in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that
+is based on (or derived from) the Work and for which the editorial revisions,
+annotations, elaborations, or other modifications represent, as a whole, an
+original work of authorship. For the purposes of this License, Derivative Works
+shall not include works that remain separable from, or merely link (or bind by
+name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version
+of the Work and any modifications or additions to that Work or Derivative Works
+thereof, that is intentionally submitted to Licensor for inclusion in the Work
+by the copyright owner or by an individual or Legal Entity authorized to submit
+on behalf of the copyright owner. For the purposes of this definition,
+"submitted" means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems, and
+issue tracking systems that are managed by, or on behalf of, the Licensor for
+the purpose of discussing and improving the Work, but excluding communication
+that is conspicuously marked or otherwise designated in writing by the copyright
+owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
+of whom a Contribution has been received by Licensor and subsequently
+incorporated within the Work.
+
+2. Grant of Copyright License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the Work and such
+Derivative Works in Source or Object form.
+
+3. Grant of Patent License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable (except as stated in this section) patent license to make, have
+made, use, offer to sell, sell, import, and otherwise transfer the Work, where
+such license applies only to those patent claims licensable by such Contributor
+that are necessarily infringed by their Contribution(s) alone or by combination
+of their Contribution(s) with the Work to which such Contribution(s) was
+submitted. If You institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work or a
+Contribution incorporated within the Work constitutes direct or contributory
+patent infringement, then any patent licenses granted to You under this License
+for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution.
+
+You may reproduce and distribute copies of the Work or Derivative Works thereof
+in any medium, with or without modifications, and in Source or Object form,
+provided that You meet the following conditions:
+
+You must give any other recipients of the Work or Derivative Works a copy of
+this License; and
+You must cause any modified files to carry prominent notices stating that You
+changed the files; and
+You must retain, in the Source form of any Derivative Works that You distribute,
+all copyright, patent, trademark, and attribution notices from the Source form
+of the Work, excluding those notices that do not pertain to any part of the
+Derivative Works; and
+If the Work includes a "NOTICE" text file as part of its distribution, then any
+Derivative Works that You distribute must include a readable copy of the
+attribution notices contained within such NOTICE file, excluding those notices
+that do not pertain to any part of the Derivative Works, in at least one of the
+following places: within a NOTICE text file distributed as part of the
+Derivative Works; within the Source form or documentation, if provided along
+with the Derivative Works; or, within a display generated by the Derivative
+Works, if and wherever such third-party notices normally appear. The contents of
+the NOTICE file are for informational purposes only and do not modify the
+License. You may add Your own attribution notices within Derivative Works that
+You distribute, alongside or as an addendum to the NOTICE text from the Work,
+provided that such additional attribution notices cannot be construed as
+modifying the License.
+You may add Your own copyright statement to Your modifications and may provide
+additional or different license terms and conditions for use, reproduction, or
+distribution of Your modifications, or for any such Derivative Works as a whole,
+provided Your use, reproduction, and distribution of the Work otherwise complies
+with the conditions stated in this License.
+
+5. Submission of Contributions.
+
+Unless You explicitly state otherwise, any Contribution intentionally submitted
+for inclusion in the Work by You to the Licensor shall be under the terms and
+conditions of this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify the terms of
+any separate license agreement you may have executed with Licensor regarding
+such Contributions.
+
+6. Trademarks.
+
+This License does not grant permission to use the trade names, trademarks,
+service marks, or product names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty.
+
+Unless required by applicable law or agreed to in writing, Licensor provides the
+Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
+including, without limitation, any warranties or conditions of TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
+solely responsible for determining the appropriateness of using or
+redistributing the Work and assume any risks associated with Your exercise of
+permissions under this License.
+
+8. Limitation of Liability.
+
+In no event and under no legal theory, whether in tort (including negligence),
+contract, or otherwise, unless required by applicable law (such as deliberate
+and grossly negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special, incidental,
+or consequential damages of any character arising as a result of this License or
+out of the use or inability to use the Work (including but not limited to
+damages for loss of goodwill, work stoppage, computer failure or malfunction, or
+any and all other commercial damages or losses), even if such Contributor has
+been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability.
+
+While redistributing the Work or Derivative Works thereof, You may choose to
+offer, and charge a fee for, acceptance of support, warranty, indemnity, or
+other liability obligations and/or rights consistent with this License. However,
+in accepting such obligations, You may act only on Your own behalf and on Your
+sole responsibility, not on behalf of any other Contributor, and only if You
+agree to indemnify, defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason of your
+accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..bcb7877
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,7 @@
+recursive-include native *.h
+recursive-include examples *
+include *.rst doc/* LICENSE
+# include everything under test/
+graft test
+global-exclude *.pyc
+prune test/classes
diff --git a/PKG-INFO b/PKG-INFO
deleted file mode 100644
index cd7836d..0000000
--- a/PKG-INFO
+++ /dev/null
@@ -1,10 +0,0 @@
-Metadata-Version: 1.0
-Name: JPype
-Version: 0.5.4.2
-Summary: Python-Java bridge
-Home-page: http://jpype.sourceforge.net/
-Author: Steve Menard
-Author-email: devilwolf at users.sourceforge.net
-License: UNKNOWN
-Description: UNKNOWN
-Platform: UNKNOWN
diff --git a/README-LINUX.TXT b/README-LINUX.TXT
deleted file mode 100644
index ee845e4..0000000
--- a/README-LINUX.TXT
+++ /dev/null
@@ -1,13 +0,0 @@
-This release include preliminary support for linux.
-
-In order to compile the source, distribution, you need to make the 2 following changes :
-
-1) in setup.py, change the line 19 to reflect the path to YOUR JDK installation
-
-Also, even if you do install from binary, you have to make the following change after installing.
-
-in the file jpype/_copy.py, at line 33, change to reflect the path to YOUR JDK installation
-
-These two steps are temporary, and should disappear before the 0.3 final.
-
-There is one additional problem with jpype and linux. You can more about it and a solution in the examples/linux directory.
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..6d06cce
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,18 @@
+JPype
+=====
+
+.. image:: https://travis-ci.org/originell/jpype.png?branch=master
+ :target: https://travis-ci.org/originell/jpype
+
+.. image:: https://ci.appveyor.com/api/projects/status/7x9aqpsbcdnl96wt/branch/master
+ :target: https://ci.appveyor.com/project/marscher/jpype-555
+
+
+JPype is an effort to allow python programs full access to java class
+libraries.
+
+Find the `documentation at Read the Docs
+<http://jpype.readthedocs.org>`__. Current development is done in
+`the github project <https://github.com/originell/jpype>`__. The work
+on this project began on `Sourceforge
+<http://sourceforge.net/projects/jpype/>`__.
diff --git a/README.txt b/README.txt
deleted file mode 100644
index 57653c6..0000000
--- a/README.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-What is JPype :
----------------
-JPype is an effort to allow python programs full access to java class libraries. This is achieved
-not through re-implementing Python, as Jython/JPython has done, but rather through interfacing at
-the native level in both Virtual Machines.
-
-Eventually, it should be possible to replace Java with python in many, though not all, situations.
-JSP, Servlets, RMI servers and IDE plugins are good candidates.
-
-Once this integration is achieved, a second phase will be started to separate the Java logic from
-the Python logic, eventually allowing the bridging technology to be used in other environments,
-I.E. Ruby, Perl, COM, etc ...
-
-
-Known Bugs/Limitations :
- * Java classes outside of a package (in the <default>) cannot be imported.
- * unable to access a field or method if it conflicts with a python keyword.
- * Because of lack of JVM support, you cannot shutdown the JVM and then restart it.
- * Some methods rely on the "current" class/caller. Since calls coming directly from
- python code do not have a current class, these methods do not work. The User Manual
- lists all the known methods like that.
-
\ No newline at end of file
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..5d1ccbb
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,52 @@
+environment:
+ global:
+ # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
+ # /E:ON and /V:ON options are not enabled in the batch script intepreter
+ # See: http://stackoverflow.com/a/13751649/163740
+ CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\appveyor\\run_with_env.cmd"
+ ANT_HOME: C:\ant
+
+ matrix:
+ - PYTHON: "C:\\Miniconda"
+ JAVA_HOME: "C:\\Program Files (x86)\\Java\\jdk1.8.0"
+
+ - PYTHON: "C:\\Miniconda-x64"
+ JAVA_HOME: "C:\\Program Files\\Java\\jdk1.8.0"
+
+ - PYTHON: "C:\\Miniconda3"
+ JAVA_HOME: "C:\\Program Files (x86)\\Java\\jdk1.8.0"
+
+ - PYTHON: "C:\\Miniconda3-x64"
+ JAVA_HOME: "C:\\Program Files\\Java\\jdk1.8.0"
+
+install:
+ # Install Python (from the official .msi of http://python.org) and pip when
+ # not already installed.
+ - "powershell ./appveyor/install.ps1"
+
+ # Prepend newly installed Python to the PATH of this build (this cannot be
+ # done from inside the powershell script as it would require to restart
+ # the parent CMD process).
+ - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;C:\\ant\\bin;%PATH%"
+
+ # Check that we have the expected version and architecture for Python
+ - "python --version"
+ - "python -c \"import struct; print(struct.calcsize('P') * 8)\""
+
+ # Install the build dependencies of the project. If some dependencies contain
+ # compiled extensions and are not provided as pre-built wheel packages,
+ # pip will build them from source using the MSVC compiler matching the
+ # target Python version and architecture
+ - "conda update --all -y"
+ - "conda install nose setuptools -y"
+ - "pip install -r test-requirements.txt" # -r dev-requirements.txt
+
+ - "ant -f test\\build.xml"
+ # Build the compiled extension and run the project tests
+ - "python setup.py install"
+build: false # Not a C# project, build stuff at the test step instead.
+
+test_script:
+ # run testsuite and upload test results to AppVeyor; return exit code of testsuite
+ - "powershell ./appveyor/runTestsuite.ps1"
+
diff --git a/appveyor/install.ps1 b/appveyor/install.ps1
new file mode 100644
index 0000000..67274c6
--- /dev/null
+++ b/appveyor/install.ps1
@@ -0,0 +1,89 @@
+# install apache ant
+$ANT_VERSION = "1.9.7"
+
+function RunCommand ($command, $command_args) {
+ Write-Host $command $command_args
+ Start-Process -FilePath $command -ArgumentList $command_args -Wait -Passthru
+}
+
+function unzipAnt($file, $destination) {
+ if (-Not (Test-Path $file)) {
+ Write-Host "File " $file "does not exist!"
+ return
+ }
+
+ if (-Not (Test-Path $destination)) {
+ mkdir $destination
+ }
+
+ Write-Host "extract " $file " to " $destination
+ $shell_app = new-object -com shell.application
+ $zip_file = $shell_app.namespace($file)
+ $dir = $shell_app.namespace($destination)
+ $dir.Copyhere($zip_file.items())
+
+ # this should return the only folder name contained in ant.zip
+ #$foldername = ""
+ $zip_file.items() | foreach {
+ $foldername = $_.name
+ Write-Host "current foldername" $foldername
+ }
+ return $foldername
+}
+
+function DownloadAnt() {
+ $url = "http://www.us.apache.org/dist/ant/binaries/apache-ant-$ANT_VERSION-bin.zip"
+ $webclient = New-Object System.Net.WebClient
+ $filepath = "C:\ant.zip"
+
+ if (Test-Path $filepath) {
+ Write-Host "Reusing" $filepath
+ return $filepath
+ }
+
+ # Download and retry up to 3 times in case of network transient errors.
+ Write-Host "Downloading" $filename "from" $url
+ $retry_attempts = 2
+ for($i=0; $i -lt $retry_attempts; $i++){
+ try {
+ $webclient.DownloadFile($url, $filepath)
+ break
+ }
+ Catch [Exception]{
+ Start-Sleep 1
+ }
+ }
+ if (Test-Path $filepath) {
+ Write-Host "File saved at" $filepath
+ } else {
+ # Retry once to get the error message if any at the last try
+ $webclient.DownloadFile($url, $filepath)
+ }
+ return $filepath
+}
+
+function InstallAnt() {
+ if (Test-Path "c:\apache-ant-$ANT_VERSION") {
+ Write-Host "ant already exists"
+ return $false
+ }
+
+ $filepath = DownloadAnt
+ # extract to C: (will result in something like C:\apache-ant-1.9.4
+ $folder = unzipAnt $filepath "C:"
+
+ $ant_path = "C:\apache-ant-$ANT_VERSION\bin"
+
+ if (-not (Test-Path $ant_path)) {
+ Throw "unpacked folder '" + $ant_path + "' does not exist!"
+ }
+
+ # create link to default ant binary dir, so we can rely on it.
+ cmd.exe /c mklink /d C:\ant $folder
+}
+
+function main () {
+ InstallAnt
+}
+
+main
diff --git a/appveyor/runTestsuite.ps1 b/appveyor/runTestsuite.ps1
new file mode 100644
index 0000000..d55e2a9
--- /dev/null
+++ b/appveyor/runTestsuite.ps1
@@ -0,0 +1,45 @@
+function xslt_transform($xml, $xsl, $output)
+{
+ trap [Exception]
+ {
+ Write-Host $_.Exception
+ }
+
+ $xslt = New-Object System.Xml.Xsl.XslCompiledTransform
+ $xslt.Load($xsl)
+ $xslt.Transform($xml, $output)
+}
+
+function upload($file) {
+ trap [Exception]
+ {
+ Write-Host $_.Exception
+ }
+
+ $wc = New-Object 'System.Net.WebClient'
+ $wc.UploadFile("https://ci.appveyor.com/api/testresults/xunit/$($env:APPVEYOR_JOB_ID)", $file)
+}
+
+function run {
+ cd $env:APPVEYOR_BUILD_FOLDER
+ $stylesheet = "test/transform_xunit_to_appveyor.xsl"
+ $input = "nosetests.xml"
+ $output = "test/transformed.xml"
+
+ nosetests test/jpypetest --all-modules --with-xunit
+ $success = $?
+ Write-Host "result code of nosetests:" $success
+
+ xslt_transform $input $stylesheet $output
+
+ upload $output
+ Push-AppveyorArtifact $input
+ Push-AppveyorArtifact $output
+
+ # return exit code of testsuite
+ if ( -not $success) {
+ throw "testsuite not successful"
+ }
+}
+
+run
\ No newline at end of file
diff --git a/appveyor/run_with_env.cmd b/appveyor/run_with_env.cmd
new file mode 100644
index 0000000..d58a1d2
--- /dev/null
+++ b/appveyor/run_with_env.cmd
@@ -0,0 +1,51 @@
+:: To build extensions for 64 bit Python 3, we need to configure environment
+:: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of:
+:: MS Windows SDK for Windows 7 and .NET Framework 4 (SDK v7.1)
+::
+:: To build extensions for 64 bit Python 2, we need to configure environment
+:: variables to use the MSVC 2008 C++ compilers from GRMSDKX_EN_DVD.iso of:
+:: MS Windows SDK for Windows 7 and .NET Framework 3.5 (SDK v7.0)
+::
+:: 32 bit builds do not require specific environment configurations.
+::
+:: Note: this script needs to be run with the /E:ON and /V:ON flags for the
+:: cmd interpreter, at least for (SDK v7.0)
+::
+:: More details at:
+:: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows
+:: http://stackoverflow.com/a/13751649/163740
+::
+:: Author: Olivier Grisel
+:: License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/
+ at ECHO OFF
+
+SET COMMAND_TO_RUN=%*
+SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
+
+SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%"
+IF %MAJOR_PYTHON_VERSION% == "2" (
+ SET WINDOWS_SDK_VERSION="v7.0"
+) ELSE IF %MAJOR_PYTHON_VERSION% == "3" (
+ SET WINDOWS_SDK_VERSION="v7.1"
+) ELSE (
+ ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
+ EXIT 1
+)
+
+IF NOT "%PYTHON_ARCH%"=="64" SET NO_SPECIFIC_SDK=1
+IF NOT "%MAJOR_PYTHON_VERSION%" == "2" SET NO_SPECIFIC_SDK=1
+
+
+IF NOT DEFINED NO_SPECIFIC_SDK (
+ ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
+ SET DISTUTILS_USE_SDK=1
+ SET MSSdk=1
+ "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
+ "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
+ ECHO Executing: %COMMAND_TO_RUN%
+ call %COMMAND_TO_RUN% || EXIT 1
+) ELSE (
+ ECHO Using default MSVC build environment on a %PYTHON_ARCH% bit architecture for Python %MAJOR_PYTHON_VERSION%
+ ECHO Executing: %COMMAND_TO_RUN%
+ call %COMMAND_TO_RUN% || EXIT 1
+)
diff --git a/dev-requirements.txt b/dev-requirements.txt
new file mode 100644
index 0000000..281f313
--- /dev/null
+++ b/dev-requirements.txt
@@ -0,0 +1,3 @@
+Sphinx==1.2.1
+sphinx-rtd-theme==0.1.5
+bumpversion==0.5.1
diff --git a/doc/CHANGELOG.rst b/doc/CHANGELOG.rst
new file mode 100644
index 0000000..444ba66
--- /dev/null
+++ b/doc/CHANGELOG.rst
@@ -0,0 +1,114 @@
+Changelog
+=========
+
+This changelog *only* contains changes from the *first* pypi release (0.5.4.3) onwards.
+
+- **Next version - unreleased**
+- **0.6.2 - 2017-01-13**
+
+ - Fix JVM location for OSX.
+ - Fix a method overload bug.
+ - Add support for synthetic methods
+
+- **0.6.1 - 2015-08-05**
+
+ - Fix proxy with arguments issue.
+
+ - Fix Python 3 support for Windows failing to import winreg.
+
+ - Fix non matching overloads on iterating java collections.
+
+- **0.6.0 - 2015-04-13**
+
+ - Python3 support.
+ - Fix OutOfMemoryError.
+
+- **0.5.7 - 2014-10-29**
+
+ - No JDK/JRE is required to build anymore due to provided jni.h. To
+ override this, one needs to set a JAVA_HOME pointing to a JDK
+ during setup.
+ - Better support for various platforms and compilers (MinGW, Cygwin,
+ Windows)
+
+- **0.5.6 - 2014-09-27**
+
+ - *Note*: In this release we returned to the three point number
+ versioning scheme.
+ - Fix #63: 'property' object has no attribute 'isBeanMutator'
+ - Fix #70: python setup.py develop does now work as expected
+ - Fix #79, Fix #85: missing declaration of 'uint'
+ - Fix #80: opt out NumPy code dependency by '--disable-numpy'
+ parameter to setup. To opt out with pip
+ append --install-option="--disable-numpy".
+ - Use JVMFinder method of @tcalmant to locate a Java runtime
+
+- **0.5.5.4 - 2014-08-12**
+
+ - Fix: compile issue, if numpy is not available (NPY_BOOL
+ n/a). Closes #77
+
+- **0.5.5.3 - 2014-08-11**
+
+ - Optional support for NumPy arrays in handling of Java arrays. Both
+ set and get slice operators are supported. Speed improvement of
+ factor 10 for setting and factor 6 for getting. The returned
+ arrays are typed with the matching NumPy type.
+ - Fix: add missing wrapper type 'JShort'
+ - Fix: Conversion check for unsigned types did not work in array
+ setters (tautological compare)
+
+- **0.5.5.2 - 2014-04-29**
+
+ - Fix: array setter memory leak (ISSUE: #64)
+
+- **0.5.5.1 - 2014-04-11**
+
+ - Fix: setup.py now runs under MacOSX with Python 2.6 (referred to
+ missing subprocess function)
+
+- **0.5.5 - 2014-04-11**
+
+ - *Note* that this release is *not* compatible with Python 2.5 anymore!
+ - Added AHL changes
+
+ * replaced Python set type usage with new 2.6.x and higher
+ * fixed broken Python slicing semantics on JArray objects
+ * fixed a memory leak in the JVM when passing Python lists to
+ JArray constructors
+ * prevent ctrl+c seg faulting
+ * corrected new[]/delete pairs to stop valgrind complaining
+ * ship basic PyMemoryView implementation (based on numpy's) for Python 2.6 compatibility
... 19030 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-jpype.git
More information about the Python-modules-commits
mailing list