pkgforge 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pkgforge.rb +1 -1
- data/lib/pkgforge/base.rb +0 -3
- data/lib/pkgforge/components/package.rb +36 -0
- data/lib/pkgforge/components/upload.rb +5 -19
- data/lib/pkgforge/version.rb +1 -1
- metadata +2 -2
- data/lib/pkgforge/components/version.rb +0 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad08a0c9917d1103ab0bd1979adf503ba8392f24
|
4
|
+
data.tar.gz: e0fd57232afdc1db7602a64859563c8950dd0dc6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7e4c3dce6b32b08f65a0394bfe32de81e7396164ba9a8bfe14d82d7edffe3daa7a3836135e0ace8af4d9643bec15c501d7851c4174dca9c441084d6e4daaac4
|
7
|
+
data.tar.gz: e2a30bb5f9bea0d218eee30c9fd04dc3de21c831698915d22167afacd63f2c18d3021e1c35ac3ce0d5cf26f5c49c7b0e6c59269e8e14b8c8d14b7dce2d3f9341
|
data/lib/pkgforge.rb
CHANGED
@@ -8,12 +8,12 @@ require 'pkgforge/components/configure'
|
|
8
8
|
require 'pkgforge/components/deps'
|
9
9
|
require 'pkgforge/components/dirs'
|
10
10
|
require 'pkgforge/components/metadata'
|
11
|
+
require 'pkgforge/components/package'
|
11
12
|
require 'pkgforge/components/patch'
|
12
13
|
require 'pkgforge/components/run'
|
13
14
|
require 'pkgforge/components/source'
|
14
15
|
require 'pkgforge/components/test'
|
15
16
|
require 'pkgforge/components/upload'
|
16
|
-
require 'pkgforge/components/version'
|
17
17
|
|
18
18
|
##
|
19
19
|
# DSL engine for compiling Arch packages
|
data/lib/pkgforge/base.rb
CHANGED
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
module PkgForge
|
4
|
+
##
|
5
|
+
# Add upload methods to Forge
|
6
|
+
class Forge
|
7
|
+
Contract None => nil
|
8
|
+
def package!
|
9
|
+
add_license!
|
10
|
+
make_tarball!
|
11
|
+
copy_tarball!
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
Contract None => nil
|
17
|
+
def make_tarball!
|
18
|
+
Dir.chdir(tmpdir(:release)) do
|
19
|
+
run_local "tar -czvf #{tmpfile(:tarball)} *"
|
20
|
+
end
|
21
|
+
nil
|
22
|
+
end
|
23
|
+
|
24
|
+
Contract None => String
|
25
|
+
def git_hash
|
26
|
+
`git rev-parse --short HEAD`.rstrip
|
27
|
+
end
|
28
|
+
|
29
|
+
Contract None => nil
|
30
|
+
def copy_tarball!
|
31
|
+
FileUtils.mkdir_p 'pkg'
|
32
|
+
FileUtils.cp tmpfile(:tarball), "pkg/#{name}-#{git_hash}.tar.gz"
|
33
|
+
nil
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -4,38 +4,24 @@ module PkgForge
|
|
4
4
|
class Forge
|
5
5
|
Contract None => nil
|
6
6
|
def push!
|
7
|
-
add_license!
|
8
|
-
make_tarball!
|
9
|
-
update_repo!
|
10
7
|
upload_artifact!
|
11
8
|
end
|
12
9
|
|
13
10
|
private
|
14
11
|
|
15
|
-
Contract None =>
|
16
|
-
def
|
17
|
-
|
18
|
-
run_local "tar -czvf #{tmpfile(:tarball)} *"
|
19
|
-
end
|
20
|
-
nil
|
21
|
-
end
|
22
|
-
|
23
|
-
Contract None => nil
|
24
|
-
def update_repo!
|
25
|
-
run_local "git tag -f '#{full_version}'"
|
26
|
-
run_local 'git push --tags origin master'
|
27
|
-
sleep 2
|
28
|
-
nil
|
12
|
+
Contract None => String
|
13
|
+
def version
|
14
|
+
@version ||= `git describe --abbrev=0 --tags`.rstrip
|
29
15
|
end
|
30
16
|
|
31
17
|
Contract None => nil
|
32
18
|
def upload_artifact!
|
33
19
|
run_local [
|
34
20
|
'targit',
|
35
|
-
'--authfile', '.
|
21
|
+
'--authfile', '.github',
|
36
22
|
'--create',
|
37
23
|
'--name', "#{name}.tar.gz",
|
38
|
-
"#{org}/#{name}",
|
24
|
+
"#{org}/#{name}", version, tmpfile(:tarball)
|
39
25
|
]
|
40
26
|
nil
|
41
27
|
end
|
data/lib/pkgforge/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pkgforge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Les Aker
|
@@ -134,12 +134,12 @@ files:
|
|
134
134
|
- lib/pkgforge/components/deps.rb
|
135
135
|
- lib/pkgforge/components/dirs.rb
|
136
136
|
- lib/pkgforge/components/metadata.rb
|
137
|
+
- lib/pkgforge/components/package.rb
|
137
138
|
- lib/pkgforge/components/patch.rb
|
138
139
|
- lib/pkgforge/components/run.rb
|
139
140
|
- lib/pkgforge/components/source.rb
|
140
141
|
- lib/pkgforge/components/test.rb
|
141
142
|
- lib/pkgforge/components/upload.rb
|
142
|
-
- lib/pkgforge/components/version.rb
|
143
143
|
- lib/pkgforge/version.rb
|
144
144
|
- pkgforge.gemspec
|
145
145
|
- spec/pkgforge_spec.rb
|
@@ -1,52 +0,0 @@
|
|
1
|
-
module PkgForge
|
2
|
-
##
|
3
|
-
# Add version methods to Forge
|
4
|
-
class Forge
|
5
|
-
attr_writer :version_block
|
6
|
-
|
7
|
-
Contract None => Proc
|
8
|
-
def version_block
|
9
|
-
@version_block ||= proc { raise 'No version block provided' }
|
10
|
-
end
|
11
|
-
|
12
|
-
Contract None => String
|
13
|
-
def version
|
14
|
-
@version ||= Dir.chdir(tmpdir(:build)) do
|
15
|
-
PkgForge::DSL::Version.new(self).instance_eval(&version_block)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
Contract None => Num
|
20
|
-
def revision
|
21
|
-
@revision ||= `git describe --abbrev=0 --tags`.split('-').last.to_i + 1
|
22
|
-
end
|
23
|
-
|
24
|
-
Contract None => String
|
25
|
-
def full_version
|
26
|
-
"#{version}-#{revision}"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
module DSL
|
31
|
-
##
|
32
|
-
# Add version methods to Forge DSL
|
33
|
-
class Forge
|
34
|
-
Contract Func[None => Maybe[String]] => nil
|
35
|
-
def version(&block)
|
36
|
-
@forge.version_block = block
|
37
|
-
nil
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
##
|
42
|
-
# Add version methods to Version DSL
|
43
|
-
class Version
|
44
|
-
Contract Maybe[Regexp], Maybe[String] => String
|
45
|
-
def git_tag(regex = nil, replace = '\1')
|
46
|
-
tag = `git describe --tags`.rstrip
|
47
|
-
tag.gsub!(regex, replace) if regex
|
48
|
-
tag
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|