class MotionGradle::Aidl
Public Class Methods
new(package, aidl_file_path)
click to toggle source
# File lib/motion_gradle/aidl.rb, line 3 def initialize(package, aidl_file_path) @package = package @aidl_file_path = File.expand_path(aidl_file_path) end
Public Instance Methods
create_lib()
click to toggle source
# File lib/motion_gradle/aidl.rb, line 8 def create_lib create_structure create_gradle_build_file create_manifest end
name()
click to toggle source
# File lib/motion_gradle/aidl.rb, line 14 def name @name ||= File.basename(@aidl_file_path, '.aidl').downcase end
path()
click to toggle source
# File lib/motion_gradle/aidl.rb, line 18 def path @path ||= File.join(Motion::Project::Gradle::GRADLE_ROOT, name) end
Protected Instance Methods
create_gradle_build_file()
click to toggle source
# File lib/motion_gradle/aidl.rb, line 30 def create_gradle_build_file template = MotionGradle::Template.new('aidl_build.gradle') template.destination = File.join(path, 'build.gradle') template.write({ last_build_tools_version: last_build_tools_version }) end
create_manifest()
click to toggle source
# File lib/motion_gradle/aidl.rb, line 24 def create_manifest template = MotionGradle::Template.new('android_manifest.xml') template.destination = File.join(path, 'src', 'main', 'AndroidManifest.xml') template.write({ package: @package }) end
create_structure()
click to toggle source
# File lib/motion_gradle/aidl.rb, line 36 def create_structure aidl_file_dir = File.join(path, 'src', 'main', 'aidl', *@package.split('.')) FileUtils.mkdir_p(aidl_file_dir) FileUtils.cp(@aidl_file_path, aidl_file_dir) end
last_build_tools_version()
click to toggle source
# File lib/motion_gradle/aidl.rb, line 42 def last_build_tools_version build_tools = File.join(ENV['RUBYMOTION_ANDROID_SDK'], 'build-tools') glob_pattern = File.join(build_tools, '*') builds_tools_directories = Dir.glob(glob_pattern).select do |file| File.directory?(file) end File.basename(builds_tools_directories.last) end