build-tool 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +6 -1
- data/Rakefile +5 -3
- data/lib/kde-build.rb +1 -1
- data/lib/kde-build/application.rb +12 -0
- data/lib/kde-build/build_system/autoconf.rb +1 -1
- data/lib/kde-build/build_system/cmake.rb +1 -1
- data/lib/kde-build/build_system/qtcopy.rb +1 -1
- data/lib/kde-build/command.rb +5 -3
- data/lib/kde-build/command/build.rb +37 -57
- data/lib/kde-build/command/compile.rb +39 -0
- data/lib/kde-build/command/configure.rb +48 -0
- data/lib/kde-build/command/ctags.rb +41 -0
- data/lib/kde-build/command/fetch.rb +18 -13
- data/lib/kde-build/command/install.rb +39 -0
- data/lib/kde-build/command/module_based.rb +44 -0
- data/lib/kde-build/command/rebase.rb +50 -0
- data/lib/kde-build/tools/ctags.rb +25 -0
- data/lib/kde-build/vcs/svn.rb +5 -5
- data/test.yaml.tmpl +40 -17
- metadata +23 -30
- data.tar.gz.sig +0 -0
- data/README.rdoc +0 -55
- metadata.gz.sig +0 -1
data/Manifest.txt
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
History.txt
|
2
2
|
Manifest.txt
|
3
3
|
PostInstall.txt
|
4
|
-
README.rdoc
|
5
4
|
Rakefile
|
6
5
|
TODO
|
7
6
|
bin/kde-build.rb
|
@@ -16,9 +15,15 @@ lib/kde-build/build_system/cmake.rb
|
|
16
15
|
lib/kde-build/build_system/qtcopy.rb
|
17
16
|
lib/kde-build/command.rb
|
18
17
|
lib/kde-build/command/build.rb
|
18
|
+
lib/kde-build/command/compile.rb
|
19
|
+
lib/kde-build/command/configure.rb
|
20
|
+
lib/kde-build/command/ctags.rb
|
19
21
|
lib/kde-build/command/fetch.rb
|
20
22
|
lib/kde-build/command/help.rb
|
21
23
|
lib/kde-build/command/info.rb
|
24
|
+
lib/kde-build/command/install.rb
|
25
|
+
lib/kde-build/command/module_based.rb
|
26
|
+
lib/kde-build/command/rebase.rb
|
22
27
|
lib/kde-build/command/version.rb
|
23
28
|
lib/kde-build/configuration.rb
|
24
29
|
lib/kde-build/exception.rb
|
data/Rakefile
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
require 'rubygems' unless ENV['NO_RUBYGEMS']
|
2
|
-
%w[rake rake/clean fileutils newgem rubigen].each { |f| require f }
|
2
|
+
%w[rake rake/clean fileutils newgem rubigen hoe].each { |f| require f }
|
3
3
|
require File.dirname(__FILE__) + '/lib/kde-build'
|
4
4
|
|
5
5
|
# Generate all the Rake tasks
|
6
6
|
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
7
|
-
|
7
|
+
Hoe.spec 'build-tool' do |p|
|
8
8
|
p.developer( 'Michael Jansen', 'kde@michael-jansen.biz' )
|
9
|
+
p.name = "build-tool"
|
9
10
|
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
10
11
|
p.post_install_message = 'PostInstall.txt'
|
11
12
|
p.rubyforge_name = p.name
|
@@ -14,7 +15,8 @@ $hoe = Hoe.new('build-tool', KdeBuild::VERSION) do |p|
|
|
14
15
|
['log4r','>= 1.0.5'],
|
15
16
|
]
|
16
17
|
p.extra_dev_deps = [
|
17
|
-
['newgem', ">= #{::Newgem::VERSION}"]
|
18
|
+
['newgem', ">= #{::Newgem::VERSION}"],
|
19
|
+
['hoe', ">= 2.3.0"]
|
18
20
|
]
|
19
21
|
|
20
22
|
p.clean_globs |= %w[**/.DS_Store tmp *.log]
|
data/lib/kde-build.rb
CHANGED
@@ -2,8 +2,14 @@
|
|
2
2
|
#
|
3
3
|
require 'kde-build/vcs/git-svn'
|
4
4
|
require 'kde-build/command/build'
|
5
|
+
require 'kde-build/command/compile'
|
6
|
+
require 'kde-build/command/configure'
|
7
|
+
require 'kde-build/command/ctags'
|
8
|
+
require 'kde-build/command/fetch'
|
5
9
|
require 'kde-build/command/help'
|
10
|
+
require 'kde-build/command/install'
|
6
11
|
require 'kde-build/command/info'
|
12
|
+
require 'kde-build/command/rebase'
|
7
13
|
require 'kde-build/command/version'
|
8
14
|
|
9
15
|
require 'kde-build/configuration'
|
@@ -89,7 +95,13 @@ module BuildTool
|
|
89
95
|
}
|
90
96
|
|
91
97
|
@command.add_command( BuildCommand.new )
|
98
|
+
@command.add_command( CompileCommand.new )
|
99
|
+
@command.add_command( ConfigureCommand.new )
|
100
|
+
@command.add_command( CTagsCommand.new )
|
101
|
+
@command.add_command( FetchCommand.new )
|
92
102
|
@command.add_command( InfoCommand.new )
|
103
|
+
@command.add_command( InstallCommand.new )
|
104
|
+
@command.add_command( RebaseCommand.new )
|
93
105
|
|
94
106
|
@command.add_command( HelpCommand.new )
|
95
107
|
@command.add_command( VersionCommand.new )
|
data/lib/kde-build/command.rb
CHANGED
@@ -13,16 +13,18 @@ module BuildTool
|
|
13
13
|
puts
|
14
14
|
if description
|
15
15
|
puts description
|
16
|
+
puts
|
16
17
|
else
|
17
18
|
puts short_desc
|
19
|
+
puts
|
18
20
|
end
|
19
21
|
if has_commands?
|
20
|
-
puts
|
21
22
|
list_commands
|
23
|
+
puts
|
22
24
|
end
|
23
|
-
|
25
|
+
unless (summary = options.summarize).empty?
|
26
|
+
puts summary
|
24
27
|
puts
|
25
|
-
puts options.summarize
|
26
28
|
end
|
27
29
|
end
|
28
30
|
|
@@ -1,18 +1,23 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
#
|
3
3
|
|
4
|
-
require 'kde-build/command'
|
5
|
-
require 'kde-build/command/help'
|
4
|
+
require 'kde-build/command/module_based'
|
6
5
|
|
7
6
|
module BuildTool
|
8
7
|
|
9
8
|
|
10
|
-
class BuildCommand <
|
9
|
+
class BuildCommand < ModuleBasedCommand
|
11
10
|
|
12
11
|
def initialize
|
13
12
|
super( 'build', false )
|
14
|
-
self.short_desc = "
|
15
|
-
self.description = "
|
13
|
+
self.short_desc = "Do a complete build (fetch, rebase, compile, install)."
|
14
|
+
self.description = <<-"EOS"
|
15
|
+
Do a complete build.
|
16
|
+
* Fetch changes from the remote repository,
|
17
|
+
* Rebase the local repository,
|
18
|
+
* Compile,
|
19
|
+
* Install
|
20
|
+
EOS
|
16
21
|
@update = true
|
17
22
|
@configure = false
|
18
23
|
@clean = false
|
@@ -44,7 +49,7 @@ module BuildTool
|
|
44
49
|
end
|
45
50
|
end
|
46
51
|
|
47
|
-
def
|
52
|
+
def is_module_ready( mod )
|
48
53
|
skip = false
|
49
54
|
if @update
|
50
55
|
mod.activate_ssh_key
|
@@ -57,68 +62,43 @@ module BuildTool
|
|
57
62
|
!skip
|
58
63
|
end
|
59
64
|
|
60
|
-
def
|
61
|
-
if args.length == 0
|
62
|
-
show_help
|
63
|
-
return
|
64
|
-
end
|
65
|
+
def execute_for_module( mod )
|
65
66
|
|
66
|
-
|
67
|
+
$log.info( "###############################################################" )
|
68
|
+
$log.info( "### Building module #{mod.name}" )
|
69
|
+
$log.info( "###############################################################" )
|
67
70
|
|
68
|
-
|
69
|
-
|
70
|
-
real_modules.push( mod )
|
71
|
-
end
|
71
|
+
if @from_scratch
|
72
|
+
mod.remove_build_directory
|
72
73
|
end
|
73
74
|
|
74
|
-
|
75
|
-
begin
|
76
|
-
$log.info( "###############################################################" )
|
77
|
-
$log.info( "### Building module #{mod.name}" )
|
78
|
-
$log.info( "###############################################################" )
|
79
|
-
|
80
|
-
if @from_scratch
|
81
|
-
mod.remove_build_directory
|
82
|
-
end
|
83
|
-
|
84
|
-
if @update
|
85
|
-
|
86
|
-
if mod.checkedout?
|
87
|
-
mod.fetch
|
88
|
-
mod.rebase
|
89
|
-
else
|
90
|
-
mod.init
|
91
|
-
end
|
92
|
-
|
93
|
-
end
|
94
|
-
|
95
|
-
if @reconfigure
|
96
|
-
mod.reconfigure( @clean.nil? ? true : @clean )
|
97
|
-
|
98
|
-
elsif @configure
|
99
|
-
if mod.configured?
|
100
|
-
mod.reconfigure
|
101
|
-
else
|
102
|
-
mod.configure
|
103
|
-
end
|
75
|
+
if @update
|
104
76
|
|
105
|
-
|
106
|
-
|
107
|
-
|
77
|
+
if mod.checkedout?
|
78
|
+
mod.fetch
|
79
|
+
mod.rebase
|
80
|
+
else
|
81
|
+
mod.init
|
82
|
+
end
|
108
83
|
|
109
|
-
|
84
|
+
end
|
110
85
|
|
111
|
-
|
112
|
-
|
113
|
-
return
|
86
|
+
if @reconfigure
|
87
|
+
mod.reconfigure( @clean.nil? ? true : @clean )
|
114
88
|
|
115
|
-
|
116
|
-
|
117
|
-
|
89
|
+
elsif @configure
|
90
|
+
if mod.configured?
|
91
|
+
mod.reconfigure
|
92
|
+
else
|
93
|
+
mod.configure
|
118
94
|
end
|
119
|
-
$log.info("")
|
120
95
|
|
96
|
+
elsif !mod.configured?
|
97
|
+
mod.configure
|
121
98
|
end
|
99
|
+
|
100
|
+
mod.build( @install, @clean )
|
101
|
+
|
122
102
|
end
|
123
103
|
|
124
104
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'kde-build/command/module_based'
|
2
|
+
|
3
|
+
module BuildTool
|
4
|
+
|
5
|
+
class CompileCommand < ModuleBasedCommand
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
super( 'compile', false )
|
9
|
+
self.short_desc = "Compile the modules."
|
10
|
+
self.description = <<-"EOS"
|
11
|
+
Compile the given modules.
|
12
|
+
EOS
|
13
|
+
#@update = true
|
14
|
+
# self.options = CmdParse::OptionParserWrapper.new do |opt|
|
15
|
+
# opt.separator "Options:"
|
16
|
+
# opt.on( "--no-update", "Do not update from the repository" ) { |t|
|
17
|
+
# @update = false
|
18
|
+
# }
|
19
|
+
# end
|
20
|
+
end
|
21
|
+
|
22
|
+
def is_module_ready( mod )
|
23
|
+
true
|
24
|
+
end
|
25
|
+
|
26
|
+
def execute_for_module( mod )
|
27
|
+
|
28
|
+
$log.info( "###############################################################" )
|
29
|
+
$log.info( "### Compiling module #{mod.name}" )
|
30
|
+
$log.info( "###############################################################" )
|
31
|
+
|
32
|
+
mod.build( false )
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
end
|
39
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'kde-build/command/module_based'
|
2
|
+
|
3
|
+
module BuildTool
|
4
|
+
|
5
|
+
class ConfigureCommand < ModuleBasedCommand
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
super( 'configure', false )
|
9
|
+
self.short_desc = "Configure the modules."
|
10
|
+
self.description = <<-"EOS"
|
11
|
+
Install the given modules.
|
12
|
+
EOS
|
13
|
+
#@update = true
|
14
|
+
# self.options = CmdParse::OptionParserWrapper.new do |opt|
|
15
|
+
# opt.separator "Options:"
|
16
|
+
# opt.on( "--no-update", "Do not update from the repository" ) { |t|
|
17
|
+
# @update = false
|
18
|
+
# }
|
19
|
+
# end
|
20
|
+
end
|
21
|
+
|
22
|
+
def is_module_ready( mod )
|
23
|
+
skip = false
|
24
|
+
if !mod.checkedout?
|
25
|
+
$log.error("Module #{mod.name} is not checkedout and will be skipped!")
|
26
|
+
skip = true
|
27
|
+
end
|
28
|
+
!skip
|
29
|
+
end
|
30
|
+
|
31
|
+
def execute_for_module( mod )
|
32
|
+
|
33
|
+
$log.info( "###############################################################" )
|
34
|
+
$log.info( "### Configure the module #{mod.name}" )
|
35
|
+
$log.info( "###############################################################" )
|
36
|
+
|
37
|
+
if mod.configured?
|
38
|
+
mod.reconfigure
|
39
|
+
else
|
40
|
+
mod.configure
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
end
|
48
|
+
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'kde-build/command/module_based'
|
2
|
+
require 'kde-build/tools/ctags.rb'
|
3
|
+
|
4
|
+
module BuildTool
|
5
|
+
|
6
|
+
class CTagsCommand < ModuleBasedCommand
|
7
|
+
|
8
|
+
def initialize
|
9
|
+
super( 'ctags', false )
|
10
|
+
self.short_desc = "Run ctags for the given modules."
|
11
|
+
self.description = <<-"EOS"
|
12
|
+
Runs the ctags command in the source directories of the given modules. The
|
13
|
+
place to put the resulting tags file is taken from the config file.
|
14
|
+
EOS
|
15
|
+
#@update = true
|
16
|
+
# self.options = CmdParse::OptionParserWrapper.new do |opt|
|
17
|
+
# opt.separator "Options:"
|
18
|
+
# opt.on( "--no-update", "Do not update from the repository" ) { |t|
|
19
|
+
# @update = false
|
20
|
+
# }
|
21
|
+
# end
|
22
|
+
end
|
23
|
+
|
24
|
+
def is_module_ready( mod )
|
25
|
+
true
|
26
|
+
end
|
27
|
+
|
28
|
+
def execute_for_module( mod )
|
29
|
+
|
30
|
+
$log.info( "###############################################################" )
|
31
|
+
$log.info( "### Creating tags file for module #{mod.name}" )
|
32
|
+
$log.info( "###############################################################" )
|
33
|
+
|
34
|
+
CTags::run( mod.source_directory, "#{mod.name}.tags" )
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
end
|
41
|
+
|
@@ -1,25 +1,30 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
require 'kde-build/command'
|
1
|
+
require 'kde-build/command/module_based'
|
4
2
|
|
5
3
|
module BuildTool
|
6
4
|
|
7
|
-
class FetchCommand <
|
5
|
+
class FetchCommand < ModuleBasedCommand
|
8
6
|
|
9
7
|
def initialize
|
10
8
|
super( 'fetch', false )
|
11
|
-
self.short_desc = "Fetch"
|
12
|
-
self.description = "
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
9
|
+
self.short_desc = "Fetch changes from the remote repository."
|
10
|
+
self.description = <<-"EOS"
|
11
|
+
Fetch changes from the remote repository without rebasing if the used vcs
|
12
|
+
supports it. If the vcs doesn't the module is skipped.
|
13
|
+
EOS
|
14
|
+
end
|
18
15
|
|
16
|
+
def is_module_ready( mod )
|
17
|
+
mod.activate_ssh_key
|
18
|
+
true
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
|
21
|
+
def execute_for_module( mod )
|
22
|
+
|
23
|
+
$log.info( "###############################################################" )
|
24
|
+
$log.info( "### Fetching module #{mod.name}" )
|
25
|
+
$log.info( "###############################################################" )
|
26
|
+
|
27
|
+
mod.fetch
|
23
28
|
end
|
24
29
|
|
25
30
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'kde-build/command/module_based'
|
2
|
+
|
3
|
+
module BuildTool
|
4
|
+
|
5
|
+
class InstallCommand < ModuleBasedCommand
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
super( 'install', false )
|
9
|
+
self.short_desc = "Install the modules."
|
10
|
+
self.description = <<-"EOS"
|
11
|
+
Install the given modules.
|
12
|
+
EOS
|
13
|
+
#@update = true
|
14
|
+
# self.options = CmdParse::OptionParserWrapper.new do |opt|
|
15
|
+
# opt.separator "Options:"
|
16
|
+
# opt.on( "--no-update", "Do not update from the repository" ) { |t|
|
17
|
+
# @update = false
|
18
|
+
# }
|
19
|
+
# end
|
20
|
+
end
|
21
|
+
|
22
|
+
def is_module_ready( mod )
|
23
|
+
true
|
24
|
+
end
|
25
|
+
|
26
|
+
def execute_for_module( mod )
|
27
|
+
|
28
|
+
$log.info( "###############################################################" )
|
29
|
+
$log.info( "### Installing module #{mod.name}" )
|
30
|
+
$log.info( "###############################################################" )
|
31
|
+
|
32
|
+
mod.build( true )
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
end
|
39
|
+
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'kde-build/command'
|
2
|
+
|
3
|
+
module BuildTool
|
4
|
+
|
5
|
+
class ModuleBasedCommand < Command
|
6
|
+
|
7
|
+
def execute( args )
|
8
|
+
|
9
|
+
# If no argument is given show the help and quit.
|
10
|
+
if args.length == 0
|
11
|
+
show_help
|
12
|
+
return
|
13
|
+
end
|
14
|
+
|
15
|
+
# Map the command line to real modules
|
16
|
+
real_modules = []
|
17
|
+
ModuleRegistry.get_modules( args ) do |mod|
|
18
|
+
# Check if the module is fit for the command
|
19
|
+
if is_module_ready( mod )
|
20
|
+
real_modules.push( mod )
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Execute the command for each module
|
25
|
+
real_modules.each do |mod|
|
26
|
+
begin
|
27
|
+
|
28
|
+
execute_for_module( mod )
|
29
|
+
|
30
|
+
rescue Interrupt => e
|
31
|
+
$log.info("SIGBREAK recieved.")
|
32
|
+
return
|
33
|
+
|
34
|
+
rescue Exception => e
|
35
|
+
$log.info("error: #{e.class}: #{e.message}")
|
36
|
+
puts e.backtrace if $verbose
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'kde-build/command/module_based'
|
2
|
+
|
3
|
+
module BuildTool
|
4
|
+
|
5
|
+
class RebaseCommand < ModuleBasedCommand
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
super( 'rebase', false )
|
9
|
+
self.short_desc = "Rebase the local repository."
|
10
|
+
self.description = <<-"EOS"
|
11
|
+
Rebases the local repository against the changes made in the remote
|
12
|
+
repository. The changes will be first fetched and then the rebase is done. If
|
13
|
+
the vcs doesn't support that separation fetch and rebase are done in one step.
|
14
|
+
|
15
|
+
If --no-update is present only a rebase is done. Remember that svn doesn't
|
16
|
+
support that separation and will still fetch changes.
|
17
|
+
EOS
|
18
|
+
@update = true
|
19
|
+
self.options = CmdParse::OptionParserWrapper.new do |opt|
|
20
|
+
opt.separator "Options:"
|
21
|
+
opt.on( "--no-update", "Do not update from the repository" ) { |t|
|
22
|
+
@update = false
|
23
|
+
}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def is_module_ready( mod )
|
28
|
+
mod.activate_ssh_key
|
29
|
+
true
|
30
|
+
end
|
31
|
+
|
32
|
+
def execute_for_module( mod )
|
33
|
+
|
34
|
+
$log.info( "###############################################################" )
|
35
|
+
$log.info( "### Rebasing module #{mod.name}" )
|
36
|
+
$log.info( "###############################################################" )
|
37
|
+
|
38
|
+
if mod.checkedout?
|
39
|
+
mod.fetch if @update
|
40
|
+
mod.rebase
|
41
|
+
else
|
42
|
+
mod.init
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
end
|
50
|
+
|
@@ -14,6 +14,7 @@ module BuildTool
|
|
14
14
|
|
15
15
|
option( "executable", "Full path for to the executable" )
|
16
16
|
option( "options", "" )
|
17
|
+
option( "output", "" )
|
17
18
|
|
18
19
|
def initialize
|
19
20
|
@executable = "ctags"
|
@@ -21,6 +22,30 @@ module BuildTool
|
|
21
22
|
|
22
23
|
end
|
23
24
|
|
25
|
+
|
26
|
+
class CTags
|
27
|
+
|
28
|
+
include MJ::Tools::SubProcess
|
29
|
+
|
30
|
+
def self.run( dir, file )
|
31
|
+
file = file.tr( "/", "-" )
|
32
|
+
conf = CTagsConfiguration::instance
|
33
|
+
if !conf.output
|
34
|
+
$log.error("No ctags configuration section found!")
|
35
|
+
return
|
36
|
+
else
|
37
|
+
FileUtils.mkdir_p( Pathname.new( conf.output ).expand_path )
|
38
|
+
end
|
39
|
+
ctags "#{conf.options ? conf.options : ""} -f #{Pathname.new( conf.output ).join( file )} -R #{dir}"
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.ctags( cmd )
|
43
|
+
conf = CTagsConfiguration::instance
|
44
|
+
execute( "#{conf.executable ? conf.executable : "ctags"} #{cmd}" )
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
24
49
|
YAML.add_domain_type(
|
25
50
|
"michael-jansen.biz,2009", "CTagsConfiguration" ) {
|
26
51
|
|type, val|
|
data/lib/kde-build/vcs/svn.rb
CHANGED
@@ -69,8 +69,8 @@ module BuildTool; module VCS
|
|
69
69
|
#
|
70
70
|
# Initializes the local clone if it does not exist.
|
71
71
|
def fetch()
|
72
|
-
if !checkedout?
|
73
|
-
|
72
|
+
if !checkedout?
|
73
|
+
init
|
74
74
|
end
|
75
75
|
return true
|
76
76
|
end
|
@@ -83,11 +83,11 @@ module BuildTool; module VCS
|
|
83
83
|
raise SvnError, "Failed to create repository at '#{path}': Path exists"
|
84
84
|
end
|
85
85
|
|
86
|
-
# Create the
|
87
|
-
FileUtils.mkdir_p( path ) if !$noop
|
86
|
+
# Create the directories parent dir.
|
87
|
+
FileUtils.mkdir_p( File.dirname( path ) ) if !$noop
|
88
88
|
|
89
89
|
# Init the repository
|
90
|
-
if !svn "checkout --depth=infinity #{repository}"
|
90
|
+
if !svn "checkout --depth=infinity #{repository}", File.dirname(path)
|
91
91
|
raise SvnError, "Error during 'svn checkout #{repository}'`: #{$?}"
|
92
92
|
end
|
93
93
|
end
|
data/test.yaml.tmpl
CHANGED
@@ -116,7 +116,8 @@
|
|
116
116
|
############################
|
117
117
|
- :tags: !michael-jansen.biz,2009/CTagsConfiguration
|
118
118
|
# executable: "/usr/bin/ctags"
|
119
|
-
options: "--exclude=$HOME/.grepexclude --exclude=*.html"
|
119
|
+
# options: "--exclude=$HOME/.grepexclude --exclude=*.html"
|
120
|
+
output: <%= WORK_DIRECTORY %>/ctags
|
120
121
|
|
121
122
|
|
122
123
|
############################
|
@@ -137,8 +138,8 @@
|
|
137
138
|
- default: kdelibs kdepimlibs kdebase/ kdepim
|
138
139
|
- plasma: playground/nepomuk-kde kdeplasma-addons playground/plasma-applets/
|
139
140
|
- devel: kdesdk kdev/
|
140
|
-
- graphics: extra/lensfun kdegraphics extragear/graphics/
|
141
|
-
- multimedia: kdemultimedia qtscriptgenerator amarok
|
141
|
+
- graphics: extra/lensfun poppler kdegraphics extragear/graphics/
|
142
|
+
- multimedia: kdemultimedia qtscriptgenerator extragear/amarok
|
142
143
|
- other: kdeedu kdenetwork kdegames koffice
|
143
144
|
- qt: qtmaster qca qimageblitz
|
144
145
|
- all: :default :plasma :graphics :multimedia kdenetwork extragear/amarok
|
@@ -153,7 +154,7 @@
|
|
153
154
|
#
|
154
155
|
<% if false # ERB will remove it %>
|
155
156
|
- !michael-jansen.biz,2009/ModuleConfiguration
|
156
|
-
# The module name.
|
157
|
+
# The module name.
|
157
158
|
- name: kdesupport/automoc
|
158
159
|
# Some example constants
|
159
160
|
- *env
|
@@ -220,6 +221,7 @@
|
|
220
221
|
- env:
|
221
222
|
- PATH: <%= "#{QTDIR}:#{KDEDIRS}".split(":").collect { |d| d+"/bin" }.join(":")%>:/usr/X11R6/bin:/usr/bin:/bin
|
222
223
|
- KDEDIRS: <%= KDEDIRS %>
|
224
|
+
- PKG_CONFIG_PATH: <%= "#{QTDIR}/lib/pkgconfig:#{QTDIR}/lib64/pkgconfig:#{KDEDIR}/lib#{LIB_SUFFIX}/pkgconfig:#{EXTRADIR}/lib#{LIB_SUFFIX}/pkgconfig" %>
|
223
225
|
|
224
226
|
- &qt
|
225
227
|
- *env
|
@@ -256,7 +258,6 @@
|
|
256
258
|
|
257
259
|
- !michael-jansen.biz,2009/ModuleConfiguration
|
258
260
|
- *env
|
259
|
-
- *sshkey
|
260
261
|
- repository: git://anongit.freedesktop.org
|
261
262
|
- name: kdesupport/networkmanager
|
262
263
|
- remote-path: NetworkManager/NetworkManager.git
|
@@ -269,6 +270,19 @@
|
|
269
270
|
- inplace: true
|
270
271
|
- autogen-options: -test
|
271
272
|
|
273
|
+
- !michael-jansen.biz,2009/ModuleConfiguration
|
274
|
+
- *env
|
275
|
+
- repository: git://anongit.freedesktop.org
|
276
|
+
- name: poppler
|
277
|
+
- remote-path: poppler/poppler.git
|
278
|
+
- local-path: kdesupport/poppler
|
279
|
+
- vcs: git
|
280
|
+
- prefix: <%= EXTRADIR %>
|
281
|
+
- build-system:
|
282
|
+
- name: autoconf
|
283
|
+
- options: "<%= AUTOCONF_OPTIONS %>"
|
284
|
+
- inplace: true
|
285
|
+
- autogen-options: -test
|
272
286
|
|
273
287
|
############################
|
274
288
|
# Qt #
|
@@ -279,14 +293,14 @@
|
|
279
293
|
- local-path: qtmaster
|
280
294
|
- remote-path: qt/qt.git
|
281
295
|
- repository: <%= GITORIOUS %>
|
282
|
-
- vcs:
|
296
|
+
- vcs:
|
283
297
|
- name: git
|
284
298
|
# Checkout qt's 4.5 branch. master points to the work in progress
|
285
299
|
# version 4.6
|
286
300
|
- remote-branch: 4.5
|
287
301
|
- build-system:
|
288
302
|
- name: qtcopy
|
289
|
-
# -qt-gif ............ Compile the plugin for GIF reading support.
|
303
|
+
# -qt-gif ............ Compile the plugin for GIF reading support.
|
290
304
|
# -no-exceptions ..... Disable exceptions on compilers that support it.
|
291
305
|
# -fast .............. Configure Qt quickly by generating Makefiles only for
|
292
306
|
# library and subdirectory targets. All other Makefiles
|
@@ -330,7 +344,7 @@
|
|
330
344
|
- vcs:
|
331
345
|
- name: git-svn
|
332
346
|
<% if mod == "kdenetwork" %>
|
333
|
-
- externals:
|
347
|
+
- externals:
|
334
348
|
- kget/transfer-plugins/bittorrent/libbtcore: <%= KDESVNSERVER %>/kde/branches/stable/extragear-kde4/network/ktorrent/libbtcore
|
335
349
|
<% elsif mod == "kdebase/workspace" %>
|
336
350
|
- externals:
|
@@ -358,7 +372,7 @@
|
|
358
372
|
############################
|
359
373
|
# KDEVELOP #
|
360
374
|
############################
|
361
|
-
<% for mod in [
|
375
|
+
<% for mod in [ 'kdevplatform', 'kdevelop' ] %>
|
362
376
|
# kdevelop heavily relies on svn_externals. Use svn
|
363
377
|
- !michael-jansen.biz,2009/ModuleConfiguration
|
364
378
|
- *env
|
@@ -378,15 +392,25 @@
|
|
378
392
|
#########################################
|
379
393
|
# EXTREAGEAR / KDEVELOP PLUGINS #
|
380
394
|
#########################################
|
381
|
-
<% for mod in [ 'kdevelop-pg-qt', 'kdevelop-pg'
|
395
|
+
<% for mod in [ 'kdevelop-pg-qt', 'kdevelop-pg' ] %>
|
382
396
|
- !michael-jansen.biz,2009/ModuleConfiguration
|
383
397
|
- name: kdev/<%= mod %>
|
384
398
|
- *kde
|
385
|
-
- remote-path:
|
399
|
+
- remote-path: playground/devtools/<%= mod %>
|
386
400
|
- local-path: kdev/<%= mod %>
|
387
401
|
- vcs: git-svn
|
388
402
|
<% end %>
|
389
403
|
|
404
|
+
<% for mod in [ 'duchainviewer', 'cppunit', 'metrics', 'python', 'ruby', 'newgdb', 'sloc', 'teamwork' ] %>
|
405
|
+
- !michael-jansen.biz,2009/ModuleConfiguration
|
406
|
+
- name: kdev/<%= mod %>
|
407
|
+
- *kde
|
408
|
+
- remote-path: playground/devtools/kdevelop4-extra-plugins/<%= mod %>
|
409
|
+
- local-path: kdev/<%= mod %>
|
410
|
+
- vcs: git-svn
|
411
|
+
<% end %>
|
412
|
+
|
413
|
+
|
390
414
|
############################
|
391
415
|
# KOFFICE #
|
392
416
|
############################
|
@@ -396,7 +420,7 @@
|
|
396
420
|
- remote-path: koffice
|
397
421
|
- vcs:
|
398
422
|
- name: git-svn
|
399
|
-
- externals:
|
423
|
+
- externals:
|
400
424
|
- kdgantt: <%= KDESVNSERVER %>/kde/trunk/KDE/kdepim/kdgantt
|
401
425
|
|
402
426
|
############################
|
@@ -404,7 +428,7 @@
|
|
404
428
|
############################
|
405
429
|
<% for mod in [ 'digikam', 'kipi-plugins', 'skanlite', 'kphotoalbum' ] %>
|
406
430
|
- !michael-jansen.biz,2009/ModuleConfiguration
|
407
|
-
- name: extragear/<%= mod %>
|
431
|
+
- name: extragear/graphics/<%= mod %>
|
408
432
|
- *kde
|
409
433
|
- remote-path: extragear/graphics/<%= mod %>
|
410
434
|
- local-path: extragear/graphics/<%= mod %>
|
@@ -581,7 +605,6 @@
|
|
581
605
|
- name: autoconf
|
582
606
|
# Lensfun build system (only autoconf compatibel requires an inplace
|
583
607
|
# build
|
584
|
-
- options: "<%= AUTOCONF_OPTIONS %>"
|
585
608
|
- inplace: true
|
586
609
|
|
587
610
|
|
@@ -595,8 +618,8 @@
|
|
595
618
|
# build_system= qmake
|
596
619
|
# repository=git://labs.trolltech.com/qtscriptgenerator
|
597
620
|
# prefix= %(kde4svn)s
|
598
|
-
#
|
599
|
-
#
|
621
|
+
#
|
622
|
+
#
|
600
623
|
# ; ===========================================================================
|
601
624
|
# [module:l10n]
|
602
625
|
# ; Keep svn here because the others would try to checkout l10n completely
|
@@ -606,4 +629,4 @@
|
|
606
629
|
# build_system= kde-l10n
|
607
630
|
# svn-root= %(kde-svn-server)s/trunk/l10n-kde4
|
608
631
|
# prefix= %(kde4svn)s
|
609
|
-
#
|
632
|
+
#
|
metadata
CHANGED
@@ -1,36 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: build-tool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Jansen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
- |
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDOjCCAiKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBDMQwwCgYDVQQDDANrZGUx
|
14
|
-
HjAcBgoJkiaJk/IsZAEZFg5taWNoYWVsLWphbnNlbjETMBEGCgmSJomT8ixkARkW
|
15
|
-
A2JpejAeFw0wOTA2MDkyMDI1MThaFw0xMDA2MDkyMDI1MThaMEMxDDAKBgNVBAMM
|
16
|
-
A2tkZTEeMBwGCgmSJomT8ixkARkWDm1pY2hhZWwtamFuc2VuMRMwEQYKCZImiZPy
|
17
|
-
LGQBGRYDYml6MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAurxaZL3l
|
18
|
-
DVi5wG2HKTLVjl9Wl9gJT5L8edAxHrNMQtT3WQlyo3QNhOgLfVP9zMg49Y8dBRAP
|
19
|
-
w9ez71UJfjI17+KEEI6rdMF+poljfpszboRNqkuhn8b+kPy9vyVz93lIhyCUi4dx
|
20
|
-
Nyc2BSGjoYqQkVNZymz4TTb2xoMjUWkCjBsr8sxjB74zFaYqzjNMhWZUZB4CH1J1
|
21
|
-
S2+rdybmeC3/Yt3ck9kPgUQNRL5pnH9eJrFYzocbFHjp28CJf0zNmn8aUS1R32hD
|
22
|
-
5optxe9j6Jh0sXW2Qqw3swfVwaJIrDI4KNcWlJTAO++FHsV8Jh9Y1HMUgcSVpWVj
|
23
|
-
2SdR6e6L30jpNwIDAQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
|
24
|
-
HQ4EFgQU5L+10wMUoKc2MaHICpfSJ+HCffgwDQYJKoZIhvcNAQEFBQADggEBABWy
|
25
|
-
Uio+50gcBdYsmWRVcS2W3BLGes7KwD9CAcVZGa7adH8EY+ZrPkbhB2Csk/UZnuo5
|
26
|
-
2THemT8qy42gxgI1RRv9+PFDCXA+p2URzlhXhsO4JHdNeaGEwsOETx29xRO1QTnl
|
27
|
-
bOjSlG4mdCB9WMAD2w58JAefhObPKQMl2L8sc0S3pEIcFmbLAVT4W6AbUiiK9C4T
|
28
|
-
AjmSlxUk0RdTT1xL0QQ88HoNxLK8hJHAT8pNq36taixh0ORmmqocRvIL0YrHUPa3
|
29
|
-
bdM0RIoUSO1SXrHpXDdvfp9w4BsMZiAf87eeq974P8VuyKbHgxN9El1nwtFGEfwm
|
30
|
-
M3zOaQdtTmiQPBqNIsE=
|
31
|
-
-----END CERTIFICATE-----
|
10
|
+
cert_chain: []
|
32
11
|
|
33
|
-
date: 2009-
|
12
|
+
date: 2009-07-07 00:00:00 +02:00
|
34
13
|
default_executable:
|
35
14
|
dependencies:
|
36
15
|
- !ruby/object:Gem::Dependency
|
@@ -61,7 +40,7 @@ dependencies:
|
|
61
40
|
requirements:
|
62
41
|
- - ">="
|
63
42
|
- !ruby/object:Gem::Version
|
64
|
-
version: 1.
|
43
|
+
version: 1.5.0
|
65
44
|
version:
|
66
45
|
- !ruby/object:Gem::Dependency
|
67
46
|
name: hoe
|
@@ -71,7 +50,17 @@ dependencies:
|
|
71
50
|
requirements:
|
72
51
|
- - ">="
|
73
52
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
53
|
+
version: 2.3.0
|
54
|
+
version:
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: hoe
|
57
|
+
type: :development
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 2.3.2
|
75
64
|
version:
|
76
65
|
description: A ruby based alternative to kdesvn-build.
|
77
66
|
email:
|
@@ -84,13 +73,11 @@ extra_rdoc_files:
|
|
84
73
|
- History.txt
|
85
74
|
- Manifest.txt
|
86
75
|
- PostInstall.txt
|
87
|
-
- README.rdoc
|
88
76
|
- website/index.txt
|
89
77
|
files:
|
90
78
|
- History.txt
|
91
79
|
- Manifest.txt
|
92
80
|
- PostInstall.txt
|
93
|
-
- README.rdoc
|
94
81
|
- Rakefile
|
95
82
|
- TODO
|
96
83
|
- bin/kde-build.rb
|
@@ -105,9 +92,15 @@ files:
|
|
105
92
|
- lib/kde-build/build_system/qtcopy.rb
|
106
93
|
- lib/kde-build/command.rb
|
107
94
|
- lib/kde-build/command/build.rb
|
95
|
+
- lib/kde-build/command/compile.rb
|
96
|
+
- lib/kde-build/command/configure.rb
|
97
|
+
- lib/kde-build/command/ctags.rb
|
108
98
|
- lib/kde-build/command/fetch.rb
|
109
99
|
- lib/kde-build/command/help.rb
|
110
100
|
- lib/kde-build/command/info.rb
|
101
|
+
- lib/kde-build/command/install.rb
|
102
|
+
- lib/kde-build/command/module_based.rb
|
103
|
+
- lib/kde-build/command/rebase.rb
|
111
104
|
- lib/kde-build/command/version.rb
|
112
105
|
- lib/kde-build/configuration.rb
|
113
106
|
- lib/kde-build/exception.rb
|
@@ -143,7 +136,7 @@ homepage: http://build-tool.rubyforge.org/git?p=build-tool.git;a=tree
|
|
143
136
|
post_install_message: PostInstall.txt
|
144
137
|
rdoc_options:
|
145
138
|
- --main
|
146
|
-
- README.
|
139
|
+
- README.txt
|
147
140
|
require_paths:
|
148
141
|
- lib
|
149
142
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -167,5 +160,5 @@ specification_version: 2
|
|
167
160
|
summary: A ruby based alternative to kdesvn-build.
|
168
161
|
test_files:
|
169
162
|
- test/test_helper.rb
|
170
|
-
- test/test_kde-build.rb
|
171
163
|
- test/test_vcs_svn.rb
|
164
|
+
- test/test_kde-build.rb
|
data.tar.gz.sig
DELETED
Binary file
|
data/README.rdoc
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
= kde-build
|
2
|
-
|
3
|
-
* http://build-tool.rubyforge.org/git?p=build-tool.git;a=tree
|
4
|
-
|
5
|
-
== DESCRIPTION:
|
6
|
-
|
7
|
-
A ruby based alternative to kdesvn-build.
|
8
|
-
|
9
|
-
== FEATURES/PROBLEMS:
|
10
|
-
|
11
|
-
* *WARNING* Very young and immature program
|
12
|
-
|
13
|
-
== SYNOPSIS:
|
14
|
-
|
15
|
-
kde-build build :qt kdesupport/ :default
|
16
|
-
|
17
|
-
This will build
|
18
|
-
1. The package _qt_ as configured in the config file.
|
19
|
-
2. All modules named _kdesupport_/... in the order specified in the config file.
|
20
|
-
3. The package _default_ as configured in the config file.
|
21
|
-
|
22
|
-
If you haven't changed the default configuration you should end up with a
|
23
|
-
usable kde session.
|
24
|
-
|
25
|
-
== REQUIREMENTS:
|
26
|
-
|
27
|
-
Packages
|
28
|
-
- ruby
|
29
|
-
- rubygems
|
30
|
-
|
31
|
-
Gems
|
32
|
-
- cmdparse
|
33
|
-
- log4r
|
34
|
-
|
35
|
-
== INSTALL:
|
36
|
-
|
37
|
-
Currently not supported
|
38
|
-
|
39
|
-
== LICENSE:
|
40
|
-
|
41
|
-
Copyright (C) 2009 Michael Jansen <kde@michael-jansen.biz>
|
42
|
-
|
43
|
-
This library is free software; you can redistribute it and/or
|
44
|
-
modify it under the terms of the GNU General Public
|
45
|
-
License version 2 or later as published by the Free Software Foundation.
|
46
|
-
|
47
|
-
This library is distributed in the hope that it will be useful,
|
48
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
49
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
50
|
-
Library General Public License for more details.
|
51
|
-
|
52
|
-
You should have received a copy of the GNU Library General Public License
|
53
|
-
along with this library; see the file COPYING.LIB. If not, write to
|
54
|
-
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
55
|
-
Boston, MA 02110-1301, USA.
|
metadata.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
4���Wh��2���4�-�}O�=[�s���ۃ��j+�����z��f���jN�1���R?S��P�+�̰(3��oD��۶g-����U'je�/Z��6���&عk�>�&�������^�.�gM�0����DѬ��P��\fa���-�pi��T�������;'_�W�#��Ş�l1Bx+�j?Xz�Xr]F3��I{�R[�5=�T�c�O��Gmr����^����5���l$"Q���F�C@_��a
|