pkgforge 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67dc016e53b3556308397f93194e95f179f0ed8f
4
- data.tar.gz: 851949abac8aa1936ca20ce45752e70452a2754b
3
+ metadata.gz: ad08a0c9917d1103ab0bd1979adf503ba8392f24
4
+ data.tar.gz: e0fd57232afdc1db7602a64859563c8950dd0dc6
5
5
  SHA512:
6
- metadata.gz: 7c4c56b5d33914a22e1b672bfbef3ee6164719fd908ec969961ac7809e93188a75cace094bb29282c9c0981028b62e736b5a5c50af2adb2f32530761fb0e847d
7
- data.tar.gz: a927c71b2ba703d469fb5a7419e35576e2b0483302f403885c79035a238a50e845e15fd630a85f8cfe11998a4c13e09deaae0bb1fcfcb1478df754a53f0f91af
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
@@ -36,8 +36,5 @@ module PkgForge
36
36
 
37
37
  class Test < PkgForge::Base
38
38
  end
39
-
40
- class Version < PkgForge::Base
41
- end
42
39
  end
43
40
  end
@@ -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 => nil
16
- def make_tarball!
17
- Dir.chdir(tmpdir(:release)) do
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', '.targit',
21
+ '--authfile', '.github',
36
22
  '--create',
37
23
  '--name', "#{name}.tar.gz",
38
- "#{org}/#{name}", full_version, tmpfile(:tarball)
24
+ "#{org}/#{name}", version, tmpfile(:tarball)
39
25
  ]
40
26
  nil
41
27
  end
@@ -1,5 +1,5 @@
1
1
  ##
2
2
  # Declare version number
3
3
  module PkgForge
4
- VERSION = '0.4.0'.freeze
4
+ VERSION = '0.4.1'.freeze
5
5
  end
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.0
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