[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-11 Thread Ryan Skraba (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993545#comment-16993545
 ] 

Ryan Skraba commented on AVRO-831:
--

Thanks so much [~kojiromike].  I wanted to point out a super side effect of 
this work:  the {{lang/py}} avro module can be imported into intellij (also 
probably PyCharm) via "Create project from an existing source" without any 
extra steps.  In the past, I had to fiddle with some module settings, so this 
is pretty nice!




> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Fix For: 1.10.0
>
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993090#comment-16993090
 ] 

Hudson commented on AVRO-831:
-

SUCCESS: Integrated in Jenkins build AvroJava #785 (See 
[https://builds.apache.org/job/AvroJava/785/])
AVRO-831 Refactor lang/py setup and test structure (#733) (github: 
[https://github.com/apache/avro/commit/9ab19ee49678e930beeb05d2f1c7fedbd663223d])
* (delete) lang/py/lib/pyAntTasks-1.3-LICENSE.txt
* (delete) lang/py/src/avro/protocol.py
* (delete) lang/py/test/test_datafile_interop.py
* (delete) lang/py/test/test_tether_word_count.py
* (edit) lang/py/.gitignore
* (add) lang/py/avro/NOTICE
* (delete) lang/py/src/avro/tether/util.py
* (delete) lang/py/test/word_count_task.py
* (add) lang/py/avro/tether/tether_task_runner.py
* (delete) lang/py/test/sample_http_server.py
* (edit) lang/py/scripts/avro
* (delete) lang/py/src/avro/timezones.py
* (add) lang/py/avro/test/mock_tether_parent.py
* (edit) build.sh
* (delete) lang/py/test/test_datafile.py
* (edit) lang/py/setup.py
* (add) lang/py/avro/test/sample_http_client.py
* (add) lang/py/avro/schema.py
* (add) lang/py/avro/test/test_schema.py
* (delete) lang/py/test/txsample_http_client.py
* (delete) lang/py/test/test_io.py
* (delete) lang/py/test/mock_tether_parent.py
* (delete) lang/py/src/avro/schema.py
* (delete) lang/py/test/txsample_http_server.py
* (delete) lang/py/src/avro/tether/tether_task_runner.py
* (add) lang/py/avro/constants.py
* (add) lang/py/avro/test/txsample_http_client.py
* (add) lang/py/avro/test/sample_http_server.py
* (add) lang/py/avro/timezones.py
* (delete) lang/py/src/avro/LICENSE
* (edit) lang/py/build.sh
* (add) lang/py/avro/tool.py
* (delete) lang/py/test/test_tether_task_runner.py
* (delete) lang/py/test/sample_http_client.py
* (delete) lang/py/test/test_protocol.py
* (edit) share/test/interop/bin/test_rpc_interop.sh
* (delete) lang/py/test/__init__.py
* (delete) lang/py/ivy.xml
* (add) lang/py/avro/io.py
* (edit) doc/src/content/xdocs/gettingstartedpython.xml
* (delete) lang/py/src/avro/datafile.py
* (delete) lang/py/src/avro/ipc.py
* (add) lang/py/avro/txipc.py
* (edit) lang/py/setup.cfg
* (delete) lang/py/src/avro/tool.py
* (delete) lang/py/test/test_script.py
* (add) lang/py/avro/tether/tether_task.py
* (delete) lang/py/src/avro/io.py
* (delete) lang/py/lib/pyAntTasks-1.3.jar
* (delete) lang/py/src/avro/__init__.py
* (add) lang/py/avro/test/test_datafile.py
* (add) lang/py/avro/test/word_count_task.py
* (delete) lang/py/src/avro/tether/tether_task.py
* (delete) lang/py/test/test_ipc.py
* (add) lang/py/avro/LICENSE
* (add) lang/py/avro/datafile.py
* (delete) lang/py/test/set_avro_test_path.py
* (delete) lang/py/ivysettings.xml
* (add) lang/py/avro/protocol.py
* (delete) lang/py/test/test_schema.py
* (add) lang/py/avro/test/test_protocol.py
* (add) lang/py/avro/ipc.py
* (add) lang/py/avro/test/test_datafile_interop.py
* (delete) lang/py/src/avro/tether/__init__.py
* (add) lang/py/avro/test/test_ipc.py
* (add) lang/py/avro/test/test_io.py
* (delete) lang/py/test/gen_interop_data.py
* (delete) lang/py/src/avro/txipc.py
* (add) lang/py/avro/test/__init__.py
* (add) lang/py/avro/test/test_tether_task_runner.py
* (add) lang/py/avro/test/test_script.py
* (add) lang/py/avro/test/gen_interop_data.py
* (add) lang/py/avro/test/txsample_http_server.py
* (delete) lang/py/src/avro/constants.py
* (add) lang/py/avro/tether/__init__.py
* (add) lang/py/avro/tether/util.py
* (add) lang/py/avro/test/test_tether_word_count.py
* (add) lang/py/avro/test/av_bench.py
* (delete) lang/py/test/av_bench.py
* (add) lang/py/avro/__init__.py
* (add) lang/py/avro/test/test_tether_task.py
* (delete) lang/py/src/avro/NOTICE
* (delete) lang/py/test/test_tether_task.py


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Fix For: 1.10.0
>
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In 

[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993069#comment-16993069
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993078#comment-16993078
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993073#comment-16993073
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993067#comment-16993067
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993074#comment-16993074
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993076#comment-16993076
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993066#comment-16993066
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993065#comment-16993065
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993068#comment-16993068
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993077#comment-16993077
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993071#comment-16993071
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993079#comment-16993079
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993072#comment-16993072
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2019-12-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993075#comment-16993075
 ] 

ASF subversion and git services commented on AVRO-831:
--

Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch 
refs/heads/master from Michael A. Smith
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ]

AVRO-831 Refactor lang/py setup and test structure (#733)

* AVRO-831: Pythonic Build

* AVRO-831: Rework lang/py Setup

Decouple python setup from ant and enable tests to run without it.

* AVRO-831: Run Tests Normally

* AVRO-831: Skip Java Tether if No JDK

Make it easier to test on systems without Java

* AVRO-831: Modern Exception Syntax

* AVRO-831: Exterminate Ants

* AVRO-831: Found One More Ant

* AVRO-831: Remove pdb

* AVRO-831: iSort Order

* AVRO-831: Rename Build Subcommand

* AVRO-831: Correct PYTHONPATH in Interop Tests

* AVRO-831: Skip Test if JAR Not Found

* AVRO-831: Set Package Version Correctly

Fixes an error where the package metadata version is not used, causing 
setuptools to ignore it.

Co-Authored-By: RyanSkraba 

* AVRO-831: Ignore More Files Created by Setup

Adds additional files that are created during setup to .gitignore because they 
are generated and should not be in version control.

* AVRO-831: Clean Directly from build.sh

Python packaging is [moving away from embedding commands in
setup.py][1]. It is difficult to maintain external commands in Python
this way. Managing the dependencies needed to run commands from within
setup.py is gnarly, because dependencies cannot be resolved so early.
Furthermore, it's difficult to test code that happens at the point at
which tests themselves are triggered, so that code needs to be very
simple. A shell script is simple and more appropriate for this use case.

At another time we should look to extract the lint command as well.

[1][https://github.com/pypa/setuptools/issues/931]


> Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
> without a pre-processing step.
> --
>
> Key: AVRO-831
> URL: https://issues.apache.org/jira/browse/AVRO-831
> Project: Apache Avro
>  Issue Type: Improvement
>  Components: python
> Environment: Operating environments supporting the Python programming 
> language.
>Reporter: Joseph Koshy
>Assignee: Michael A. Smith
>Priority: Major
>  Labels: build, python
> Attachments: setup.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> Avro's build process for its Python bindings currently needs a set of 
> pre-processing steps that need to be executed before the build proper is 
> started.  These pre-processing steps are executed by {{ant}}.
> The attached patch folds these pre-processing steps into the {{setup.py}} 
> control script that is input to Python's {{distutils}} build tool kit.  This 
> eliminates the dependency on {{ant}}.
> In the patch:
> * Source files that need keyword expansion are renamed to use a {{.in}} 
> extension.  The build process will generate the appropriately transformed 
> {{.py}} files from these {{.in}} files.
> * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
> test data for use with interoperability test code.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.

2012-02-13 Thread Bo Shi (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13207213#comment-13207213
 ] 

Bo Shi commented on AVRO-831:
-

Patch still seems to have some extra bits.

 Enhance the Python `distutils` control file `setup.py` to build Avro/Python 
 without a pre-processing step.
 --

 Key: AVRO-831
 URL: https://issues.apache.org/jira/browse/AVRO-831
 Project: Avro
  Issue Type: Improvement
  Components: python
 Environment: Operating environments supporting the Python programming 
 language.
Reporter: Joseph Koshy
Assignee: Joseph Koshy
  Labels: build, python
 Fix For: 1.7.0

 Attachments: setup.patch

   Original Estimate: 4h
  Remaining Estimate: 4h

 Avro's build process for its Python bindings currently needs a set of 
 pre-processing steps that need to be executed before the build proper is 
 started.  These pre-processing steps are executed by {{ant}}.
 The attached patch folds these pre-processing steps into the {{setup.py}} 
 control script that is input to Python's {{distutils}} build tool kit.  This 
 eliminates the dependency on {{ant}}.
 In the patch:
 * Source files that need keyword expansion are renamed to use a {{.in}} 
 extension.  The build process will generate the appropriately transformed 
 {{.py}} files from these {{.in}} files.
 * {{setup.py}} supports a new command {{make_interop_data}}, used to generate 
 test data for use with interoperability test code.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira