in lib/omnibus/publishers/artifactory_publisher.rb [111:168]
def build_for(packages)
metadata = packages.first.metadata
name = metadata[:name]
manifest = if version_manifest = metadata[:version_manifest]
Manifest.from_hash(version_manifest)
else
Manifest.new(
metadata[:version],
nil,
metadata[:license]
)
end
log.info(log_key) { "Saving build info for #{name}, Build ##{manifest.build_version}" }
Artifactory::Resource::Build.new(
client: client,
name: name,
number: manifest.build_version,
vcs_revision: manifest.build_git_revision,
build_agent: {
name: "omnibus",
version: Omnibus::VERSION,
},
modules: [
{
id: [
Config.artifactory_base_path.tr("/", "."),
name,
manifest.build_version,
].join(":"),
artifacts: packages.map do |package|
[
{
type: File.extname(package.path).split(".").last,
sha1: package.metadata[:sha1],
md5: package.metadata[:md5],
name: package.metadata[:basename],
},
{
type: File.extname(package.metadata.path).split(".").last,
sha1: digest(package.metadata.path, :sha1),
md5: digest(package.metadata.path, :md5),
name: File.basename(package.metadata.path),
},
]
end.flatten,
},
]
)
end