Class: Mxrb::Compiler::ProjectJarArchive

Inherits:
Object
  • Object
show all
Defined in:
lib/mxrb/compiler/project_jar_archive.rb

Overview

Writes the deterministic OSGi project bundle around compiled Java classes.

Instance Method Summary collapse

Constructor Details

#initialize(mpr_path, project_root, deployment) ⇒ ProjectJarArchive

Returns a new instance of ProjectJarArchive.



11
12
13
14
15
# File 'lib/mxrb/compiler/project_jar_archive.rb', line 11

def initialize(mpr_path, project_root, deployment)
  @mpr_path = mpr_path
  @project_root = project_root
  @deployment = deployment
end

Instance Method Details

#write(output, classes) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/mxrb/compiler/project_jar_archive.rb', line 17

def write(output, classes)
  FileUtils.mkdir_p(File.dirname(output))
  Dir.mktmpdir('mxrb-project-jar-', File.dirname(output)) do |root|
    temporary = File.join(root, 'project.jar')
    create(temporary, classes)
    FileUtils.mv(temporary, output, force: true)
  end
end