summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2016-03-06 22:33:58 +0200
committerLars Wirzenius <liw@liw.fi>2016-03-06 22:33:58 +0200
commite0efc34fff3b4f06efc8afdf70a66771b272130c (patch)
tree2bbf0cf02e40782854925480dd51e1bf9f7abeb8
parentccd2b842db6cc3fbad04202f7af2bb3e1a46f0cd (diff)
downloadick-e0efc34fff3b4f06efc8afdf70a66771b272130c.tar.gz
Move tarball creation steps into a module
-rw-r--r--icklib/__init__.py1
-rw-r--r--icklib/project.py77
-rw-r--r--icklib/step_create_tarball.py92
-rw-r--r--without-tests1
4 files changed, 96 insertions, 75 deletions
diff --git a/icklib/__init__.py b/icklib/__init__.py
index 499106a..47567e0 100644
--- a/icklib/__init__.py
+++ b/icklib/__init__.py
@@ -24,6 +24,7 @@ from .run_state import RunState
from .pipeline import BuildPipeline
from .os_release import parse_os_release, OsRelease, NoOsReleaseInformation
from .step_build_info import CreateBuildInfo, FinishBuildInfo
+from .step_create_tarball import CreateCITarball, CreateReleaseTarballs
from .step_debian_info import CollectDebianInfoAboutTargets
from .step_find_current_commit import FindCurrentGitCommits
from .step_find_new_commit import (
diff --git a/icklib/project.py b/icklib/project.py
index 91c1263..dacd980 100644
--- a/icklib/project.py
+++ b/icklib/project.py
@@ -223,79 +223,6 @@ class Project(object):
remote_git_dir)
-class CreateCITarball(icklib.BuildStep):
-
- def build(self):
- if not self.run_state.build_using_debian_ci:
- return
-
- self.run_state.progress['step'] = 'Creating CI tarball'
- self.run_state.logger.important('Creating CI tarball')
- with self.run_state.logger:
- tarball_target = self.targets[0]
- remote_tmp = tarball_target.mkdtemp()
-
- remote_git_dir = tarball_target.sync_to_target(
- self.run_state.clones[0].dirname, remote_tmp, 'git')
- remote_artifacts_dir = tarball_target.sync_to_target(
- self.run_state.build_info.create_artifacts_directory(),
- remote_tmp, 'artifacts')
-
- cleanly_path = self.project.copy_cleanly_to_target(
- tarball_target, remote_tmp)
- self.project.run_cleanly(
- tarball_target, remote_git_dir, cleanly_path,
- ['--results', remote_artifacts_dir,
- '--ci',
- '--buildno', str(self.run_state.build_info.build_number),
- '--debian-release', tarball_target.debian_release,
- '--debian-codename', tarball_target.debian_codename,
- 'tarball'])
-
- tarball_target.sync_from_target(
- remote_artifacts_dir,
- self.run_state.build_info.create_artifacts_directory())
-
- tarball_target.remove_all([remote_tmp])
-
-
-class CreateReleaseTarballs(icklib.BuildStep):
-
- def build(self):
- target = self.targets[0]
- for tag in sorted(self.run_state.build_tags_using_debian_release):
- self.run_state.progress['step'] = (
- 'Create release tarball for {}'.format(tag))
- self.run_state.logger.important(
- 'Creating release tarball for tag {tag}',
- tag=tag)
- with self.run_state.logger:
- remote_tmp = target.mkdtemp()
- self.run_state.clones[0].checkout(tag)
- remote_git_dir = target.sync_to_target(
- self.run_state.clones[0].dirname, remote_tmp, 'git')
- remote_artifacts_dir = target.sync_to_target(
- self.run_state.build_info.create_artifacts_directory(),
- remote_tmp, 'artifacts')
-
- cleanly_path = self.project.copy_cleanly_to_target(
- target, remote_tmp)
- self.project.run_cleanly(
- target, remote_git_dir, cleanly_path,
- ['--results', remote_artifacts_dir,
- '--release',
- '--buildno', str(self.run_state.build_info.build_number),
- '--debian-release', target.debian_release,
- '--debian-codename', target.debian_codename,
- 'tarball'])
-
- target.sync_from_target(
- remote_artifacts_dir,
- self.run_state.build_info.create_artifacts_directory())
-
- target.remove_all([remote_tmp])
-
-
class CreateDebianSourcePackagesForCI(icklib.BuildStep):
def build(self):
@@ -803,7 +730,7 @@ def create_projects_from_ick(ick, wanted_names):
icklib.FindNewCommitToBuildForDebianCI,
icklib.CreateBuildInfo,
icklib.CollectDebianInfoAboutTargets,
- CreateCITarball,
+ icklib.CreateCITarball,
CreateDebianSourcePackagesForCI,
CreateCIDebianBinaryPackages,
FindDebianChangesFiles,
@@ -819,7 +746,7 @@ def create_projects_from_ick(ick, wanted_names):
icklib.FindTagsToBuildForDebianRelease,
icklib.CreateBuildInfo,
icklib.CollectDebianInfoAboutTargets,
- CreateReleaseTarballs,
+ icklib.CreateReleaseTarballs,
CreateDebianSourcePackagesForRelease,
CreateDebianBinaryPackagesForRelease,
FindDebianChangesFiles,
diff --git a/icklib/step_create_tarball.py b/icklib/step_create_tarball.py
new file mode 100644
index 0000000..f60ecb7
--- /dev/null
+++ b/icklib/step_create_tarball.py
@@ -0,0 +1,92 @@
+# Copyright 2016 Lars Wirzenius
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# =*= License: GPL-3+ =*=
+
+
+import icklib
+
+
+class CreateCITarball(icklib.BuildStep):
+
+ def build(self):
+ if not self.run_state.build_using_debian_ci:
+ return
+
+ self.run_state.progress['step'] = 'Creating CI tarball'
+ self.run_state.logger.important('Creating CI tarball')
+ with self.run_state.logger:
+ tarball_target = self.targets[0]
+ remote_tmp = tarball_target.mkdtemp()
+
+ remote_git_dir = tarball_target.sync_to_target(
+ self.run_state.clones[0].dirname, remote_tmp, 'git')
+ remote_artifacts_dir = tarball_target.sync_to_target(
+ self.run_state.build_info.create_artifacts_directory(),
+ remote_tmp, 'artifacts')
+
+ cleanly_path = self.project.copy_cleanly_to_target(
+ tarball_target, remote_tmp)
+ self.project.run_cleanly(
+ tarball_target, remote_git_dir, cleanly_path,
+ ['--results', remote_artifacts_dir,
+ '--ci',
+ '--buildno', str(self.run_state.build_info.build_number),
+ '--debian-release', tarball_target.debian_release,
+ '--debian-codename', tarball_target.debian_codename,
+ 'tarball'])
+
+ tarball_target.sync_from_target(
+ remote_artifacts_dir,
+ self.run_state.build_info.create_artifacts_directory())
+
+ tarball_target.remove_all([remote_tmp])
+
+
+class CreateReleaseTarballs(icklib.BuildStep):
+
+ def build(self):
+ target = self.targets[0]
+ for tag in sorted(self.run_state.build_tags_using_debian_release):
+ self.run_state.progress['step'] = (
+ 'Create release tarball for {}'.format(tag))
+ self.run_state.logger.important(
+ 'Creating release tarball for tag {tag}',
+ tag=tag)
+ with self.run_state.logger:
+ remote_tmp = target.mkdtemp()
+ self.run_state.clones[0].checkout(tag)
+ remote_git_dir = target.sync_to_target(
+ self.run_state.clones[0].dirname, remote_tmp, 'git')
+ remote_artifacts_dir = target.sync_to_target(
+ self.run_state.build_info.create_artifacts_directory(),
+ remote_tmp, 'artifacts')
+
+ cleanly_path = self.project.copy_cleanly_to_target(
+ target, remote_tmp)
+ self.project.run_cleanly(
+ target, remote_git_dir, cleanly_path,
+ ['--results', remote_artifacts_dir,
+ '--release',
+ '--buildno', str(self.run_state.build_info.build_number),
+ '--debian-release', target.debian_release,
+ '--debian-codename', target.debian_codename,
+ 'tarball'])
+
+ target.sync_from_target(
+ remote_artifacts_dir,
+ self.run_state.build_info.create_artifacts_directory())
+
+ target.remove_all([remote_tmp])
diff --git a/without-tests b/without-tests
index 3bb59b9..1297e8b 100644
--- a/without-tests
+++ b/without-tests
@@ -5,6 +5,7 @@ icklib/info.py
icklib/version.py
icklib/progress.py
icklib/step_build_info.py
+icklib/step_create_tarball.py
icklib/step_debian_info.py
icklib/step_find_current_commit.py
icklib/step_find_new_commit.py