autoproj 2.0.0.b7 → 2.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +1 -0
  3. data/.gitignore +8 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +6 -0
  6. data/README.md +4 -0
  7. data/Rakefile +40 -81
  8. data/autoproj.gemspec +29 -0
  9. data/lib/autoproj/cli/cache.rb +7 -2
  10. data/lib/autoproj/cli/main.rb +46 -25
  11. data/lib/autoproj/cli/main_test.rb +6 -4
  12. data/lib/autoproj/cli/status.rb +2 -2
  13. data/lib/autoproj/configuration.rb +5 -0
  14. data/lib/autoproj/git_server_configuration.rb +117 -0
  15. data/lib/autoproj/osdeps.rb +14 -914
  16. data/lib/autoproj/package_managers/apt_dpkg_manager.rb +70 -0
  17. data/lib/autoproj/package_managers/emerge_manager.rb +14 -0
  18. data/lib/autoproj/package_managers/gem_manager.rb +313 -0
  19. data/lib/autoproj/package_managers/homebrew_manager.rb +44 -0
  20. data/lib/autoproj/package_managers/manager.rb +45 -0
  21. data/lib/autoproj/package_managers/pacman_manager.rb +14 -0
  22. data/lib/autoproj/package_managers/pip_manager.rb +86 -0
  23. data/lib/autoproj/package_managers/pkg_manager.rb +14 -0
  24. data/lib/autoproj/package_managers/port_manager.rb +14 -0
  25. data/lib/autoproj/package_managers/shell_script_manager.rb +207 -0
  26. data/lib/autoproj/package_managers/unknown_os_manager.rb +42 -0
  27. data/lib/autoproj/package_managers/yum_manager.rb +56 -0
  28. data/lib/autoproj/package_managers/zypper_manager.rb +43 -0
  29. data/lib/autoproj/package_manifest.rb +1 -1
  30. data/lib/autoproj/test.rb +13 -14
  31. data/lib/autoproj/variable_expansion.rb +4 -2
  32. data/lib/autoproj/version.rb +1 -1
  33. data/lib/autoproj/workspace.rb +5 -1
  34. data/manifest.xml +20 -0
  35. metadata +73 -87
  36. data/.gemtest +0 -0
  37. data/Manifest.txt +0 -105
  38. data/test/data/empty_manifest.xml +0 -2
  39. data/test/data/full_manifest.xml +0 -19
  40. data/test/data/invalid_manifest.xml +0 -3
  41. data/test/data/os_release.with_complex_version_field +0 -3
  42. data/test/data/os_release.with_duplicate_values +0 -3
  43. data/test/data/os_release.with_missing_optional_fields +0 -2
  44. data/test/data/os_release.with_quoted_and_unquoted_fields +0 -2
  45. data/test/data/test_manifest/autoproj/local_set/local.autobuild +0 -0
  46. data/test/data/test_manifest/autoproj/local_set/source.yml +0 -1
  47. data/test/data/test_manifest/autoproj/manifest +0 -7
  48. data/test/ops/test_configuration.rb +0 -20
  49. data/test/ops/test_snapshot.rb +0 -26
  50. data/test/package_managers/apt-dpkg-status +0 -41
  51. data/test/package_managers/apt-dpkg-status.installed-last +0 -27
  52. data/test/package_managers/apt-dpkg-status.noninstalled-last +0 -12
  53. data/test/package_managers/test_apt_dpkg_manager.rb +0 -41
  54. data/test/package_managers/test_gem.rb +0 -156
  55. data/test/package_managers/test_pip.rb +0 -42
  56. data/test/test_manifest.rb +0 -48
  57. data/test/test_os_dependencies.rb +0 -586
  58. data/test/test_package.rb +0 -30
  59. data/test/test_package_manifest.rb +0 -65
  60. data/test/test_vcs_definition.rb +0 -46
data/test/test_package.rb DELETED
@@ -1,30 +0,0 @@
1
- require 'autoproj/test'
2
- require 'autoproj/autobuild'
3
-
4
- describe Autobuild::Package do
5
- describe "#remove_dependency" do
6
- attr_reader :pkg
7
- before do
8
- @pkg = Autobuild.import('pkg')
9
- Autobuild.import('dep')
10
- end
11
-
12
- it "removes direct dependencies" do
13
- pkg.dependencies << 'dep'
14
- pkg.remove_dependency 'dep'
15
- assert !pkg.dependencies.include?('dep')
16
- end
17
-
18
- it "removes optional dependencies" do
19
- pkg.optional_dependency 'dep'
20
- pkg.remove_dependency 'dep'
21
- assert !pkg.optional_dependencies.include?('dep')
22
- end
23
-
24
- it "removes OS dependencies" do
25
- pkg.os_packages << 'dep'
26
- pkg.remove_dependency 'dep'
27
- assert !pkg.os_packages.include?('dep')
28
- end
29
- end
30
- end
@@ -1,65 +0,0 @@
1
- require 'test/unit'
2
- require 'autoproj'
3
-
4
- class TC_PackageManifest < Test::Unit::TestCase
5
-
6
- DATA_DIR = File.expand_path('data', File.dirname(__FILE__))
7
-
8
- FakePackage = Struct.new :name, :os_packages
9
-
10
- attr_reader :pkg
11
-
12
- def setup
13
- @pkg = FakePackage.new('test', [])
14
- end
15
-
16
- def test_complete_manifest
17
- data = File.join(DATA_DIR, 'full_manifest.xml')
18
- manifest = Autoproj::PackageManifest.load(pkg, data)
19
-
20
- assert_equal %w{tag1 tag2 tag3}, manifest.tags
21
- assert_equal "full_doc", manifest.documentation
22
- assert_equal "short_doc", manifest.short_documentation
23
-
24
- deps = [['dep1', false], ['dep2', false]]
25
- opt_deps = [['opt_dep1', true], ['opt_dep2', true]]
26
- osdeps = [['osdep1', false], ['osdep2', false]]
27
- pkg.os_packages << "osdep2"
28
-
29
- assert_equal(osdeps, manifest.each_os_dependency.to_a)
30
- assert_equal(deps + opt_deps, manifest.each_package_dependency.to_a)
31
- assert_equal((deps + opt_deps + osdeps).to_set, manifest.each_dependency.to_set)
32
-
33
- authors = [
34
- ["Author1", "author1@email"],
35
- ["Author2", "author2@email"],
36
- ["Author3", nil]]
37
- assert_equal(authors.to_set, manifest.each_author.to_set)
38
-
39
- assert_equal('the_url', manifest.url)
40
- assert_equal('BSD', manifest.license)
41
- end
42
-
43
- def test_empty_manifest
44
- data = File.join(DATA_DIR, 'empty_manifest.xml')
45
- manifest = Autoproj::PackageManifest.load(pkg, data)
46
-
47
- assert_equal [], manifest.tags
48
- assert(manifest.documentation =~ /no documentation available/)
49
- assert(manifest.short_documentation =~ /no documentation available/)
50
-
51
- assert(manifest.each_os_dependency.to_a.empty?)
52
- assert(manifest.each_package_dependency.to_a.empty?)
53
- assert(manifest.each_dependency.to_a.empty?)
54
- assert(manifest.each_author.to_a.empty?)
55
-
56
- assert_equal(nil, manifest.url)
57
- assert_equal(nil, manifest.license)
58
- end
59
-
60
- def test_failure_on_wrong_document
61
- data = File.join(DATA_DIR, 'invalid_manifest.xml')
62
- assert_raises(Autobuild::PackageException) { Autoproj::PackageManifest.load(pkg, data) }
63
- end
64
- end
65
-
@@ -1,46 +0,0 @@
1
- require 'autoproj/test'
2
- require 'fakefs/safe'
3
-
4
- describe Autoproj::VCSDefinition do
5
- describe ".vcs_definition_to_hash" do
6
- before do
7
- FakeFS.activate!
8
- end
9
-
10
- after do
11
- FakeFS.deactivate!
12
- FakeFS::FileSystem.clear
13
- end
14
-
15
- it "interprets plain strings as local directories" do
16
- FileUtils.mkdir_p '/test'
17
- vcs = Autoproj::VCSDefinition.from_raw('/test')
18
- assert vcs.local?
19
- assert_equal '/test', vcs.url
20
- end
21
-
22
- it "interprets the type:url shortcut" do
23
- vcs = Autoproj::VCSDefinition.from_raw('git:git@github.com')
24
- assert_equal 'git', vcs.type
25
- assert_equal 'git@github.com', vcs.url
26
- end
27
-
28
- it "normalizes the standard format" do
29
- vcs = Autoproj::VCSDefinition.from_raw(Hash['type' => 'git', 'url' => 'u', 'branch' => 'b'])
30
- assert_equal 'git', vcs.type
31
- assert_equal 'u', vcs.url
32
- assert_equal 'b', vcs.options[:branch]
33
- end
34
- end
35
-
36
- describe "#create_autobuild_importer" do
37
- it "does not create an importer if type is none" do
38
- vcs = Autoproj::VCSDefinition.from_raw(type: 'none', url: nil)
39
- assert !vcs.create_autobuild_importer
40
- end
41
- it "does not create an importer if type is local" do
42
- vcs = Autoproj::VCSDefinition.from_raw(type: 'local', url: '/test')
43
- assert !vcs.create_autobuild_importer
44
- end
45
- end
46
- end