-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtaski.gemspec
More file actions
39 lines (32 loc) 路 1.95 KB
/
Copy pathtaski.gemspec
File metadata and controls
39 lines (32 loc) 路 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# frozen_string_literal: true
require_relative "lib/taski/version"
Gem::Specification.new do |spec|
spec.name = "taski"
spec.version = Taski::VERSION
spec.authors = ["ahogappa"]
spec.email = ["ahogappa@gmail.com"]
spec.summary = "A simple yet powerful Ruby task runner with static dependency resolution (in development)."
spec.description = "Taski is a Ruby-based task runner. It lets you define small, composable tasks along with the outputs they depend on. Taski statically resolves dependencies (via Prism AST analysis) and executes tasks in the correct topological order, running independent tasks in parallel using a Fiber-based pull model. It also supports reverse execution, useful for cleaning up temporary files after a build. Circular dependencies are detected before execution and raise CircularDependencyError."
spec.homepage = "https://github.com/ahogappa/taski"
spec.required_ruby_version = ">= 3.2.0"
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = "https://github.com/ahogappa/taski"
spec.metadata["changelog_uri"] = "https://github.com/ahogappa/taski/blob/master/CHANGELOG.md"
# Specify which files should be added to the gem when it is released.
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
gemspec = File.basename(__FILE__)
spec.files = IO.popen(%w[git ls-files -z], chdir: __dir__, err: IO::NULL) do |ls|
ls.readlines("\x0", chomp: true).reject do |f|
(f == gemspec) ||
f.start_with?(*%w[bin/ test/ spec/ features/ .git appveyor Gemfile])
end
end
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
# Uncomment to register a new dependency of your gem
spec.add_dependency "prism", "~> 1.4"
spec.add_dependency "tsort"
# For more information and examples about making a new gem, check out our
# guide at: https://bundler.io/guides/creating_gem.html
end