Obsolete
/
packaging
Archived
3
0
Fork 0
This repository has been archived on 2022-01-17. You can view files and clone it, but cannot push or open issues/pull-requests.
packaging/src/package.cr

45 lines
986 B
Crystal
Raw Normal View History

2019-07-02 03:50:50 +02:00
class Package::Package
2019-07-03 05:23:48 +02:00
getter recipe : Recipe
2019-07-04 23:18:54 +02:00
getter automatic : Bool
2019-07-02 03:50:50 +02:00
2019-07-04 23:18:54 +02:00
def initialize(@recipe, @automatic = false)
end
macro inherit(attribute)
@{{attribute.var.id}} : {{attribute.type.id}}?
def {{attribute.var.id}} : {{attribute.type.id}}
@{{attribute.var.id}} || @recipe.{{attribute.var.id}}
end
def {{attribute.var.id}}=(new_value : {{attribute.type.id}})
@{{attribute.var.id}} = new_value
end
end
inherit name : String
inherit version : String
inherit release : Int32
inherit url : String?
inherit description : String
inherit dependencies : Array(String)
inherit conflicts : Array(String)
inherit provides : Array(String)
2019-07-04 07:51:00 +02:00
# Reference for splits. Recipe#packages[0] should keep this set to `nil`.
property files : Array(String)?
2019-07-23 17:33:38 +02:00
property file_patterns : Array(Regex)?
2019-07-04 07:51:00 +02:00
def fake_root_directory
"#{@recipe.working_directory}/root-#{name}"
end
def to_s
"<Package: #{name}-#{version}>"
2019-07-02 03:50:50 +02:00
end
end