Add rake/tasks/rubocop.rake

This commit is contained in:
0x1eef 2024-03-13 09:15:47 -03:00
parent b28a723d19
commit 1de76126f2
17 changed files with 218 additions and 44 deletions

37
.rubocop.yml Normal file
View file

@ -0,0 +1,37 @@
##
# Plugins
require:
- standard
##
# Defaults: standard-rb
inherit_gem:
standard: config/base.yml
##
# All cops
AllCops:
TargetRubyVersion: 3.2
Include:
- lib/*.rb
- lib/**/*.rb
- libexec/*
- libexec/*/**
- bin/*
- test/*
##
# Enabled
Style/FrozenStringLiteralComment:
Enabled: true
##
# Disabled
Layout/ArgumentAlignment:
Enabled: false
Layout/MultilineMethodCallIndentation:
Enabled: false
Layout/EmptyLineBetweenDefs:
Enabled: false
Style/TrivialAccessors:
Enabled: false

View file

@ -1,37 +1,5 @@
require "bundler/setup"
require_relative "rakelib/builders"
load "twenty-client/tasks/nanoc.rake"
namespace :gem do
version = File.binread(File.join(Dir.getwd, "VERSION")).chomp
desc "Build gemspec"
task :gemspec, [:version] do |t, args|
GemSpec.call(args.version || version)
end
desc "Copy files to stage directory"
task :copy, [:version] => [:gemspec] do |t, args|
Copy.call(args.version || version)
end
desc "Build gems"
task :build, [:version] => [:set_env, "nanoc:clean", "nanoc:build", :copy] do |t, args|
Build.call(args.version || version)
end
desc "Deploy gems"
task :deploy, [:version] => [:build] do |t, args|
Deploy.call(args.version || version)
end
task :set_env, [:version] => [:set_version] do |t,args|
ENV["buildenv"] ||= "production"
end
task :set_version, [:version] do |t,args|
next unless args.version
File.binwrite File.join(Dir.getwd, "VERSION"),
"#{args.version}\n"
end
end
load "rake/tasks/gem.rake"
load "rake/tasks/rubocop.rake"

37
rake/tasks/gem.rake Normal file
View file

@ -0,0 +1,37 @@
#!/usr/bin/env ruby
namespace :gem do
require_relative "../lib/builders"
root = File.realpath File.join(__dir__, "..", "..")
version = File.binread(File.join(root, "VERSION")).chomp
desc "Build gemspec"
task :gemspec, [:version] do |t, args|
GemSpec.call(args.version || version)
end
desc "Copy files to stage directory"
task :copy, [:version] => [:gemspec] do |t, args|
Copy.call(args.version || version)
end
desc "Build gems"
task :build, [:version] => [:set_env, "nanoc:clean", "nanoc:build", :copy] do |t, args|
Build.call(args.version || version)
end
desc "Deploy gems"
task :deploy, [:version] => [:build] do |t, args|
Deploy.call(args.version || version)
end
task :set_env, [:version] => [:set_version] do |t,args|
ENV["buildenv"] ||= "production"
end
task :set_version, [:version] do |t,args|
next unless args.version
File.binwrite File.join(root, "VERSION"),
"#{args.version}\n"
end
end

32
rake/tasks/rubocop.rake Normal file
View file

@ -0,0 +1,32 @@
#!/usr/bin/env ruby
namespace :rubocop do
root = File.realpath File.join(__dir__, "..", "..")
gems = [
File.join(root, "twenty-cli"),
File.join(root, "twenty-server"),
File.join(root, "twenty-client")
]
desc "Copy '.rubocop.yml' into place"
task :copy do
gems.each do
dest = File.join(_1, ".rubocop.yml")
cp File.join(root, ".rubocop.yml"), dest
warn = "##\n" \
"# DON'T EDIT THIS FILE DIRECTLY.\n" \
"# Edit '.rubocop.yml' at the root of the project instead.\n" \
"##\n\n"
File.write dest, [warn, *File.read(dest).each_line].join
end
end
desc "Apply rubocop rules"
task :apply do
gems.each do
Dir.chdir(_1) do
Bundler.with_unbundled_env { sh "bundle exec rubocop -A" }
end
end
end
end

View file

@ -1,3 +1,8 @@
##
# DON'T EDIT THIS FILE DIRECTLY.
# Edit '.rubocop.yml' at the root of the project instead.
##
##
# Plugins
require:
@ -16,9 +21,9 @@ AllCops:
- lib/*.rb
- lib/**/*.rb
- libexec/*
- libexec/twenty/*
- libexec/*/**
- bin/*
- test/*_test.rb
- test/*
##
# Enabled

View file

@ -22,5 +22,5 @@ Gem::Specification.new do |gem|
gem.add_development_dependency "test-unit", "~> 3.5.7"
gem.add_development_dependency "yard", "~> 0.9"
gem.add_development_dependency "redcarpet", "~> 3.5"
gem.add_development_dependency "standard", "~> 1.13"
gem.add_development_dependency "standard", "~> 1.35"
end

View file

@ -22,5 +22,5 @@ Gem::Specification.new do |gem|
gem.add_development_dependency "test-unit", "~> 3.5.7"
gem.add_development_dependency "yard", "~> 0.9"
gem.add_development_dependency "redcarpet", "~> 3.5"
gem.add_development_dependency "standard", "~> 1.13"
gem.add_development_dependency "standard", "~> 1.35"
end

View file

@ -0,0 +1,42 @@
##
# DON'T EDIT THIS FILE DIRECTLY.
# Edit '.rubocop.yml' at the root of the project instead.
##
##
# Plugins
require:
- standard
##
# Defaults: standard-rb
inherit_gem:
standard: config/base.yml
##
# All cops
AllCops:
TargetRubyVersion: 3.2
Include:
- lib/*.rb
- lib/**/*.rb
- libexec/*
- libexec/*/**
- bin/*
- test/*
##
# Enabled
Style/FrozenStringLiteralComment:
Enabled: true
##
# Disabled
Layout/ArgumentAlignment:
Enabled: false
Layout/MultilineMethodCallIndentation:
Enabled: false
Layout/EmptyLineBetweenDefs:
Enabled: false
Style/TrivialAccessors:
Enabled: false

View file

@ -8,6 +8,7 @@ GEM
specs:
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
colored (1.2)
concurrent-ruby (1.2.3)
cri (2.15.11)
@ -18,7 +19,10 @@ GEM
immutable-ruby (0.1.0)
concurrent-ruby (~> 1.1)
sorted_set (~> 1.0)
json (2.7.1)
json_schema (0.21.0)
language_server-protocol (3.17.0.3)
lint_roller (1.1.0)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
@ -59,16 +63,40 @@ GEM
nanoc-webpack.rb (0.5.6)
ryo.rb (~> 0.4)
parallel (1.24.0)
parser (3.3.0.5)
ast (~> 2.4.1)
racc
pastel (0.8.0)
tty-color (~> 0.5)
psych (5.1.2)
stringio
public_suffix (5.0.4)
racc (1.7.3)
rainbow (3.1.1)
rainpress (1.0.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rbtree (0.4.6)
regexp_parser (2.9.0)
rexml (3.2.6)
rubocop (1.62.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.31.2)
parser (>= 3.3.0.4)
rubocop-performance (1.20.2)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
ruby-progressbar (1.13.0)
ryo.rb (0.4.7)
sass (3.7.4)
sass-listen (~> 4.0.0)
@ -80,12 +108,25 @@ GEM
sorted_set (1.0.3)
rbtree
set (~> 1.0)
standard (1.35.1)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.0)
rubocop (~> 1.62.0)
standard-custom (~> 1.0.0)
standard-performance (~> 1.3)
standard-custom (1.0.2)
lint_roller (~> 1.0)
rubocop (~> 1.50)
standard-performance (1.3.1)
lint_roller (~> 1.1)
rubocop-performance (~> 1.20.2)
stringio (3.1.0)
tty-color (0.6.0)
tty-command (0.10.1)
pastel (~> 0.8)
tty-platform (0.3.0)
tty-which (0.5.0)
unicode-display_width (2.5.0)
zeitwerk (2.6.13)
PLATFORMS
@ -99,6 +140,7 @@ DEPENDENCIES
nanoc-webpack.rb (~> 0.5)
rainpress (~> 1.0)
sass (~> 3.7)
standard (~> 1.35)
twenty-client!
BUNDLED WITH

View file

@ -1,4 +1,6 @@
#!/usr/bin/env ruby
# frozen_string_literal: true
require "nanoc-webpack"
buildenv = ENV["buildenv"] || "development"
@ -27,4 +29,4 @@ require_rules "nanoc/rules/projects"
require_rules "nanoc/rules/tasks"
compile("/**/*") { write(nil) }
layout '/**/*', :erb
layout "/**/*", :erb

View file

@ -19,4 +19,5 @@ Gem::Specification.new do |gem|
gem.add_development_dependency "rainpress", "~> 1.0"
gem.add_development_dependency "nanoc-webpack.rb", "~> 0.5"
gem.add_development_dependency "listen", "~> 3.8"
gem.add_development_dependency "standard", "~> 1.35"
end

View file

@ -19,4 +19,5 @@ Gem::Specification.new do |gem|
gem.add_development_dependency "rainpress", "~> 1.0"
gem.add_development_dependency "nanoc-webpack.rb", "~> 0.5"
gem.add_development_dependency "listen", "~> 3.8"
gem.add_development_dependency "standard", "~> 1.35"
end

View file

@ -1,3 +1,8 @@
##
# DON'T EDIT THIS FILE DIRECTLY.
# Edit '.rubocop.yml' at the root of the project instead.
##
##
# Plugins
require:
@ -16,9 +21,9 @@ AllCops:
- lib/*.rb
- lib/**/*.rb
- libexec/*
- libexec/twenty/*
- libexec/*/**
- bin/*
- test/*_test.rb
- test/*
##
# Enabled

View file

@ -1,3 +1,5 @@
# frozen_string_literal: true
module Twenty::Path
##
# @return [String]

View file

@ -20,5 +20,5 @@ Gem::Specification.new do |gem|
gem.add_runtime_dependency "webrick", "~> 1.8"
gem.add_runtime_dependency "graphql", "~> 2.2"
gem.add_development_dependency "test-unit", "~> 3.5.7"
gem.add_development_dependency "standard", "~> 1.13"
gem.add_development_dependency "standard", "~> 1.35"
end

View file

@ -20,5 +20,5 @@ Gem::Specification.new do |gem|
gem.add_runtime_dependency "webrick", "~> 1.8"
gem.add_runtime_dependency "graphql", "~> 2.2"
gem.add_development_dependency "test-unit", "~> 3.5.7"
gem.add_development_dependency "standard", "~> 1.13"
gem.add_development_dependency "standard", "~> 1.35"
end