Sha256: 3a8c25d53558a75d4af370732b0f95ae86c8c9d3df2c9f1310888c1ee1d2dc9b

Contents?: true

Size: 1.9 KB

Versions: 2

Compression:

Stored size: 1.9 KB

Contents

# frozen_string_literal: true

# Licensed to the Software Freedom Conservancy (SFC) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The SFC licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

require 'date'

module Selenium
  module WebDriver
    module Support

      #
      # Updates version in `version.rb` file with nightly suffix:
      #   - VERSION = '4.6.1'
      #   + VERSION = '4.6.1.nightly.20221126'
      #
      # @api private
      #

      class NightlyVersionGenerator

        REGEXP = /VERSION = ['"]([\d.]+)['"]/.freeze

        def self.call(version_file, version_suffix)
          version_suffix ||= Date.today.strftime('%Y%m%d')
          version_file_contents = File.read(version_file)
          version_file_contents.gsub!(REGEXP) do
            old_version = Regexp.last_match(1)
            new_version = [old_version, 'nightly', version_suffix].join('.')
            puts("#{old_version} -> #{new_version}")

            "VERSION = '#{new_version}'"
          end

          File.write(version_file, version_file_contents)
        end

      end # NightlyVersionGenerator
    end # Support
  end # WebDriver
end # Selenium

if __FILE__ == $PROGRAM_NAME
  version_file, version_suffix = *ARGV
  Selenium::WebDriver::Support::NightlyVersionGenerator.call(version_file, version_suffix)
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
selenium-webdriver-4.7.1 lib/selenium/webdriver/support/nightly_version_generator.rb
selenium-webdriver-4.7.0 lib/selenium/webdriver/support/nightly_version_generator.rb