build-tool 0.1.4 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. data.tar.gz.sig +2 -3
  2. data/History.txt +29 -0
  3. data/Manifest.txt +39 -10
  4. data/README.txt +5 -8
  5. data/Rakefile +14 -6
  6. data/bin/build-tool +3 -35
  7. data/db/migrations/001_command_histories.rb +20 -0
  8. data/db/migrations/002_module_events.rb +24 -0
  9. data/db/migrations/003_command_histories_add_logfile.rb +19 -0
  10. data/lib/build-tool.rb +1 -1
  11. data/lib/build-tool/application.rb +103 -30
  12. data/lib/build-tool/build-system/autoconf.rb +69 -6
  13. data/lib/build-tool/build-system/base.rb +2 -25
  14. data/lib/build-tool/build-system/custom.rb +6 -19
  15. data/lib/build-tool/build-system/kdel10n.rb +39 -0
  16. data/lib/build-tool/build-system/none.rb +82 -0
  17. data/lib/build-tool/cfg/lexer.rb +133 -7
  18. data/lib/build-tool/cfg/lexer.rex +58 -6
  19. data/lib/build-tool/cfg/node.rb +13 -1
  20. data/lib/build-tool/cfg/parser.rb +519 -333
  21. data/lib/build-tool/cfg/parser.y +74 -11
  22. data/lib/build-tool/cfg/visitor.rb +182 -20
  23. data/lib/build-tool/command_actions.rb +202 -0
  24. data/lib/build-tool/commands.rb +193 -49
  25. data/lib/build-tool/commands/build.rb +13 -8
  26. data/lib/build-tool/commands/configure.rb +8 -3
  27. data/lib/build-tool/commands/environments.rb +4 -8
  28. data/lib/build-tool/commands/environments/list.rb +8 -0
  29. data/lib/build-tool/commands/fetch.rb +7 -2
  30. data/lib/build-tool/commands/gc.rb +53 -0
  31. data/lib/build-tool/commands/history.rb +111 -0
  32. data/lib/build-tool/commands/install.rb +6 -1
  33. data/lib/build-tool/commands/lsfeatures.rb +73 -0
  34. data/lib/build-tool/commands/modules.rb +3 -7
  35. data/lib/build-tool/commands/modules/info.rb +15 -6
  36. data/lib/build-tool/commands/modules/list.rb +10 -5
  37. data/lib/build-tool/commands/rebase.rb +6 -1
  38. data/lib/build-tool/commands/recipes.rb +3 -7
  39. data/lib/build-tool/configuration.rb +24 -1
  40. data/lib/build-tool/environment.rb +17 -3
  41. data/lib/build-tool/feature.rb +47 -0
  42. data/lib/build-tool/history.rb +173 -0
  43. data/lib/build-tool/module.rb +49 -90
  44. data/lib/build-tool/recipe.rb +5 -0
  45. data/lib/build-tool/vcs/archive.rb +140 -0
  46. data/lib/build-tool/vcs/base.rb +5 -5
  47. data/lib/build-tool/vcs/git-svn.rb +4 -0
  48. data/lib/build-tool/vcs/git.rb +4 -0
  49. data/lib/mj/logging.rb +11 -0
  50. data/recipes/{kdeqt4.6 → kde}/custom/qt/qtscriptgenerator/compile.sh +0 -0
  51. data/recipes/{kdeqt4.6 → kde}/custom/qt/qtscriptgenerator/configure.sh +0 -0
  52. data/recipes/{kdeqt4.6 → kde}/custom/qt/qtscriptgenerator/install.sh +0 -0
  53. data/recipes/kde/custom/scripting/pyqt4/compile.sh +10 -0
  54. data/recipes/kde/custom/scripting/pyqt4/configure.sh +14 -0
  55. data/recipes/kde/custom/scripting/pyqt4/install.sh +10 -0
  56. data/recipes/kde/custom/scripting/sip/compile.sh +10 -0
  57. data/recipes/kde/custom/scripting/sip/configure.sh +13 -0
  58. data/recipes/kde/custom/scripting/sip/install.sh +10 -0
  59. data/recipes/kde/files/xsession +8 -4
  60. data/recipes/kde/kde-bindings.recipe +22 -0
  61. data/recipes/kde/kde-core.recipe +104 -0
  62. data/recipes/kde/kde-devel.recipe +38 -0
  63. data/recipes/kde/kde-finance.recipe +17 -0
  64. data/recipes/kde/kde-graphics.recipe +27 -0
  65. data/recipes/kde/kde-kdevelop.recipe +116 -0
  66. data/recipes/kde/kde-l10n.recipe +14 -0
  67. data/recipes/kde/kde-multimedia.recipe +31 -0
  68. data/recipes/kde/kde-network.recipe +55 -0
  69. data/recipes/kde/kde-office.recipe +28 -0
  70. data/recipes/kde/kde-plasma.recipe +117 -0
  71. data/recipes/{kdeqt4.6/recipe → kde/kde-qt.recipe} +25 -57
  72. data/recipes/kde/kde-scripting.recipe +63 -0
  73. data/recipes/kde/kde-support.recipe +73 -0
  74. data/recipes/kde/kde-utils.recipe +22 -0
  75. data/recipes/kde/kde-webdev.recipe +41 -0
  76. data/recipes/kde/recipe +92 -532
  77. data/recipes/kde/recipe-local +58 -2
  78. data/recipes/kde/settings.yaml +17 -0
  79. data/recipes/kde43/recipe-local +58 -2
  80. data/test/test_configuration_parser.rb +76 -21
  81. data/test/test_feature.rb +34 -0
  82. data/test/test_history.rb +149 -0
  83. metadata +185 -30
  84. metadata.gz.sig +0 -0
  85. data/lib/build-tool/pluginbase.rb +0 -43
  86. data/recipes/kdeqt4.6/info.yaml +0 -7
  87. data/recipes/kdeqt4.6/recipe-local +0 -30
  88. data/recipes/kdeqt4.6/settings.yaml +0 -27
  89. data/tasks/rdoc.rake +0 -34
  90. data/test.rb +0 -28
@@ -0,0 +1,38 @@
1
+ #############################################################################
2
+ # KDE DEVELOPMENT (SDK)
3
+ #############################################################################
4
+
5
+ module "devel/kdesdk" < kde
6
+ remote-path "kdesdk"
7
+ end
8
+
9
+ module "devel/kde-common" < kde
10
+ # We use the default environment here to make sure kdelibs is able to
11
+ # bootstrap
12
+ use repository kde
13
+ remote-path "kde-common"
14
+ use build-system none
15
+ end
16
+
17
+ module "devel/binspekt" < kde
18
+ use repository kde
19
+ remote-path "playground/devtools/binspekt"
20
+ end
21
+
22
+ feature "icecream"
23
+
24
+ short description "Icecream"
25
+
26
+ module "devel/icecream" < kde
27
+ use repository kde
28
+ remote-path "icecream"
29
+ use build-system autoconf
30
+ end
31
+
32
+ module "devel/icemon" < kde
33
+ use repository kde
34
+ remote-path "playground/devtools/icemon"
35
+ end
36
+
37
+ end # feature "icecream"
38
+
@@ -0,0 +1,17 @@
1
+ #############################################################################
2
+ # FINANCE STUFF
3
+ #############################################################################
4
+ module "finance" < office TEMPLATE
5
+ end
6
+
7
+ module "finance/kmymoney" < finance
8
+ remote-path "playground/office/kmymoney"
9
+ end
10
+
11
+ module "finance/skrooge" < finance
12
+ remote-path "extragear/office/skrooge"
13
+ end
14
+
15
+ module "finance/kraft" < finance
16
+ remote-path "playground/office/kraft"
17
+ end
@@ -0,0 +1,27 @@
1
+ #############################################################################
2
+ # GRAPHICS TOOLS
3
+ #############################################################################
4
+ module "graphics/kdegraphics" < kde
5
+ remote-path "kdegraphics"
6
+ end
7
+
8
+ module "graphics/digikam" < "graphics/kdegraphics"
9
+ use repository kde
10
+ remote-path "extragear/graphics/digikam"
11
+ end
12
+
13
+ module "graphics/kipi-plugins" < "graphics/kdegraphics"
14
+ use repository kde
15
+ remote-path "extragear/graphics/kipi-plugins"
16
+ end
17
+
18
+ module "graphics/kphotoalbum" < "graphics/kdegraphics"
19
+ use repository kde
20
+ remote-path "extragear/graphics/kphotoalbum"
21
+ end
22
+
23
+ module "graphics/skanlite" < "graphics/kdegraphics"
24
+ use repository kde
25
+ remote-path "extragear/graphics/skanlite"
26
+ end
27
+
@@ -0,0 +1,116 @@
1
+ #############################################################################
2
+ # KDEVELOP IDE
3
+ #############################################################################
4
+ environment kdevelop < kde
5
+ var CMAKE_PREFIX_PATH prepend "<%= settings['KDEDEVEL_PREFIX'] %>"
6
+ var KDEDIRS prepend "<%= settings['KDEDEVEL_PREFIX'] %>"
7
+ var LD_LIBRARY_PATH prepend "<%= settings['KDEDEVEL_PREFIX'] %>/lib<%= settings['LIB_SUFFIX'] %>"
8
+ var PATH prepend "<%= settings['KDEDEVEL_PREFIX'] %>/bin"
9
+ var PKG_CONFIG_PATH prepend "<%= settings['KDEDEVEL_PREFIX'] %>/lib<%= settings['LIB_SUFFIX'] %>/pkgconfig"
10
+ var XDG_DATA_DIRS prepend "<%= settings['KDEDEVEL_PREFIX'] %>"
11
+ end
12
+
13
+ module kdevelop < kde TEMPLATE
14
+ use environment kdevelop
15
+ use repository kde
16
+ install-prefix "<%= settings['KDEDEVEL_PREFIX'] %>"
17
+ end
18
+
19
+ module "kdevelop/kdevplatform" < kdevelop
20
+ use vcs git
21
+ repository kdevplatform
22
+ use server "kdedevelopers.gitorious.org"
23
+ path "kdevelop/kdevplatform.git"
24
+ end
25
+ remote-path "master"
26
+ end
27
+
28
+ module "kdevelop/kdevelop" < kdevelop
29
+ use vcs git
30
+ repository kdevelop
31
+ use server "kdedevelopers.gitorious.org"
32
+ path "kdevelop/kdevelop.git"
33
+ end
34
+ remote-path "master"
35
+ end
36
+
37
+ feature "plugins"
38
+
39
+ short description "KDevelop plugins"
40
+
41
+ # see http://websvn.kde.org/trunk/playground/devtools/kdevelop4-extra-plugins
42
+ #
43
+ # The list changes pretty fast. Have a look and add whatever you would like to try yourself.
44
+ module "kdevelop/plugins/kdevelop-pg-qt" < kdevelop
45
+ use vcs git
46
+ repository kdevelop-pg-qt
47
+ use server "kdedevelopers.gitorious.org"
48
+ path "kdevelop/kdevelop-pg-qt.git"
49
+ end
50
+ remote-path "master"
51
+ end
52
+
53
+ module "kdevelop/plugins/duchainviewer" < kdevelop
54
+ remote-path "playground/devtools/kdevelop4-extra-plugins/duchainviewer"
55
+ end
56
+
57
+ module "kdevelop/plugins/qtdesigner" < kdevelop
58
+ remote-path "playground/devtools/kdevelop4-extra-plugins/qtdesigner"
59
+ end
60
+
61
+ # Requires kdevelop-pg-qt QUIET. No idea why. Make sure it's after kdevelop-pg-qt therefore.
62
+ module "kdevelop/plugins/qmake" < kdevelop
63
+ remote-path "playground/devtools/kdevelop4-extra-plugins/qmake"
64
+ end
65
+
66
+ module "kdevelop/plugins/git" < kdevelop
67
+ remote-path "playground/devtools/kdevelop4-extra-plugins/git"
68
+ end
69
+
70
+ module "kdevelop/plugins/okteta" < kdevelop
71
+ remote-path "playground/devtools/kdevelop4-extra-plugins/okteta"
72
+ end
73
+
74
+ module "kdevelop/plugins/includemanager" < kdevelop
75
+ remote-path "playground/devtools/kdevelop4-extra-plugins/includemanager"
76
+ end
77
+
78
+ module "kdevelop/plugins/metrics" < kdevelop
79
+ remote-path "playground/devtools/kdevelop4-extra-plugins/metrics"
80
+ end
81
+
82
+ module "kdevelop/plugins/preprocessor" < kdevelop
83
+ remote-path "playground/devtools/kdevelop4-extra-plugins/preprocessor"
84
+ end
85
+
86
+ module "kdevelop/plugins/ruby" < kdevelop
87
+ remote-path "playground/devtools/kdevelop4-extra-plugins/ruby"
88
+ end
89
+
90
+ module "kdevelop/plugins/valgrind" < kdevelop
91
+ remote-path "playground/devtools/kdevelop4-extra-plugins/valgrind"
92
+ end
93
+
94
+ module "kdevelop/plugins/python" < kdevelop
95
+ remote-path "playground/devtools/kdevelop4-extra-plugins/python"
96
+ end
97
+
98
+ module "kdevelop/plugins/sloc" < kdevelop
99
+ remote-path "playground/devtools/kdevelop4-extra-plugins/sloc"
100
+ end
101
+
102
+ module "kdevelop/plugins/executebrowser" < kdevelop
103
+ remote-path "playground/devtools/kdevelop4-extra-plugins/executebrowser"
104
+ end
105
+
106
+ module "kdevelop/plugins/executescript" < kdevelop
107
+ remote-path "playground/devtools/kdevelop4-extra-plugins/executescript"
108
+ end
109
+
110
+ module "kdevelop/plugins/gettersetter" < kdevelop
111
+ remote-path "playground/devtools/kdevelop4-extra-plugins/gettersetter"
112
+ end
113
+
114
+ end # feature "kdevelop-plugins"
115
+
116
+
@@ -0,0 +1,14 @@
1
+ #############################################################################
2
+ # L10N RECIPE
3
+ #############################################################################
4
+
5
+ module "l10n" < kde TEMPLATE
6
+ use repository kde
7
+ use build-system kdel10n
8
+ end
9
+
10
+ module "l10n/scripts" < "l10n"
11
+ remote-path "l10n-kde4/scripts"
12
+ use build-system none
13
+ end
14
+
@@ -0,0 +1,31 @@
1
+ #############################################################################
2
+ # MULTIMEDIA TOOLS
3
+ #############################################################################
4
+ module "multimedia/kdemultimedia" < kde
5
+ remote-path "kdemultimedia"
6
+ end
7
+
8
+ module "multimedia/k3b" < kde
9
+ use repository kde
10
+ remote-path "extragear/multimedia/k3b"
11
+ end
12
+
13
+ module "multimedia/kaffeine" < kde
14
+ use repository kde
15
+ remote-path "extragear/multimedia/kaffeine"
16
+ end
17
+
18
+ module "multimedia/kmplayer" < kde
19
+ use repository kde
20
+ remote-path "extragear/multimedia/kmplayer"
21
+ end
22
+
23
+ module "multimedia/amarok" < kde
24
+ repository amarok
25
+ use server "kdedevelopers.gitorious.org"
26
+ path "amarok/amarok.git"
27
+ end
28
+ use vcs git
29
+ remote-path "master"
30
+ end
31
+
@@ -0,0 +1,55 @@
1
+ #############################################################################
2
+ # NETWORK STUFF
3
+ #############################################################################
4
+ module "network/kdenetwork" < kde
5
+ remote-path "kdenetwork"
6
+ end
7
+
8
+ module "network/konversation" < kde
9
+ repository konversation
10
+ use server "kdedevelopers.gitorious.org"
11
+ path "konversation/konversation.git"
12
+ end
13
+ use vcs git
14
+ remote-path "master"
15
+ end
16
+
17
+ module "network/knemo" < kde
18
+ use repository kde
19
+ remote-path "extragear/network/knemo"
20
+ end
21
+
22
+ module "network/choqok" < kde
23
+ use repository kde
24
+ remote-path "extragear/network/choqok"
25
+ end
26
+
27
+ module "network/libktorrent" < kde
28
+ use repository kde
29
+ remote-path "extragear/network/libktorrent"
30
+ end
31
+
32
+ module "network/ktorrent" < kde
33
+ use repository kde
34
+ remote-path "extragear/network/ktorrent"
35
+ end
36
+
37
+ module "network/kbluetooth" < kde
38
+ use repository kde
39
+ remote-path "playground/network/kbluetooth"
40
+ end
41
+
42
+ module "network/kepas" < kde
43
+ use repository kde
44
+ remote-path "playground/network/kepas"
45
+ end
46
+
47
+ module "network/rekonq" < kde
48
+ repository rekonq
49
+ use server "kdedevelopers.gitorious.org"
50
+ path "rekonq/mainline.git"
51
+ end
52
+ use vcs git
53
+ remote-path "master"
54
+ end
55
+
@@ -0,0 +1,28 @@
1
+ #############################################################################
2
+ # OFFICE STUFF
3
+ #############################################################################
4
+ environment kdeoffice < kde
5
+ var CMAKE_PREFIX_PATH prepend "<%= settings['KOFFICE_PREFIX'] %>"
6
+ var KDEDIRS prepend "<%= settings['KOFFICE_PREFIX'] %>"
7
+ var LD_LIBRARY_PATH prepend "<%= settings['KOFFICE_PREFIX'] %>/lib<%= settings['LIB_SUFFIX'] %>"
8
+ var PATH prepend "<%= settings['KOFFICE_PREFIX'] %>/bin"
9
+ var PKG_CONFIG_PATH prepend "<%= settings['KOFFICE_PREFIX'] %>/lib<%= settings['LIB_SUFFIX'] %>/pkgconfig"
10
+ var XDG_DATA_DIRS prepend "<%= settings['KOFFICE_PREFIX'] %>"
11
+ end
12
+
13
+ module "office" < kde TEMPLATE
14
+ use repository kde
15
+ install-prefix "<%= settings['KOFFICE_PREFIX'] %>"
16
+ end
17
+
18
+ module "office/koffice" < office
19
+ remote-path "koffice"
20
+ end
21
+
22
+ module "office/kile" < office
23
+ remote-path "extragear/office/kile"
24
+ end
25
+
26
+ module "office/tellico" < office
27
+ remote-path "extragear/office/tellico"
28
+ end
@@ -0,0 +1,117 @@
1
+ #############################################################################
2
+ # PLASMA EXTRAS
3
+ #############################################################################
4
+ module "plasma/kdeplasma-addons" < kde
5
+ remote-path "kdeplasma-addons"
6
+ end
7
+
8
+ module "plasma/nepomuk-kde" < kde
9
+ use repository kde
10
+ remote-path "playground/base/nepomuk-kde"
11
+ end
12
+
13
+ <% for mod in [
14
+ 'clipboard',
15
+ 'contacts',
16
+ 'geolocation-wifi',
17
+ 'hellanzb',
18
+ 'kiobrowser',
19
+ 'lancelot',
20
+ 'mythtv',
21
+ 'nepomuktags',
22
+ 'presence',
23
+ 'publictransport',
24
+ 'sensors',
25
+ 'stocksengine',
26
+ 'timetracker',
27
+ 'translator'
28
+ ] %>
29
+ module "plasma/dataengines/<%= mod %>"
30
+ use build-system cmake
31
+ use environment kde
32
+ use repository kde
33
+ use vcs git-svn
34
+ build-prefix "<%= settings['BUILD_DIR'] %>"
35
+ install-prefix "<%= settings['KDE_PREFIX'] %>"
36
+ remote-path "playground/base/plasma/dataengines/<%= mod %>"
37
+ end
38
+ <% end %>
39
+
40
+ <% for mod in [
41
+ 'activewindowcontrol',
42
+ 'adjustableclock',
43
+ 'blackboard',
44
+ 'cia.vc',
45
+ 'cmake',
46
+ 'commandwatch',
47
+ 'contacts',
48
+ 'cpufrequency-selector',
49
+ 'crystal',
50
+ 'darkstat',
51
+ 'debugapplet',
52
+ 'desktop',
53
+ 'embed-win',
54
+ 'embedded-ivan',
55
+ 'fancytasks',
56
+ 'flippoid',
57
+ 'fortunoid',
58
+ 'grid',
59
+ 'groupphoto',
60
+ 'java',
61
+ 'kbstateapplet',
62
+ 'kconfigmenu',
63
+ 'keren',
64
+ 'keyboardLeds',
65
+ 'keystatejs',
66
+ 'killswitch',
67
+ 'knowledgebase',
68
+ 'konsolator',
69
+ 'kuickquiz',
70
+ 'lionmail',
71
+ 'meltdown',
72
+ 'menubar',
73
+ 'mid_control',
74
+ 'miniplayer',
75
+ 'moodbar',
76
+ 'nepomuktags',
77
+ 'network',
78
+ 'openbrain',
79
+ 'panelspacer',
80
+ 'peachydock',
81
+ 'plasmaboard',
82
+ 'plasmobiff',
83
+ 'presence',
84
+ 'rotator',
85
+ 'runcommand',
86
+ 'script',
87
+ 'serverhotlink',
88
+ 'slideInSlideOut',
89
+ 'spellcheck',
90
+ 'stockwidget',
91
+ 'suspend-applet',
92
+ 'svgpaneltest',
93
+ 'systemcommand',
94
+ 'test',
95
+ 'timeline',
96
+ 'timetracker',
97
+ 'toggle-compositing',
98
+ 'togglepanel',
99
+ 'train-clock',
100
+ 'translatoid',
101
+ 'victorycalendar',
102
+ 'webapp',
103
+ 'welcome',
104
+ 'wifi-signal-strength',
105
+ 'windowlist',
106
+ 'windows-startmenu' ] %>
107
+ module "plasma/applets/<%= mod %>"
108
+ use build-system cmake
109
+ use environment kde
110
+ use repository kde
111
+ use vcs git-svn
112
+ build-prefix "<%= settings['BUILD_DIR'] %>"
113
+ install-prefix "<%= settings['KDE_PREFIX'] %>"
114
+ remote-path "playground/base/plasma/applets/<%= mod %>"
115
+ end
116
+ <% end %>
117
+