You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/08/31 17:33:41 UTC
[01/11] tinkerpop git commit: Use pytest-runner to properly build
deps on test invocation
Repository: tinkerpop
Updated Branches:
refs/heads/master 6bf9fbd52 -> c16be11d0
Use pytest-runner to properly build deps on test invocation
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/56737a13
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/56737a13
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/56737a13
Branch: refs/heads/master
Commit: 56737a134fc08e56848eed8adc61201bdd0802df
Parents: 0462430
Author: davebshow <da...@gmail.com>
Authored: Mon Aug 29 15:27:49 2016 -0400
Committer: davebshow <da...@gmail.com>
Committed: Mon Aug 29 15:27:49 2016 -0400
----------------------------------------------------------------------
gremlin-python/pom.xml | 7 +++----
gremlin-python/src/main/jython/setup.cfg | 7 +++++--
gremlin-python/src/main/jython/setup.py | 8 +++++---
3 files changed, 13 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/56737a13/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index c830790..deaf17e 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -323,9 +323,8 @@
<configuration>
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
<libraries>
- <param>aenum</param>
- <param>requests</param>
- <param>tornado</param>
+ <param>aenum==1.4.5</param>
+ <param>tornado==4.4.1</param>
</libraries>
</configuration>
</execution>
@@ -551,4 +550,4 @@ log.info("Gremlin Server shutdown")
</build>
</profile>
</profiles>
-</project>
\ No newline at end of file
+</project>
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/56737a13/gremlin-python/src/main/jython/setup.cfg
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/setup.cfg b/gremlin-python/src/main/jython/setup.cfg
index f8bab76..d025b3a 100644
--- a/gremlin-python/src/main/jython/setup.cfg
+++ b/gremlin-python/src/main/jython/setup.cfg
@@ -17,5 +17,8 @@
[bdist_wheel]
universal=1
-[pytest]
-addopts = --junitxml=../python-reports/TEST-native-python.xml
\ No newline at end of file
+[aliases]
+test=pytest
+
+[tool:pytest]
+addopts = --junitxml=../python-reports/TEST-native-python.xml
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/56737a13/gremlin-python/src/main/jython/setup.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/setup.py b/gremlin-python/src/main/jython/setup.py
index 52e6fe4..7540654 100644
--- a/gremlin-python/src/main/jython/setup.py
+++ b/gremlin-python/src/main/jython/setup.py
@@ -64,12 +64,14 @@ setup(
long_description=open("README").read(),
test_suite="tests",
cmdclass = {'test': PyTest},
+ setup_requires=[
+ 'pytest-runner',
+ ],
tests_require=[
'pytest'
],
install_requires=[
- 'aenum',
- 'requests',
- 'tornado'
+ 'aenum==1.4.5',
+ 'tornado==4.4.1'
]
)
[04/11] tinkerpop git commit: Merge branch 'pr-393' into virtualenv
Posted by sp...@apache.org.
Merge branch 'pr-393' into virtualenv
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/334470ff
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/334470ff
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/334470ff
Branch: refs/heads/master
Commit: 334470ffb07cbb9f105d3c287ac183f123d4c3c6
Parents: d2fc54f d148031
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Aug 30 08:29:39 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Aug 30 08:29:39 2016 -0400
----------------------------------------------------------------------
gremlin-python/pom.xml | 7 +++----
gremlin-python/src/main/jython/setup.cfg | 8 ++++++--
gremlin-python/src/main/jython/setup.py | 20 +++++---------------
3 files changed, 14 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/334470ff/gremlin-python/pom.xml
----------------------------------------------------------------------
[08/11] tinkerpop git commit: Updated dev docs on the build
environment CTR
Posted by sp...@apache.org.
Updated dev docs on the build environment CTR
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4752a5d0
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4752a5d0
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4752a5d0
Branch: refs/heads/master
Commit: 4752a5d05bc45dcbd3ca7b1e5f2819e73e14c600
Parents: d1c1969
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Aug 31 10:32:32 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Aug 31 10:32:32 2016 -0400
----------------------------------------------------------------------
.../developer/development-environment.asciidoc | 93 ++++++++++++++++++--
1 file changed, 87 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4752a5d0/docs/src/dev/developer/development-environment.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/development-environment.asciidoc b/docs/src/dev/developer/development-environment.asciidoc
index 0d11d85..d6fc9a7 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -17,16 +17,96 @@ limitations under the License.
Development Environment
=======================
+TinkerPop is fairly large body of code spread across many modules and covering multiple programming languages. Despite
+this complexity, it remains relatively straightforward a project to build. This following subsections explain how to
+configure a development environment for TinkerPop.
+
+System Configuration
+--------------------
+
+At a minimum, development of TinkerPop requires link:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html[Java 1.8.0_40+]
+and link:https://maven.apache.org/download.cgi[Maven 3.0.5+]. Maven is used as the common build system, which even
+controls the builds of non-JVM link:http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/[GLVs]
+such as `gremlin-python`. Java and Maven are described as a "minimum" for a development environment, because they
+will only build JVM portions of TinkerPop and many integration tests will not fire with this simple setup. It is
+possible to get a clean and successful build with this minimum, but it will not be possible to build non-JVM aspects
+of the project and those will go untested.
+
+To gain the ability to execute all aspects of the TinkerPop build system, other environmental configurations must be
+established. Those prerequisites are defined in the following subsections.
+
+IMPORTANT: For those who intend to offer a contribution, building with a minimal configuration may not be sufficient
+when submitting a pull request. Consider setting up the full environment.
+
+NOTE: For those using Windows, efforts have been made to keep the build OS independent, but, in practice, it is likely
+that TinkerPop's build system will only allow for a minimum build at best.
+
+[[documentation-environment]]
+Documentation Environment
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The documentation generation process is not Maven-based and uses shell scripts to process the project's asciidoc. The
+scripts should work on Mac and Linux.
+
+To generate documentation, it is required that link:https://hadoop.apache.org[Hadoop 2.7.x] is running in
+link:https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation[pseudo-distributed]
+mode. Be sure to set the `HADOOP_GREMLIN_LIBS` environment variable as described in the
+link:http://tinkerpop.apache.org/docs/current/reference/#hadoop-gremlin[reference documentation]. It is also important
+to set the `CLASSPATH` to point at the directory containing the Hadoop configuration files, like `map-red-site.xml`.
+
+Also note that link:http://www.grymoire.com/Unix/Awk.html[awk] version `4.0.1` is required for documentation generation.
+
+[[python-environment]]
+Python Environment
+~~~~~~~~~~~~~~~~~~
+
+As of TinkerPop 3.2.2, the build optionally requires link:https://www.python.org/[Python 2.x] to work with the
+`gremlin-python` module. If Python is not installed, TinkerPop will still build with Maven, but native Python tests and
+Java tests that require Python code will be skipped. Developers should also install link:https://pypi.python.org/pypi/pip[pip]
+and link:https://virtualenv.pypa.io/en/stable/[virtualenv].
+
+[[release-environment]]
+Release Environment
+~~~~~~~~~~~~~~~~~~~
+
+This section is only useful to TinkerPop release managers and describes prerequisites related to deploying an official
+release of TinkerPop. All Apache releases must be signed. Please see link:http://www.apache.org/dev/release-signing.html[this guide]
+in the Apache documentation for instructions on to set up gpg. Keys should be added to KEYS files in both the
+link:https://dist.apache.org/repos/dist/dev/tinkerpop/KEYS[development] and
+link:https://dist.apache.org/repos/dist/release/tinkerpop/KEYS[release] distribution directories.
+
+Uploading to pypi uses link:https://pypi.python.org/pypi/twine[twine] which is automatically installed by the build
+process in maven. Twine refers to `HOME/.pypirc` file for configuration on the pypi deploy environments and username
+and password combinations. The file typically looks like this:
+
+[source,text]
+----
+[distutils]
+index-servers=
+ pypi
+ pypitest
+
+[pypitest]
+repository = https://testpypi.python.org/pypi
+username = <username>
+password =
+
+[pypi]
+repository = https://pypi.python.org/pypi
+username = <username>
+password =
+----
+
+If the `password` is left blank then the deployment process in Maven will prompt for it at deployment time.
+
[[building-testing]]
Building and Testing
--------------------
-TinkerPop requires `Java 1.8.0_40+` for standard building and operations. In addition, it optionally requires Python
-2.x to work with the `gremlin-python` module. If Python is not installed, TinkerPop will still build with Maven, but
-native Python tests and Java tests that require Python code will be skipped. It will also not be possible to do
-deployments.
+The following commands are a mix of Maven flags and shell scripts that handle different build operations
-* Build Project: `mvn clean install`
+* Build project: `mvn clean install`
+* Build a specific module (e.g. `gremlin-python`) within the project: `mvn clean install -pl gremlin-python`
** Specify specific tests in a TinkerPop Suite to run with the `GREMLIN_TESTS` environment variable, along with the
Maven project list argument, e.g.:
+
@@ -41,7 +121,7 @@ mvn -Dmaven.javadoc.skip=true --projects tinkergraph-gremlin test
* Regenerate test data (only necessary given changes to IO classes): `mvn clean install -Dio` from `tinkergraph-gremlin` directory
** If there are changes to the Gryo format, it may be necessary to generate the Grateful Dead dataset from GraphSON (see `IoDataGenerationTest.shouldWriteGratefulDead`)
* Check license headers are present: `mvn apache-rat:check`
-* Build AsciiDocs (Hadoop must be running and link:http://www.grymoire.com/Unix/Awk.html[awk] version `4.0.1` is required): `bin/process-docs.sh`
+* Build AsciiDocs (see <<documentation-environment,Documentation Environment>>): `bin/process-docs.sh`
** Build AsciiDocs (but don't evaluate code blocks): `bin/process-docs.sh --dryRun`
** Build AsciiDocs (but don't evaluate code blocks in specific files): `bin/process-docs.sh --dryRun docs/src/reference/the-graph.asciidoc,docs/src/tutorial/getting-started,...`
** Build AsciiDocs (but evaluate code blocks only in specific files): `bin/process-docs.sh --fullRun docs/src/reference/the-graph.asciidoc,docs/src/tutorial/getting-started,...`
@@ -55,6 +135,7 @@ mvn -Dmaven.javadoc.skip=true --projects tinkergraph-gremlin test
** Execute with the `-DuseEpoll` option to try to use Netty native transport (works on Linux, but will fallback to Java NIO on other OS).
* Performance Tests: `mvn verify -DskipPerformanceTests=false`
* Benchmarks: `mvn verify -DskipBenchmarks=false`
+* Build and execute with native Python tests (see <<python-environment,Python Environment>>: `mvn clean install -DglvPython`
[[docker-integration]]
Docker Integration
[09/11] tinkerpop git commit: Minor fix to doc formatting
Posted by sp...@apache.org.
Minor fix to doc formatting
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e4d6b618
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e4d6b618
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e4d6b618
Branch: refs/heads/master
Commit: e4d6b6181dc6641f10d47a553cd0235b738a8c05
Parents: 4752a5d
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Aug 31 10:32:47 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Aug 31 10:32:47 2016 -0400
----------------------------------------------------------------------
docs/src/reference/gremlin-applications.asciidoc | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e4d6b618/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index 495aadd..4c01096 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -192,8 +192,11 @@ Colors can contain a comma-separated combination of 1 each of foreground, backgr
|=========================================================
Example:
-```:set gremlin.color bg_black,green,bold```
+[source,text]
+----
+:set gremlin.color bg_black,green,bold
+----
Dependencies and Plugin Usage
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[11/11] tinkerpop git commit: Merge remote-tracking branch
'origin/virtualenv'
Posted by sp...@apache.org.
Merge remote-tracking branch 'origin/virtualenv'
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c16be11d
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c16be11d
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c16be11d
Branch: refs/heads/master
Commit: c16be11d0f19b89d3e628a54769528c4e7c18587
Parents: 6bf9fbd 7be929f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Aug 31 13:01:53 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Aug 31 13:01:53 2016 -0400
----------------------------------------------------------------------
docs/src/dev/developer/administration.asciidoc | 5 +-
.../developer/development-environment.asciidoc | 93 +++++++-
.../src/reference/gremlin-applications.asciidoc | 5 +-
gremlin-python/pom.xml | 221 ++++++++++---------
gremlin-python/src/main/jython/setup.cfg | 8 +-
gremlin-python/src/main/jython/setup.py | 20 +-
6 files changed, 219 insertions(+), 133 deletions(-)
----------------------------------------------------------------------
[10/11] tinkerpop git commit: Added a note about creating new
committer accounts CTR
Posted by sp...@apache.org.
Added a note about creating new committer accounts CTR
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7be929f9
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7be929f9
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7be929f9
Branch: refs/heads/master
Commit: 7be929f986242ef48bdee4bf17716aac3b348fb2
Parents: e4d6b61
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Aug 31 11:10:56 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Aug 31 11:10:56 2016 -0400
----------------------------------------------------------------------
docs/src/dev/developer/administration.asciidoc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7be929f9/docs/src/dev/developer/administration.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/administration.asciidoc b/docs/src/dev/developer/administration.asciidoc
index 7c1acf8..39fea01 100644
--- a/docs/src/dev/developer/administration.asciidoc
+++ b/docs/src/dev/developer/administration.asciidoc
@@ -79,9 +79,10 @@ established the PMC chair will then need to:
1. Validate that the iCLA is on file either through link:https://svn.apache.org/repos/private/foundation/officers/[svn]
or through link:http://people.apache.org/committer-index.html[people.apache.org].
-2. Once verified, provide the new committer access to the repository, which is most easily done through
+1. Request that the account be created. The PMC Chair may do this through the link:http://infra.apache.org/[Account Request Form].
+1. Once verified, provide the new committer access to the repository, which is most easily done through
link:https://whimsy.apache.org/roster/committee/[Whimsy].
-3. Send an announcement email to the developer and user mailing lists with the template below.
+1. Send an announcement email to the developer and user mailing lists with the template below.
[source,text]
----
[05/11] tinkerpop git commit: Massive cleanup to gremlin-python
pom.xml
Posted by sp...@apache.org.
Massive cleanup to gremlin-python pom.xml
Restructured to use virtualenv in all native python calls.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/24eba0ca
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/24eba0ca
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/24eba0ca
Branch: refs/heads/master
Commit: 24eba0ca4d4e767a83ddc23a6b0c22a0504dc985
Parents: 334470f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Aug 30 12:57:21 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Aug 30 12:57:21 2016 -0400
----------------------------------------------------------------------
gremlin-python/pom.xml | 189 ++++++++++++++++++++++----------------------
1 file changed, 93 insertions(+), 96 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24eba0ca/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 30bba03..bc41c57 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -318,49 +318,7 @@
</systemPropertyVariables>
</configuration>
</plugin>
- <!-- get a clean copy of the python files for native processing -->
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-py-files-to-target</id>
- <phase>process-resources</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${basedir}/target/python</outputDirectory>
- <resources>
- <resource>
- <directory>${basedir}/src/main/jython</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
- <executions>
- <execution>
- <id>build-python</id>
- <phase>generate-test-resources</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <executable>python</executable>
- <workingDirectory>${basedir}/target/python</workingDirectory>
- <commandlineArgs>setup.py build --build-lib ${project.build.testOutputDirectory}/Lib
- </commandlineArgs>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- required for the jython tests -->
+ <!-- required for the jython tests -->
<plugin>
<groupId>net.sf.mavenjython</groupId>
<artifactId>jython-compile-maven-plugin</artifactId>
@@ -395,7 +353,7 @@
<executions>
<execution>
<id>create-python-reports-directory</id>
- <phase>process-resources</phase>
+ <phase>initialize</phase>
<goals>
<goal>run</goal>
</goals>
@@ -403,14 +361,101 @@
<tasks>
<delete dir="${build.directory}/python-reports"/>
<mkdir dir="${build.directory}/python-reports"/>
+ <delete dir="${build.directory}/python"/>
+ <mkdir dir="${project.build.directory}/python/env"/>
+ <delete dir="${build.directory}/python-packaged"/>
+ <mkdir dir="${project.build.directory}/python-packaged/env"/>
</tasks>
</configuration>
</execution>
+ <!-- copy files in jython directory to target/py and run virtual env to sandbox python.
+ there is no need to "activate" the virtualenv because all calls to python occur
+ directly from bin/ -->
+ <execution>
+ <id>setup-py-env</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <!-- seems like we need a few different copies of the same source. all the
+ different python/jython stuff doesn't seem to want to share. we use
+ /python for basic tests and stuff, /jython for jython compilation with
+ the jython plugin, /python-packaged for distribution tasks. some of the
+ problem seems to stem from the python lifecycle not binding perfectly well
+ to the maven lifecycle (integration tests seems to cause troubles
+ specifically) -->
+ <copy todir="${project.build.directory}/python">
+ <fileset dir="src/main/jython"/>
+ </copy>
+ <copy todir="${project.build.directory}/python-packaged">
+ <fileset dir="src/main/jython"/>
+ </copy>
+ <exec dir="${project.build.directory}/python" executable="virtualenv"
+ failonerror="true">
+ <arg value="env"/>
+ </exec>
+ <exec dir="${project.build.directory}/python-packaged" executable="virtualenv"
+ failonerror="true">
+ <arg value="env"/>
+ </exec>
+ <copy todir="${project.build.directory}/jython">
+ <fileset dir="src/main/jython"/>
+ </copy>
+ </tasks>
+ </configuration>
+ </execution>
+ <execution>
+ <id>native-python-build</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <skip>${skipTests}</skip>
+ <target>
+ <exec executable="env/bin/python" dir="${project.build.directory}/python"
+ failonerror="true">
+ <arg line="setup.py build --build-lib ${project.build.testOutputDirectory}/Lib"/>
+ </exec>
+ </target>
+ </configuration>
+ </execution>
+
+ <!--
+ build/package python source distribution and wheel archive. the version is bound to an
+ environment variable that gets used in setup.py to dynamically construct a module
+ __version__file
+ -->
+ <execution>
+ <id>package-py</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <exec executable="env/bin/python" dir="${project.build.directory}/python-packaged"
+ failonerror="true">
+ <env key="VERSION" value="${project.version}"/>
+ <arg line="setup.py sdist"/>
+ </exec>
+ <exec executable="env/bin/python" dir="${project.build.directory}/python-packaged"
+ failonerror="true">
+ <env key="VERSION" value="${project.version}"/>
+ <arg line="setup.py bdist_wheel"/>
+ </exec>
+ </target>
+ </configuration>
+ </execution>
+
<!--
use pytest to execute native python tests - output of xunit output is configured in setup.cfg.
had to use the ant plugin - maven-exec-plugin
-->
<execution>
+ <id>native-python-test</id>
<phase>integration-test</phase>
<goals>
<goal>run</goal>
@@ -418,11 +463,9 @@
<configuration>
<skip>${skipTests}</skip>
<target>
- <exec executable="python"
- dir="${basedir}/target/python"
+ <exec executable="env/bin/python" dir="${project.build.directory}/python"
failonerror="true">
- <arg value="setup.py"/>
- <arg value="test"/>
+ <arg line="setup.py test"/>
</exec>
</target>
</configuration>
@@ -536,52 +579,6 @@ log.info("Gremlin Server shutdown")
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
- <!-- copy files in jython directory to target/py and run virtual env to sandbox python -->
- <execution>
- <id>setup-py-env</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <mkdir dir="${project.build.directory}/py/env"/>
- <copy todir="${project.build.directory}/py">
- <fileset dir="src/main/jython"/>
- </copy>
- <exec dir="${project.build.directory}/py" executable="virtualenv"
- failonerror="true">
- <arg line="env"/>
- </exec>
- </tasks>
- </configuration>
- </execution>
- <!--
- build/package python source distribution and wheel archive. the version is bound to an
- environment variable that gets used in setup.py to dynamically construct a module
- __version__file
- -->
- <execution>
- <id>package-py</id>
- <phase>package</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <exec dir="${project.build.directory}/py" executable="env/bin/python"
- failonerror="true">
- <env key="VERSION" value="${project.version}"/>
- <arg line="setup.py sdist"/>
- </exec>
- <exec dir="${project.build.directory}/py" executable="env/bin/python"
- failonerror="true">
- <env key="VERSION" value="${project.version}"/>
- <arg line="setup.py bdist_wheel"/>
- </exec>
- </tasks>
- </configuration>
- </execution>
<!-- deploy to pypi. assumes that ~/.pypirc is configured appropriately -->
<execution>
<id>deploy-py</id>
@@ -591,11 +588,11 @@ log.info("Gremlin Server shutdown")
</goals>
<configuration>
<tasks>
- <exec dir="${project.build.directory}/py" executable="env/bin/pip"
+ <exec dir="${project.build.directory}/python-packaged" executable="env/bin/pip"
failonerror="true">
<arg line="install twine"/>
</exec>
- <exec dir="${project.build.directory}/py" executable="env/bin/twine"
+ <exec dir="${project.build.directory}/python-packaged" executable="env/bin/twine"
failonerror="true">
<arg line="upload dist/* -r pypitest"/>
</exec>
[02/11] tinkerpop git commit: remove unneeded custom command
Posted by sp...@apache.org.
remove unneeded custom command
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5c9d9927
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5c9d9927
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5c9d9927
Branch: refs/heads/master
Commit: 5c9d9927d20c7f56b9a0bc9c5c1ae0fe5a58f4bf
Parents: 56737a1
Author: davebshow <da...@gmail.com>
Authored: Mon Aug 29 15:33:51 2016 -0400
Committer: davebshow <da...@gmail.com>
Committed: Mon Aug 29 15:33:51 2016 -0400
----------------------------------------------------------------------
gremlin-python/src/main/jython/setup.py | 12 ------------
1 file changed, 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5c9d9927/gremlin-python/src/main/jython/setup.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/setup.py b/gremlin-python/src/main/jython/setup.py
index 7540654..c37191f 100644
--- a/gremlin-python/src/main/jython/setup.py
+++ b/gremlin-python/src/main/jython/setup.py
@@ -43,17 +43,6 @@ import __version__
version = __version__.version
-class PyTest(Command):
- user_options = []
- def initialize_options(self):
- pass
- def finalize_options(self):
- pass
- def run(self):
- import sys,subprocess
- errno = subprocess.call([sys.executable, 'runtest.py'])
- raise SystemExit(errno)
-
setup(
name='gremlinpython',
version=version,
@@ -63,7 +52,6 @@ setup(
description='Gremlin-Python for Apache TinkerPop',
long_description=open("README").read(),
test_suite="tests",
- cmdclass = {'test': PyTest},
setup_requires=[
'pytest-runner',
],
[07/11] tinkerpop git commit: More config cleanup for native python
build.
Posted by sp...@apache.org.
More config cleanup for native python build.
Force virtualenv to use python2. Clean up a bit around python "deploy" phase.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d1c19691
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d1c19691
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d1c19691
Branch: refs/heads/master
Commit: d1c1969153f7e0d3f0db3cf0e8e2325bcbb3d57b
Parents: 70b3489
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Aug 30 16:49:25 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Aug 30 16:49:25 2016 -0400
----------------------------------------------------------------------
gremlin-python/pom.xml | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d1c19691/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index cbee8ad..d455ec8 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -359,11 +359,8 @@
</goals>
<configuration>
<tasks>
- <delete dir="${build.directory}/python-reports"/>
- <mkdir dir="${build.directory}/python-reports"/>
- <delete dir="${build.directory}/python"/>
+ <mkdir dir="${project.build.directory}/python-reports"/>
<mkdir dir="${project.build.directory}/python/env"/>
- <delete dir="${build.directory}/python-packaged"/>
<mkdir dir="${project.build.directory}/python-packaged/env"/>
</tasks>
</configuration>
@@ -396,7 +393,7 @@
</copy>
<exec dir="${project.build.directory}/python" executable="virtualenv"
failonerror="true">
- <arg value="env"/>
+ <arg line="--python=python2 env"/>
</exec>
<exec dir="${project.build.directory}/python" executable="env/bin/pip"
failonerror="true">
@@ -404,7 +401,7 @@
</exec>
<exec dir="${project.build.directory}/python-packaged" executable="virtualenv"
failonerror="true">
- <arg value="env"/>
+ <arg line="--python=python2 env"/>
</exec>
<exec dir="${project.build.directory}/python-packaged" executable="env/bin/pip"
failonerror="true">
@@ -515,6 +512,8 @@ import org.apache.tinkerpop.gremlin.server.GremlinServer
import org.apache.tinkerpop.gremlin.server.Settings
import org.apache.tinkerpop.gremlin.server.Settings.ScriptEngineSettings
+if (${skipTests}) return
+
log.info("Starting Gremlin Server instances for native testing of gremlin-python")
def settings = Settings.read("${gremlin.server.dir}/conf/gremlin-server-modern-py.yaml")
settings.graphs.graph = "${gremlin.server.dir}/conf/tinkergraph-empty.properties"
@@ -555,6 +554,8 @@ log.info("Gremlin Server with authentication started on port 8183")
<![CDATA[
import org.apache.tinkerpop.gremlin.server.GremlinServer
+if (${skipTests}) return
+
log.info("Tests for native gremlin-python complete - shutting down Gremlin Server")
project.getContextValue("gremlin.py.server").stop().join()
project.getContextValue("gremlin.py.server.secure").stop().join()
@@ -570,17 +571,17 @@ log.info("Gremlin Server shutdown")
</build>
</profile>
<!--
- Provides a way to deploy the gremlinpython GLV to pypi. Requires installation of pip/virtualenv. See the
- developer docs for more information on how to configure these settings to get this profile to work. The profile
- largely uses antrun to execute raw pip/twine/python commands against a copy of what's in the jython directory
- which is copied to target/py.
+ Provides a way to deploy the gremlinpython GLV to pypi. This cannot be part of the standard maven execution
+ because pypi does not have a staging environment like sonatype for releases. As soon as the release is
+ published it is public. In our release workflow, deploy occurs prior to vote on the release and we can't
+ make this stuff public until the vote is over.
-->
<profile>
<id>glv-python-deploy</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
- <name>glvPythonDeploy</name>
+ <name>pypi</name>
</property>
</activation>
<build>
@@ -604,7 +605,7 @@ log.info("Gremlin Server shutdown")
</exec>
<exec dir="${project.build.directory}/python-packaged" executable="env/bin/twine"
failonerror="true">
- <arg line="upload dist/* -r pypitest"/>
+ <arg line="upload dist/* -r pypitest -s"/>
</exec>
</tasks>
</configuration>
[03/11] tinkerpop git commit: add lib/lib64 to norecursedirs in
pytest config
Posted by sp...@apache.org.
add lib/lib64 to norecursedirs in pytest config
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d1480314
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d1480314
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d1480314
Branch: refs/heads/master
Commit: d1480314f0994e331e0b6dff2fcebdd998837941
Parents: 5c9d992
Author: davebshow <da...@gmail.com>
Authored: Tue Aug 30 00:06:31 2016 -0400
Committer: davebshow <da...@gmail.com>
Committed: Tue Aug 30 00:06:31 2016 -0400
----------------------------------------------------------------------
gremlin-python/src/main/jython/setup.cfg | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d1480314/gremlin-python/src/main/jython/setup.cfg
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/setup.cfg b/gremlin-python/src/main/jython/setup.cfg
index d025b3a..b9e5f22 100644
--- a/gremlin-python/src/main/jython/setup.cfg
+++ b/gremlin-python/src/main/jython/setup.cfg
@@ -22,3 +22,4 @@ test=pytest
[tool:pytest]
addopts = --junitxml=../python-reports/TEST-native-python.xml
+norecursedirs = '.*', 'build', 'dist', 'CVS', '_darcs', '{arch}', '*.egg' lib lib64
[06/11] tinkerpop git commit: Do a safety install of whell in case
virtualenv is an older version.
Posted by sp...@apache.org.
Do a safety install of whell in case virtualenv is an older version.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/70b34892
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/70b34892
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/70b34892
Branch: refs/heads/master
Commit: 70b34892a0e01dac461dbaf9a12032f643ba8e6c
Parents: 24eba0c
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Aug 30 13:42:04 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Aug 30 13:42:04 2016 -0400
----------------------------------------------------------------------
gremlin-python/pom.xml | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/70b34892/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index bc41c57..cbee8ad 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -385,7 +385,9 @@
the jython plugin, /python-packaged for distribution tasks. some of the
problem seems to stem from the python lifecycle not binding perfectly well
to the maven lifecycle (integration tests seems to cause troubles
- specifically) -->
+ specifically). note that the commands to install wheel are largely for
+ safety in case someone is using an older version of virtualenv (which
+ doesn't install wheel by default) -->
<copy todir="${project.build.directory}/python">
<fileset dir="src/main/jython"/>
</copy>
@@ -396,10 +398,18 @@
failonerror="true">
<arg value="env"/>
</exec>
+ <exec dir="${project.build.directory}/python" executable="env/bin/pip"
+ failonerror="true">
+ <arg line="install wheel"/>
+ </exec>
<exec dir="${project.build.directory}/python-packaged" executable="virtualenv"
failonerror="true">
<arg value="env"/>
</exec>
+ <exec dir="${project.build.directory}/python-packaged" executable="env/bin/pip"
+ failonerror="true">
+ <arg line="install wheel"/>
+ </exec>
<copy todir="${project.build.directory}/jython">
<fileset dir="src/main/jython"/>
</copy>