Module: Buildr::Ipojo

Defined in:
lib/buildr/ipojo/core.rb,
lib/buildr/ipojo/config.rb,
lib/buildr/ipojo/version.rb,
lib/buildr/ipojo/project_extension.rb

Defined Under Namespace

Modules: ProjectExtension Classes: Config, Version

Class Method Summary collapse

Class Method Details

.annotation_artifactObject



13
14
15
# File 'lib/buildr/ipojo/core.rb', line 13

def annotation_artifact
  "org.apache.felix:org.apache.felix.ipojo.annotations:jar:#{self.ipojo_version}"
end

.ipojo_versionObject



5
6
7
# File 'lib/buildr/ipojo/core.rb', line 5

def ipojo_version
  @ipojo_version ||= '1.6.2'
end

.ipojo_version=(ipojo_version) ⇒ Object



9
10
11
# File 'lib/buildr/ipojo/core.rb', line 9

def ipojo_version=(ipojo_version)
  @ipojo_version = ipojo_version
end

.pojoize(project, input_filename, output_filename, metadata_filename) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/buildr/ipojo/core.rb', line 32

def pojoize(project, input_filename, output_filename, )
  trace("Enhancing #{input_filename} with ipojo metadata")
  cp = Buildr.artifacts(self.requires).each(&:invoke).map(&:to_s)
  cp += [File.expand_path(File.dirname(__FILE__) + '/ipojo_cli.jar')]
  args =
    [
      input_filename,
      output_filename,
      ,
      Buildr.application.options.trace ? "true" : "false",
      {:classpath => cp}
    ]
  Java::Commands.java 'buildr.ipojo.cli.Main', *(args)
end

.remote_repositoryObject

Repositories containing the requirements



28
29
30
# File 'lib/buildr/ipojo/core.rb', line 28

def remote_repository
  'https://repository.apache.org/content/repositories/releases'
end

.requiresObject

The specs for requirements



18
19
20
21
22
23
24
25
# File 'lib/buildr/ipojo/core.rb', line 18

def requires
  [
    self.annotation_artifact,
    "org.apache.felix:org.apache.felix.ipojo.metadata:jar:1.4.0",
    "org.apache.felix:org.apache.felix.ipojo.manipulator:jar:#{self.ipojo_version}",
    'asm:asm-all:jar:3.0'
  ]
end