From 225625bcf34c80b3c6b7c80ca8f1360451a417b9 Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Mon, 12 Nov 2012 12:54:26 +0000 Subject: Build activities with a custom script It should be faster and cleaner than the sugar-fructose hack. Eventually dn-build might replace jhbuild. We don't really need all that complexity. --- diff --git a/Makefile b/Makefile index 29643b5..85e32c9 100644 --- a/Makefile +++ b/Makefile @@ -40,10 +40,10 @@ install-jhbuild: submodules check-system build-glucose: install-jhbuild check-system $(TYPESCRIPT) "$(JHBUILD) build" $(LOGFILE) -build-fructose: - $(TYPESCRIPT) "$(JHBUILD) build -f sugar-fructose" $(LOGFILE) +build-activities: + $(TYPESCRIPT) "$(JHBUILD) run $(SCRIPTS)/dn-build" $(LOGFILE) -build: build-glucose build-fructose +build: build-glucose build-activities build-%: $(TYPESCRIPT) "$(JHBUILD) buildone -f $*" $(LOGFILE) diff --git a/scripts/dn-build b/scripts/dn-build new file mode 100755 index 0000000..abee345 --- /dev/null +++ b/scripts/dn-build @@ -0,0 +1,51 @@ +#!/usr/bin/python + +import json +import os +import sys +import subprocess + +scripts_dir = os.path.abspath(os.path.dirname(__file__)) +base_dir = os.path.dirname(scripts_dir) +install_dir = os.path.join(base_dir, "install") +source_dir = os.path.join(base_dir, "source") +activities_dir = os.path.join(source_dir, "activities") +modules_dir = os.path.join(scripts_dir, "modules") + +def get_module_dir(module): + return os.path.join(activities_dir, module["name"]) + +def pull_source(module): + if not os.path.exists(activities_dir): + os.mkdir(activities_dir) + + module_dir = get_module_dir(module) + + if os.path.exists(module_dir): + os.chdir(module_dir) + subprocess.check_call(["git", "pull"]) + else: + os.chdir(activities_dir) + subprocess.check_call(["git", "clone", module["repo"], module["name"]]) + os.chdir(module_dir) + + branch = module.get("branch", "master") + subprocess.check_call(["git", "checkout", branch]) + +def build(module): + os.chdir(get_module_dir(module)) + subprocess.check_call(["./setup.py", "install", "--prefix", install_dir]) + +def main(): + modules = json.load(open(os.path.join(modules_dir, "activities.json"))) + + for module in modules: + print "\n=== Building %s ===\n" % module["name"] + + try: + pull_source(module) + build(module) + except subprocess.CalledProcessError: + sys.exit(1) + +main() diff --git a/scripts/modules/activities.json b/scripts/modules/activities.json new file mode 100644 index 0000000..1abf756 --- /dev/null +++ b/scripts/modules/activities.json @@ -0,0 +1,6 @@ +[{ "name": "browse", + "repo": "git://git.sugarlabs.org/browse/mainline.git" }, + { "name": "chat", + "repo": "git://git.sugarlabs.org/chat/mainline.git", + "branch": "gtk3" } +] diff --git a/scripts/modules/sugar.modules b/scripts/modules/sugar.modules index b9c4ac8..1c506eb 100644 --- a/scripts/modules/sugar.modules +++ b/scripts/modules/sugar.modules @@ -39,11 +39,4 @@ - - - - diff --git a/tests/shell.py b/tests/shell.py index 74303a2..8beef1c 100644 --- a/tests/shell.py +++ b/tests/shell.py @@ -3,8 +3,7 @@ import time import tree -ACTIVITIES_WITH_OBJECT_CHOOSER = ["Read", "Jukebox"] -ACTIVITIES_TO_IGNORE = ["Pippy"] +ACTIVITIES_WITH_OBJECT_CHOOSER = [] def build_activities_list(): root = tree.get_root() @@ -17,8 +16,7 @@ def build_activities_list(): for row in [cells[i:i+5] for i in range(0, len(cells), 5)]: activity_name = row[2].text - if activity_name not in ACTIVITIES_TO_IGNORE: - activities.append(activity_name) + activities.append(activity_name) activities.sort() -- cgit v0.9.1