Class: Fastlane::Actions::AndroidChangePackageIdentifierRevertAction

Inherits:
Action
  • Object
show all
Defined in:
lib/fastlane/plugin/android_change_package_identifier/actions/android_change_package_identifier_action.rb

Class Method Summary collapse

Class Method Details

.authorsObject



123
124
125
# File 'lib/fastlane/plugin/android_change_package_identifier/actions/android_change_package_identifier_action.rb', line 123

def self.authors
  ["MaximusMcCann"]
end

.available_optionsObject



135
136
137
138
139
140
141
142
143
144
# File 'lib/fastlane/plugin/android_change_package_identifier/actions/android_change_package_identifier_action.rb', line 135

def self.available_options
  [
    FastlaneCore::ConfigItem.new(key: :manifest,
                            env_name: "",
                         description: "Optional custom location for AndroidManifest.xml",
                            optional: false,
                                type: String,
                       default_value: "app/src/main/AndroidManifest.xml")
  ]
end

.descriptionObject



119
120
121
# File 'lib/fastlane/plugin/android_change_package_identifier/actions/android_change_package_identifier_action.rb', line 119

def self.description
  "Reverts the manifest's package identifier from ANDROID_CHANGE_PACKAGE_IDENTIFIER_ORIGINAL"
end

.detailsObject



131
132
133
# File 'lib/fastlane/plugin/android_change_package_identifier/actions/android_change_package_identifier_action.rb', line 131

def self.details
  "Reverts the manifest's package identifier from ANDROID_CHANGE_PACKAGE_IDENTIFIER_ORIGINAL"
end

.is_supported?(platform) ⇒ Boolean

Returns:

  • (Boolean)


146
147
148
# File 'lib/fastlane/plugin/android_change_package_identifier/actions/android_change_package_identifier_action.rb', line 146

def self.is_supported?(platform)
  platform == :android
end

.return_valueObject



127
128
129
# File 'lib/fastlane/plugin/android_change_package_identifier/actions/android_change_package_identifier_action.rb', line 127

def self.return_value
  # If your method provides a return value, you can describe here what it does
end

.run(params) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/fastlane/plugin/android_change_package_identifier/actions/android_change_package_identifier_action.rb', line 95

def self.run(params)
  require 'nokogiri'

  original = Actions.lane_context[SharedValues::ANDROID_CHANGE_PACKAGE_IDENTIFIER_ORIGINAL]

  if original.to_s.strip.length != 0
    manifest = params[:manifest]
  else
    UI.error("no string for ANDROID_CHANGE_PACKAGE_IDENTIFIER_ORIGINAL.  Have you run android_change_package_identifier?")
  end

  doc = File.open(manifest) { |f|
    @doc = Nokogiri::XML(f)

    @doc.css("manifest").each do |response_node|
      response_node["package"] = original
      UI.message("Reverting package identifier to: #{original}")
    end

    File.write(manifest, @doc.to_xml)
  }

end