diff --git a/net.sf.py4j.defaultserver.feature/feature.xml b/net.sf.py4j.defaultserver.feature/feature.xml index 37e58353..795b65ec 100644 --- a/net.sf.py4j.defaultserver.feature/feature.xml +++ b/net.sf.py4j.defaultserver.feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/net.sf.py4j.defaultserver/META-INF/MANIFEST.MF b/net.sf.py4j.defaultserver/META-INF/MANIFEST.MF index c2aabe1b..56c048de 100644 --- a/net.sf.py4j.defaultserver/META-INF/MANIFEST.MF +++ b/net.sf.py4j.defaultserver/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Py4J Default Server Bundle-SymbolicName: net.sf.py4j.defaultserver;singleton:=true -Bundle-Version: 0.8.0.qualifier +Bundle-Version: 0.8.1.qualifier Bundle-Activator: net.sf.py4j.defaultserver.DefaultServerActivator Bundle-Vendor: Py4J Require-Bundle: org.eclipse.core.runtime, diff --git a/net.sf.py4j.example/META-INF/MANIFEST.MF b/net.sf.py4j.example/META-INF/MANIFEST.MF index c1fc288a..66c7dd23 100644 --- a/net.sf.py4j.example/META-INF/MANIFEST.MF +++ b/net.sf.py4j.example/META-INF/MANIFEST.MF @@ -2,10 +2,10 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Py4J Example Bundle-SymbolicName: net.sf.py4j.example; singleton:=true -Bundle-Version: 0.8.0.qualifier +Bundle-Version: 0.8.1.qualifier Bundle-Activator: net.sf.py4j.example.Activator Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - net.sf.py4j;bundle-version="0.8.0" + net.sf.py4j;bundle-version="0.8.1" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy diff --git a/net.sf.py4j.feature/feature.xml b/net.sf.py4j.feature/feature.xml index 6234bf98..e651b423 100644 --- a/net.sf.py4j.feature/feature.xml +++ b/net.sf.py4j.feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/net.sf.py4j.site/site.xml b/net.sf.py4j.site/site.xml index 7cd0b325..7cc46ddd 100644 --- a/net.sf.py4j.site/site.xml +++ b/net.sf.py4j.site/site.xml @@ -3,10 +3,10 @@ Main update site for Py4J - + - + diff --git a/net.sf.py4j/.classpath b/net.sf.py4j/.classpath index cb285791..4bca6781 100644 --- a/net.sf.py4j/.classpath +++ b/net.sf.py4j/.classpath @@ -1,6 +1,6 @@ - + diff --git a/net.sf.py4j/META-INF/MANIFEST.MF b/net.sf.py4j/META-INF/MANIFEST.MF index a50259ac..6034a334 100644 --- a/net.sf.py4j/META-INF/MANIFEST.MF +++ b/net.sf.py4j/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Eclipse-BuddyPolicy: global Bundle-ManifestVersion: 2 Bundle-Name: Py4J Bundle-SymbolicName: net.sf.py4j -Bundle-Version: 0.8.0.qualifier +Bundle-Version: 0.8.1.qualifier Bundle-Vendor: Py4J Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: py4j, diff --git a/py4j-java/.gitignore b/py4j-java/.gitignore index d935c363..e96e4f63 100644 --- a/py4j-java/.gitignore +++ b/py4j-java/.gitignore @@ -6,3 +6,5 @@ dist/ junit/ py4j*.jar target/ +*.asc +bundle.jar diff --git a/py4j-python/release_process.txt b/py4j-python/release_process.txt index 46f46e5e..d313f468 100644 --- a/py4j-python/release_process.txt +++ b/py4j-python/release_process.txt @@ -1,3 +1,7 @@ +0. Update all versions (version.py, properties, documentation, index.rst). +0. Write changelog +0. ant cleanall clean-python-release + 1. ant python-release 2. create signature using gpg (gpg -b --armor) 3. create folder on sourceforge @@ -11,6 +15,12 @@ scp Py4J-0.4.zip barthe,py4j@frs.sourceforge.net:/home/frs/project/p/py/py4j/0.4 8. python setup.py register 9. upload to PyPI 10. ant deploy-website -11. close all bugs on github -12. tag the release on git -13. send an email to the mailing list. +11. mvn package javadoc:jar source:jar +12. create signature +13. jar -cvf bundle.jar pom.xml ... (all files) +14. create staging release in central +15. close release +16. publish release +17. close all bugs on github +18. tag the release on git +19. send an email to the mailing list. diff --git a/py4j-web/changelog.rst b/py4j-web/changelog.rst index 2cead216..71f429fa 100644 --- a/py4j-web/changelog.rst +++ b/py4j-web/changelog.rst @@ -3,6 +3,18 @@ Changelog The changelog describes in plain English the changes that occurred between Py4J releases. +Py4J 0.8.1 +-------- + +- Fixed a bug in type inference when interface hierarchy is deeper than + abstract class hierarchy. +- Added a utility method ``is_instance_of`` in py4j.java_gateway to determine + if a JavaObject is an instance of a class. +- Released Py4J in central Maven repository. +- `github 0.8.1 milestone + `_ + + Py4J 0.8 -------- @@ -53,12 +65,12 @@ Py4J 0.5 - Added support for pattern filtering in ``JavaGateway.help()`` (e.g., ``gateway.help(obj,'get*Foo*Bar')``) - Added support for automatic conversion of Python collections (list, set, dictionary) to Java collections. User ``JavaGateway(auto_convert=True)`` or - an explicit convertor. + an explicit convertor. - Created two Eclipse features: one embeds the Py4J Java library. The other provides a default GatewayServer that is started when Eclipse starts. Both features are available on the new Py4J Eclipse update site: - ``http://py4j.sourceforge.net/py4j_eclipse`` + ``http://py4j.sourceforge.net/py4j_eclipse`` - Redesigned the module decomposition of Py4J: there are no more mandatory circular dependencies among modules. - `github 0.5 milestone `_ diff --git a/py4j-web/conf.py b/py4j-web/conf.py index 22cbe5dc..780573a7 100644 --- a/py4j-web/conf.py +++ b/py4j-web/conf.py @@ -48,9 +48,9 @@ # built documents. # # The short X.Y version. -version = '0.8' +version = '0.8.1' # The full version, including alpha/beta/rc tags. -release = '0.8' +release = '0.8.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/py4j-web/index.rst b/py4j-web/index.rst index 5420416a..db9bbb11 100644 --- a/py4j-web/index.rst +++ b/py4j-web/index.rst @@ -44,14 +44,14 @@ JVM. public int addition(int first, int second) { return first + second; } - + public static void main(String[] args) { AdditionApplication app = new AdditionApplication(); // app is now the gateway.entry_point GatewayServer server = new GatewayServer(app); server.start(); } - } + } Resources @@ -65,6 +65,9 @@ Resources News ==== +* **December 26th 2013** - Py4J 0.8.1 has been released. See the + :doc:`changelog` for more details about the new features. + * **June 14th 2013** - Py4J 0.8 has been released. See the :doc:`changelog` for more details about the new features. @@ -89,6 +92,6 @@ News * **December 23rd 2009** - Py4J 0.1 has been released. Rejoice! -* **December 11th 2009** - Py4J is still in the planning phase, but the +* **December 11th 2009** - Py4J is still in the planning phase, but the code currently works for basic scenarios. A release and a tutorial should be available in the following weeks. diff --git a/py4j-web/py4j_java_gateway.rst b/py4j-web/py4j_java_gateway.rst index 6630a7f8..9359a490 100644 --- a/py4j-web/py4j_java_gateway.rst +++ b/py4j-web/py4j_java_gateway.rst @@ -23,7 +23,7 @@ JavaGateway :members: :undoc-members: - + .. _api_java_gateway_examples: Examples @@ -44,7 +44,7 @@ Using the ``jvm`` property: >>> l.sort() >>> l [1, 5, 10] - + Using ``auto_field``: First we declare a class that has a field AND a method called `member`: @@ -75,7 +75,7 @@ Then we play with the class using the two possible values of auto_field: 1 >>> get_method(example2,'member')() u'Hello World' - + .. _api_gatewayclient: GatewayClient @@ -265,4 +265,6 @@ The following functions get be used to import packages or to get a particular fi .. autofunction:: py4j.java_gateway.get_method +.. autofunction:: py4j.java_gateway.is_instance_of +