Sha256: a332e4bef97434170147fd32034328a97fca142c890c9e9ec629256678a6798b

Contents?: true

Size: 1.96 KB

Versions: 202

Compression:

Stored size: 1.96 KB

Contents

module Fastlane
  module Actions
    class NumberOfCommitsAction < Action
      def self.is_git?
        Actions.sh 'git rev-parse HEAD'
        return true
      rescue
        return false
      end

      def self.run(params)
        if is_git?
          if params[:all]
            command = 'git rev-list --all --count'
          else
            command = 'git rev-list HEAD --count'
          end
        else
          UI.user_error!("Not in a git repository.")
        end
        return Actions.sh(command).strip.to_i
      end

      #####################################################
      # @!group Documentation
      #####################################################

      def self.description
        "Return the number of commits in current git branch"
      end

      def self.return_value
        "The total number of all commits in current git branch"
      end

      def self.available_options
        [
          FastlaneCore::ConfigItem.new(key: :all,
                                       env_name: "FL_NUMBER_OF_COMMITS_ALL",
                                       optional: true,
                                       is_string: false,
                                       description: "Returns number of all commits instead of current branch")
        ]
      end

      def self.details
        "You can use this action to get the number of commits of this branch. This is useful if you want to set the build number to the number of commits. See `fastlane actions number_of_commits` for more details"
      end

      def self.authors
        ["onevcat", "samuelbeek"]
      end

      def self.is_supported?(platform)
        true
      end

      def self.example_code
        [
          'increment_build_number(build_number: number_of_commits)',
          'build_number = number_of_commits(all: true)
          increment_build_number(build_number: number_of_commits)'
        ]
      end

      def self.category
        :source_control
      end
    end
  end
end

Version data entries

202 entries across 202 versions & 1 rubygems

Version Path
fastlane-2.69.0.beta.20171212010004 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171211010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171210010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171209010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171208010004 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171207010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171206010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.68.2 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171205010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.68.1 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171204010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171203010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171202010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.69.0.beta.20171201010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.68.0 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.68.0.beta.20171130010004 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.68.0.beta.20171129010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.67.0 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.67.0.beta.20171128010003 fastlane/lib/fastlane/actions/number_of_commits.rb
fastlane-2.67.0.beta.20171127010003 fastlane/lib/fastlane/actions/number_of_commits.rb