hydra 6.1.0.rc3 → 6.1.0.rc4
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.
- checksums.yaml +4 -4
- data/RELEASE-POLICY.md +24 -10
- data/hydra.gemspec +1 -1
- data/lib/hydra/version.rb +1 -1
- data/script/query-for-deprecation.rb +94 -28
- metadata +5 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 5e5c903a478c63818af764e7bc07e8cf42beec10
         | 
| 4 | 
            +
              data.tar.gz: d00f0bc467652e936e0c3bd7343318acc19a7fc7
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0f448be1c4c32b1a7a7f2f32897e953e666a484ee1f2556d3b47ba6c2499566f2ff6037b131ac1ee2a66e05d7d1138afdb45846154d783d2dca66daa4ad6f690
         | 
| 7 | 
            +
              data.tar.gz: dda9793a37bbfec906a2492c8f4dfae8bba712ce2993529f09ee447336c11d4a618bf6d5f0d88a9e0fe47319f224f46a112c4d8469c28040c8a927bd1325cf6f
         | 
    
        data/RELEASE-POLICY.md
    CHANGED
    
    | @@ -1,10 +1,24 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
             | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 1 | 
            +
            # Updating Hydra gem procedure
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            ## Deprecations
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ### Indicating Deprecations
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            Each of the ProjectHydra gems in hydra.gemspec make use of the [`deprecation`
         | 
| 8 | 
            +
            gem](https://github.com/cbeer/deprecation). Below is our preferred method for
         | 
| 9 | 
            +
            indicating deprecation:
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                class Foo
         | 
| 12 | 
            +
                  def bar
         | 
| 13 | 
            +
                    Deprecation.warn(Foo, 'Foo#bar is deprecated. Please use Baz', caller)
         | 
| 14 | 
            +
                    …
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            By adhearing to the above deprecation semantic we are able to report
         | 
| 19 | 
            +
            deprecations when the Hydra gem is updated.
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            ### Reporting Deprecations on Hydra upgrades
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            The `./script/query-for-deprecation.rb` is a tool to help report what methods
         | 
| 24 | 
            +
            have had a change in deprecation status.
         | 
    
        data/hydra.gemspec
    CHANGED
    
    | @@ -25,7 +25,7 @@ Gem::Specification.new do |gem| | |
| 25 25 |  | 
| 26 26 | 
             
              gem.add_dependency 'hydra-head', '6.4.0.rc2'
         | 
| 27 27 | 
             
              gem.add_dependency 'jettywrapper', '~> 1.4.1'
         | 
| 28 | 
            -
              gem.add_dependency 'active-fedora', '6.6.0. | 
| 28 | 
            +
              gem.add_dependency 'active-fedora', '6.6.0.rc2'
         | 
| 29 29 | 
             
              gem.add_dependency 'rails', '>= 3.2.13', '< 5.0'
         | 
| 30 30 | 
             
              gem.add_dependency 'om', '~> 3.0.1'
         | 
| 31 31 | 
             
              gem.add_dependency 'solrizer', '~> 3.1.0'
         | 
    
        data/lib/hydra/version.rb
    CHANGED
    
    
| @@ -6,37 +6,103 @@ | |
| 6 6 | 
             
            # Then we should provide a list of files with a change in Deprecation
         | 
| 7 7 | 
             
            # And provide some means for a huamn to review those changes
         | 
| 8 8 | 
             
            require 'open3'
         | 
| 9 | 
            +
            require 'fileutils'
         | 
| 9 10 | 
             
            include Open3
         | 
| 10 11 |  | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
               | 
| 19 | 
            -
               | 
| 20 | 
            -
                 | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 12 | 
            +
            PREVIOUS_HYDRA_VERSION = 'v6.0.0'
         | 
| 13 | 
            +
            NEXT_HYDRA_VERSION = 'v6.1.0.rc1'
         | 
| 14 | 
            +
            DIFF_SUFFIX = 'diff'
         | 
| 15 | 
            +
            TEMP_DIRECTORY = File.expand_path("../../tmp/", __FILE__)
         | 
| 16 | 
            +
             | 
| 17 | 
            +
             | 
| 18 | 
            +
            class GemChange
         | 
| 19 | 
            +
              attr_reader :name, :previous_version, :next_version
         | 
| 20 | 
            +
              def initialize(name, previous_version, next_version)
         | 
| 21 | 
            +
                @name, @previous_version, @next_version = name, previous_version, next_version
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
              def filenames
         | 
| 25 | 
            +
                @filenames ||= begin
         | 
| 26 | 
            +
                  # Assuming that you have all of your git project hydra repos in the same parent directory
         | 
| 27 | 
            +
                  repository_directory = File.expand_path("../../../#{name}", __FILE__)
         | 
| 28 | 
            +
                  command = "cd #{repository_directory} && git log -G'Deprecation.warn' v#{previous_version}..v#{next_version} --stat | grep -e '| [0-9]' | cut -f 1,2 -d ' '"
         | 
| 29 | 
            +
                  stdin, stdout, stderr, wait_thr = popen3(command)
         | 
| 30 | 
            +
                  begin
         | 
| 31 | 
            +
                    out = stdout.read
         | 
| 32 | 
            +
                    err = stderr.read
         | 
| 33 | 
            +
                    exit_status = wait_thr.value
         | 
| 34 | 
            +
                    raise "Unable to execute command \"#{command}\"\n#{err}" unless exit_status.success?
         | 
| 35 | 
            +
                  ensure
         | 
| 36 | 
            +
                    stdin.close
         | 
| 37 | 
            +
                    stdout.close
         | 
| 38 | 
            +
                    stderr.close
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
                  if out.strip != ""
         | 
| 41 | 
            +
                    filenames = out.split("\n").collect(&:strip).uniq
         | 
| 42 | 
            +
                    filenames.each do |filename|
         | 
| 43 | 
            +
                      flat_filename = name + '-' + filename.gsub("/", '-')
         | 
| 44 | 
            +
                      `cd #{repository_directory} && git diff v#{previous_version}..v#{next_version} #{filename} > #{File.join(TEMP_DIRECTORY, flat_filename)}.#{DIFF_SUFFIX}`
         | 
| 45 | 
            +
                    end
         | 
| 46 | 
            +
                    filenames
         | 
| 47 | 
            +
                  else
         | 
| 48 | 
            +
                    []
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
                end
         | 
| 51 | 
            +
              end
         | 
| 52 | 
            +
            end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
            class Changes < Array
         | 
| 55 | 
            +
              attr_reader :previous_version, :next_version
         | 
| 56 | 
            +
              def initialize(previous_version, next_version)
         | 
| 57 | 
            +
                @previous_version, @next_version = previous_version, next_version
         | 
| 28 58 | 
             
              end
         | 
| 29 | 
            -
               | 
| 30 | 
            -
                 | 
| 31 | 
            -
                 | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
                 | 
| 36 | 
            -
                 | 
| 37 | 
            -
             | 
| 38 | 
            -
                  flat_filename = filename.gsub("/", '-')
         | 
| 39 | 
            -
                  `cd #{repository_directory} && git diff v#{version}.. #{filename} > #{File.expand_path("../../tmp/#{flat_filename}", __FILE__)}.patch`
         | 
| 59 | 
            +
              def print
         | 
| 60 | 
            +
                $stdout.puts "Deprecation changes for Hydra #{previous_version}..#{next_version}"
         | 
| 61 | 
            +
                each do |change|
         | 
| 62 | 
            +
                  $stdout.puts "\tFiles for #{change.name} v#{change.previous_version}..v#{change.next_version}"
         | 
| 63 | 
            +
                  $stdout.puts "\t\t" << change.filenames.join("\n\t\t")
         | 
| 64 | 
            +
                  $stdout.puts "\n"
         | 
| 65 | 
            +
                end
         | 
| 66 | 
            +
                if any?
         | 
| 67 | 
            +
                  $stdout.puts "See tmp/ dir for diff output and review"
         | 
| 40 68 | 
             
                end
         | 
| 41 69 | 
             
              end
         | 
| 42 70 | 
             
            end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
            changes = Changes.new(PREVIOUS_HYDRA_VERSION, NEXT_HYDRA_VERSION)
         | 
| 73 | 
            +
             | 
| 74 | 
            +
            previous_gemspec = File.new(File.expand_path("../../hydra-#{changes.previous_version}.gemspec", __FILE__), 'w+')
         | 
| 75 | 
            +
            next_gemspec = File.new(File.expand_path("../../hydra-#{changes.next_version}.gemspec", __FILE__), 'w+')
         | 
| 76 | 
            +
             | 
| 77 | 
            +
            begin
         | 
| 78 | 
            +
             | 
| 79 | 
            +
              system("rm #{File.join(TEMP_DIRECTORY, "*.#{DIFF_SUFFIX}")}")
         | 
| 80 | 
            +
             | 
| 81 | 
            +
              File.open(previous_gemspec.path, 'w+') do |f|
         | 
| 82 | 
            +
                f.write `git show #{changes.previous_version}:hydra.gemspec`
         | 
| 83 | 
            +
              end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
              File.open(next_gemspec.path, 'w+') do |f|
         | 
| 86 | 
            +
                f.write `git show #{changes.next_version}:hydra.gemspec`
         | 
| 87 | 
            +
              end
         | 
| 88 | 
            +
             | 
| 89 | 
            +
              next_spec = Gem::Specification.load(next_gemspec.path)
         | 
| 90 | 
            +
             | 
| 91 | 
            +
              previous_spec = Gem::Specification.load(previous_gemspec.path)
         | 
| 92 | 
            +
              previous_spec.runtime_dependencies.each do |previous_dep|
         | 
| 93 | 
            +
                # Skipping rails as we don't want to manage those deprecation dependencies
         | 
| 94 | 
            +
                next if previous_dep.name == 'rails'
         | 
| 95 | 
            +
                next_dep = next_spec.runtime_dependencies.detect { |d| d.name == previous_dep.name }
         | 
| 96 | 
            +
                gem_name = previous_dep.name
         | 
| 97 | 
            +
             | 
| 98 | 
            +
                previous_version = previous_dep.requirement.requirements.flatten.compact.detect { |r| r.is_a?(Gem::Version) }
         | 
| 99 | 
            +
                next_version = next_dep.requirement.requirements.flatten.compact.detect { |r| r.is_a?(Gem::Version) }
         | 
| 100 | 
            +
             | 
| 101 | 
            +
                changes << GemChange.new(gem_name, previous_version, next_version)
         | 
| 102 | 
            +
              end
         | 
| 103 | 
            +
            ensure
         | 
| 104 | 
            +
              File.unlink(previous_gemspec.path) if File.exist?(previous_gemspec.path)
         | 
| 105 | 
            +
              File.unlink(next_gemspec.path) if File.exist?(next_gemspec.path)
         | 
| 106 | 
            +
            end
         | 
| 107 | 
            +
             | 
| 108 | 
            +
            changes.print
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: hydra
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 6.1.0. | 
| 4 | 
            +
              version: 6.1.0.rc4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jeremy Friesen
         | 
| @@ -45,14 +45,14 @@ dependencies: | |
| 45 45 | 
             
                requirements:
         | 
| 46 46 | 
             
                - - '='
         | 
| 47 47 | 
             
                  - !ruby/object:Gem::Version
         | 
| 48 | 
            -
                    version: 6.6.0. | 
| 48 | 
            +
                    version: 6.6.0.rc2
         | 
| 49 49 | 
             
              type: :runtime
         | 
| 50 50 | 
             
              prerelease: false
         | 
| 51 51 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 52 52 | 
             
                requirements:
         | 
| 53 53 | 
             
                - - '='
         | 
| 54 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 55 | 
            -
                    version: 6.6.0. | 
| 55 | 
            +
                    version: 6.6.0.rc2
         | 
| 56 56 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 57 57 | 
             
              name: rails
         | 
| 58 58 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -233,8 +233,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 233 233 | 
             
                  version: 1.3.1
         | 
| 234 234 | 
             
            requirements: []
         | 
| 235 235 | 
             
            rubyforge_project: 
         | 
| 236 | 
            -
            rubygems_version: 2.0. | 
| 236 | 
            +
            rubygems_version: 2.0.5
         | 
| 237 237 | 
             
            signing_key: 
         | 
| 238 238 | 
             
            specification_version: 4
         | 
| 239 239 | 
             
            summary: Project Hydra Stack Dependencies
         | 
| 240 240 | 
             
            test_files: []
         | 
| 241 | 
            +
            has_rdoc: 
         |