autobuild 1.7.12.rc4 → 1.7.12.rc5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6dc3f6aff781506f808467b86427876aa95da6b2
4
- data.tar.gz: b3b5a5e470d9ff71dfae78123ddca8498532ecf3
3
+ metadata.gz: 9a4395f370d1e1c38b7e5b47ee51c44c21c4cf50
4
+ data.tar.gz: 2fbb94fa41c844eb6f883c89e82707bd5d11cee9
5
5
  SHA512:
6
- metadata.gz: da1ba8dd3ed2dba2ce0c7b2a0acffa82f02bd74b79dbc03163319d03df1721b0e6c50f2e17c1ea40cf894490162ba1d083cdef4476a58610ce466c65133ec6f0
7
- data.tar.gz: acb3603694fb136516bfe12300c16f7c57b0c0167dc0e6013168a94ddad5bacbef8adf3cfae9e4b32b89f92156dc77bc5bbbf286b5d76b6fd76adbdbbc5e36da
6
+ metadata.gz: ffc19e8cf7505968892cbb0428f4e24bc4bd77c29cb5e9b6837e23fab111ab8ad1c53fffd2560a47d475f8e8d142f176c249939bb8dbf3b9ccf5b0d759de993b
7
+ data.tar.gz: 2084cca9a550f9176f793f22a96040ce1cc0ba0be484d8463f6593b9c810fe160a094079081bb8b62f0bf832852b070b463e5390f7372bf82de70032639495a0
@@ -250,24 +250,28 @@ module Autobuild
250
250
  # [:no_subdirectory] the archive does not have the custom archive
251
251
  # subdirectory.
252
252
  def initialize(url, options)
253
- options = Hash[repository_id: URI.parse(url)].merge(options)
253
+ sourceopts, options = Kernel.filter_options options,
254
+ :source_id, :repository_id
254
255
  super(options)
256
+
255
257
  if !@options.has_key?(:update_cached_file)
256
258
  @options[:update_cached_file] = false
257
259
  end
258
260
  @cachedir = @options[:cachedir] || ArchiveImporter.cachedir
259
261
  @retries = @options[:retries] || ArchiveImporter.retries
260
262
  @timeout = @options[:timeout] || ArchiveImporter.timeout
261
-
262
- relocate(url)
263
+ relocate(url, sourceopts)
263
264
  end
264
265
 
265
266
  # Changes the URL from which we should pick the archive
266
267
  def relocate(url, options = Hash.new)
267
- @url = URI.parse(url)
268
+ parsed_url = URI.parse(url)
269
+ @url = parsed_url
268
270
  if !VALID_URI_SCHEMES.include?(@url.scheme)
269
271
  raise ConfigException, "invalid URL #{@url} (local files must be prefixed with file://)"
270
272
  end
273
+ @repository_id = options[:repository_id] || parsed_url
274
+ @source_id = options[:source_id] || parsed_url
271
275
 
272
276
  filename = options[:filename] || File.basename(url).gsub(/\?.*/, '')
273
277
 
@@ -21,7 +21,7 @@ module Autobuild
21
21
  @options_up = Array[*@options_up]
22
22
  @options_co = cvsopts[:cvsco] || '-P'
23
23
  @options_co = Array[*@options_co]
24
- super(common)
24
+ super(common.merge(repository_id: "cvs:#{@root}:#{@module}"))
25
25
  end
26
26
 
27
27
  # Array of options to give to 'cvs checkout'
@@ -15,7 +15,7 @@ module Autobuild
15
15
  def initialize(source, options = {})
16
16
  @source = source
17
17
  @program = Autobuild.tool('darcs')
18
- super(options)
18
+ super(options.merge(repository_id: source))
19
19
  @pull = [*options[:pull]]
20
20
  @get = [*options[:get]]
21
21
  end
@@ -43,7 +43,6 @@ module Autobuild
43
43
  # doing
44
44
  # Autobuild.programs['git'] = 'my_git_tool'
45
45
  def initialize(repository, branch = nil, options = {})
46
- @repository = repository.to_str
47
46
  @alternates = Git.default_alternates.dup
48
47
  @git_dir_cache = Array.new
49
48
 
@@ -61,11 +60,20 @@ module Autobuild
61
60
  end
62
61
 
63
62
  gitopts, common = Kernel.filter_options options,
64
- :push_to => nil, :branch => nil, :tag => nil, :commit => nil, :with_submodules => false,
65
- :repository_id => "git:#{@repository}"
63
+ push_to: nil,
64
+ branch: nil,
65
+ tag: nil,
66
+ commit: nil,
67
+ with_submodules: false
66
68
  if gitopts[:branch] && branch
67
69
  raise ConfigException, "git branch specified with both the option hash and the explicit parameter"
68
70
  end
71
+
72
+ sourceopts, common = Kernel.filter_options common,
73
+ :repository_id, :source_id
74
+
75
+ super(common)
76
+
69
77
  @push_to = gitopts[:push_to]
70
78
  @with_submodules = gitopts[:with_submodules]
71
79
  branch = gitopts[:branch] || branch
@@ -76,7 +84,7 @@ module Autobuild
76
84
  @tag = tag
77
85
  @commit = commit
78
86
  @remote_name = 'autobuild'
79
- super(common.merge(repository_id: gitopts[:repository_id]))
87
+ relocate(repository, sourceopts)
80
88
  end
81
89
 
82
90
  # The name of the remote that should be set up by the importer
@@ -622,8 +630,12 @@ module Autobuild
622
630
  end
623
631
 
624
632
  # Changes the repository this importer is pointing to
625
- def relocate(repository)
626
- @repository = repository
633
+ def relocate(repository, options = Hash.new)
634
+ @repository = repository.to_str
635
+ @repository_id = options[:repository_id] ||
636
+ "git:#{@repository}"
637
+ @source_id = options[:source_id] ||
638
+ "#{@repository_id} branch=#{self.branch} tag=#{self.tag} commit=#{self.commit}"
627
639
  end
628
640
 
629
641
  # Tests whether the given directory is a git repository
@@ -16,13 +16,23 @@ module Autobuild
16
16
  # @param [String] repository the repository URL
17
17
  # @option options [String] :branch (default) the branch to track
18
18
  def initialize(repository, options = {})
19
- @repository = repository.to_str
20
-
21
19
  hgopts, common = Kernel.filter_options options,
22
- :branch => 'default',
23
- :repository_id => "hg:#{repository}"
20
+ branch: 'default'
21
+ sourceopts, common = Kernel.filter_options options,
22
+ :repository_id, :source_id
23
+
24
+ super(common)
24
25
  @branch = hgopts[:branch]
25
- super(common.merge(repository_id: hgopts[:repository_id]))
26
+ relocate(repository, sourceopts)
27
+ end
28
+
29
+ # Changes the repository this importer is pointing to
30
+ def relocate(repository, options = Hash.new)
31
+ @repository = repository
32
+ @repository_id = options[:repository_id] ||
33
+ "hg:#{@repository}"
34
+ @source_id = options[:source_id] ||
35
+ "#{self.repository_id} branch=#{self.branch}"
26
36
  end
27
37
 
28
38
  # The remote repository URL.
@@ -60,11 +70,6 @@ module Autobuild
60
70
  Subprocess.run(package, :import,
61
71
  Autobuild.tool('hg'), 'clone', '-u', branch, repository, package.importdir)
62
72
  end
63
-
64
- # Changes the repository this importer is pointing to
65
- def relocate(repository)
66
- @repository = repository
67
- end
68
73
  end
69
74
 
70
75
  # Creates a hg importer which gets the source for the given repository and branch
@@ -72,14 +72,29 @@ class Importer
72
72
  @options = options.dup
73
73
  @options[:retry_count] = Integer(@options[:retry_count] || 0)
74
74
  @repository_id = options[:repository_id] || "#{self.class.name}:#{object_id}"
75
+ @source_id = options[:source_id] || @repository_id
75
76
  end
76
77
 
77
78
  # Returns a string that identifies the remote repository uniquely
78
79
  #
79
80
  # This can be used to check whether two importers are pointing to the same
80
- # repository, regardless of e.g. the access protocol used
81
+ # repository, regardless of e.g. the access protocol used. For instance,
82
+ # two git importers that point to the same repository but different branches
83
+ # would have the same repository_id but different source_id
84
+ #
85
+ # @see source_id
81
86
  attr_reader :repository_id
82
87
 
88
+ # Returns a string that identifies the remote source uniquely
89
+ #
90
+ # This can be used to check whether two importers are pointing to the same
91
+ # code base inside the same repository. For instance, two git importers that
92
+ # point to the same repository but different branches would have the same
93
+ # repository_id but different source_id
94
+ #
95
+ # @see repository_id
96
+ attr_reader :source_id
97
+
83
98
  # The number of times update / checkout should be retried before giving up.
84
99
  # The default is 0 (do not retry)
85
100
  #
@@ -1,5 +1,5 @@
1
1
  module Autobuild
2
- VERSION = "1.7.12.rc4" unless defined? Autobuild::VERSION
2
+ VERSION = "1.7.12.rc5" unless defined? Autobuild::VERSION
3
3
  end
4
4
 
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autobuild
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.12.rc4
4
+ version: 1.7.12.rc5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Joyeux
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-21 00:00:00.000000000 Z
11
+ date: 2014-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake