Sha256: 6ae91a421abf0be942dcce4cd9ac21c307ae33aae03020c65800cb13ed243caf

Contents?: true

Size: 1.15 KB

Versions: 12

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module GoNative
  module Commands
    module Android
      class  Publish < Base
        desc 'Used to update one of the android internal dependencies'

        def call
          assert_build_file_exists!
          create_and_push_tag!
        end

        def assert_build_file_exists!
          return unless gradle_files.empty?

          raise Error, "No build.gradle file exists"
        end

        private

        def gradle_files
          @gradle_files ||= `find . -maxdepth 2 -iname build.gradle`.split("\n")
        end

        def version
          return @version if @version

          gradle_files.each do |gradle_file|
            str = IO.read(gradle_file)
            @version = str.match(/versionName\s+\"(?<version>.+)\"/)[:version]

            break if @version
          end

          @version
        end

        def create_and_push_tag!
          unless system("git tag | grep #{version} > /dev/null")
            system "git add -A && git commit -m \"Releases #{version}.\""
            system "git tag #{version}"
            system "git push && git push --tags"
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
gonative-cli-1.3.8 lib/gonative/commands/android/publish.rb
gonative-cli-1.3.7 lib/gonative/commands/android/publish.rb
gonative-cli-1.3.6 lib/gonative/commands/android/publish.rb
gonative-cli-1.3.5 lib/gonative/commands/android/publish.rb
gonative-cli-1.3.4 lib/gonative/commands/android/publish.rb
gonative-cli-1.3.3 lib/gonative/commands/android/publish.rb
gonative-cli-1.3.2 lib/gonative/commands/android/publish.rb
gonative-cli-1.3.1 lib/gonative/commands/android/publish.rb
gonative-cli-1.3.0 lib/gonative/commands/android/publish.rb
gonative-cli-1.2.4 lib/gonative/commands/android/publish.rb
gonative-cli-1.2.3 lib/gonative/commands/android/publish.rb
gonative-cli-1.2.2 lib/gonative/commands/android/publish.rb