You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by al...@apache.org on 2017/03/15 17:22:58 UTC
[1/2] beam git commit: [BEAM-547] Version should be accessed from pom
file
Repository: beam
Updated Branches:
refs/heads/master bb9ae7350 -> 7c7103608
[BEAM-547] Version should be accessed from pom file
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/b43eea47
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/b43eea47
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/b43eea47
Branch: refs/heads/master
Commit: b43eea47e3b1e842bc28543679500452ceda5a33
Parents: bb9ae73
Author: Sourabh Bajaj <so...@google.com>
Authored: Tue Mar 7 18:39:43 2017 -0800
Committer: Ahmet Altay <al...@google.com>
Committed: Wed Mar 15 10:22:41 2017 -0700
----------------------------------------------------------------------
sdks/python/apache_beam/__init__.py | 3 ++
.../runners/dataflow/internal/dependency.py | 2 +-
sdks/python/apache_beam/version.py | 25 ++++++---------
sdks/python/apache_beam/version_test.py | 32 ++++++++++++++++++++
sdks/python/setup.py | 2 +-
5 files changed, 46 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/beam/blob/b43eea47/sdks/python/apache_beam/__init__.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/__init__.py b/sdks/python/apache_beam/__init__.py
index 77c89ad..2001c80 100644
--- a/sdks/python/apache_beam/__init__.py
+++ b/sdks/python/apache_beam/__init__.py
@@ -77,6 +77,9 @@ import apache_beam.internal.pickler
from apache_beam import coders
from apache_beam import io
from apache_beam import typehints
+from apache_beam import version
from apache_beam.pipeline import Pipeline
from apache_beam.transforms import *
# pylint: enable=wrong-import-position
+
+__version__ = version.get_version()
http://git-wip-us.apache.org/repos/asf/beam/blob/b43eea47/sdks/python/apache_beam/runners/dataflow/internal/dependency.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/runners/dataflow/internal/dependency.py b/sdks/python/apache_beam/runners/dataflow/internal/dependency.py
index 902d738..4e49a4f 100644
--- a/sdks/python/apache_beam/runners/dataflow/internal/dependency.py
+++ b/sdks/python/apache_beam/runners/dataflow/internal/dependency.py
@@ -476,7 +476,7 @@ def get_sdk_name_and_version():
# TODO(ccy): Make this check cleaner.
container_version = get_required_container_version()
if container_version == BEAM_CONTAINER_VERSION:
- return ('Apache Beam SDK for Python', beam_version.__version__)
+ return ('Apache Beam SDK for Python', beam_version.get_version())
else:
return ('Google Cloud Dataflow SDK for Python', container_version)
http://git-wip-us.apache.org/repos/asf/beam/blob/b43eea47/sdks/python/apache_beam/version.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/version.py b/sdks/python/apache_beam/version.py
index e5d61a1..ef07dbf 100644
--- a/sdks/python/apache_beam/version.py
+++ b/sdks/python/apache_beam/version.py
@@ -21,14 +21,17 @@
import re
-__version__ = '0.7.0.dev'
+__version__ = None
-# The following utilities are legacy code from the Maven integration;
-# see BEAM-378 for further details.
+def get_version():
+ global __version__
+ if not __version__:
+ __version__ = get_version_from_pom()
+ return __version__
-# Reads the actual version from pom.xml file,
+# Read the version from pom.xml file
def get_version_from_pom():
with open('pom.xml', 'r') as f:
pom = f.read()
@@ -43,15 +46,5 @@ def get_version_from_pom():
return version
-# Synchronizes apache_beam.__version__ field for later usage
-def sync_version(version):
- init_path = 'apache_beam/__init__.py'
- regex = r'^__version__\s*=\s*".*"'
- with open(init_path, "r") as f:
- lines = f.readlines()
- with open(init_path, "w") as f:
- for line in lines:
- if re.search(regex, line):
- f.write(re.sub(regex, '__version__ = "%s"' % version, line))
- else:
- f.write(line)
+if __name__ == '__main__':
+ __version__ = get_version_from_pom()
http://git-wip-us.apache.org/repos/asf/beam/blob/b43eea47/sdks/python/apache_beam/version_test.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/version_test.py b/sdks/python/apache_beam/version_test.py
new file mode 100644
index 0000000..e3c431d
--- /dev/null
+++ b/sdks/python/apache_beam/version_test.py
@@ -0,0 +1,32 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+"""Unit tests for the version module."""
+
+import unittest
+from apache_beam import version as beam_version
+
+
+class Version(unittest.TestCase):
+
+ def test_version(self):
+ # Test that version is processed from the external file and cached.
+ self.assertIsNotNone(beam_version.get_version())
+ self.assertEqual(beam_version.get_version(), beam_version.__version__)
+
+
+if __name__ == '__main__':
+ unittest.main()
http://git-wip-us.apache.org/repos/asf/beam/blob/b43eea47/sdks/python/setup.py
----------------------------------------------------------------------
diff --git a/sdks/python/setup.py b/sdks/python/setup.py
index 3b44b82..3456e7d 100644
--- a/sdks/python/setup.py
+++ b/sdks/python/setup.py
@@ -30,7 +30,7 @@ from pkg_resources import get_distribution, DistributionNotFound
def get_version():
- global_names = {}
+ global_names = {'__name__': '__main__'}
exec(open(os.path.normpath('./apache_beam/version.py')).read(), global_names)
return global_names['__version__']
[2/2] beam git commit: This closes #2187
Posted by al...@apache.org.
This closes #2187
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/7c710360
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/7c710360
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/7c710360
Branch: refs/heads/master
Commit: 7c710360868d784c5b6bf99b8341748807b08101
Parents: bb9ae73 b43eea4
Author: Ahmet Altay <al...@google.com>
Authored: Wed Mar 15 10:22:46 2017 -0700
Committer: Ahmet Altay <al...@google.com>
Committed: Wed Mar 15 10:22:46 2017 -0700
----------------------------------------------------------------------
sdks/python/apache_beam/__init__.py | 3 ++
.../runners/dataflow/internal/dependency.py | 2 +-
sdks/python/apache_beam/version.py | 25 ++++++---------
sdks/python/apache_beam/version_test.py | 32 ++++++++++++++++++++
sdks/python/setup.py | 2 +-
5 files changed, 46 insertions(+), 18 deletions(-)
----------------------------------------------------------------------