flexdot 2.0.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +16 -0
- data/.github/workflows/test.yml +15 -7
- data/CHANGELOG.md +47 -8
- data/Gemfile +0 -1
- data/README.md +16 -14
- data/lib/flexdot.rb +2 -2
- data/lib/flexdot/tasks.rb +1 -21
- data/lib/flexdot/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48d7de6cd3258b46931514ab34fa84153a7a76f63b425a081cb2f422142b40c4
|
4
|
+
data.tar.gz: e4f4e78e06806b7cc5e0b916c43d1079c4c1bf05c1777996d969e909c8ae4d0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3a96c01c6878c0643e88240f48d5f82273c58d320beca92573fba885fef38aab776743e1cbaaa8a3a2af6ab29b8a8b9898a34b1ba3853d601ac9ecba47efca5
|
7
|
+
data.tar.gz: 2b2deae37d254ba1139553b679da60fa1186fa175adcc4cdfc760902fd666aadaab957533d47d2927584d16086ca10aa3c5c0bb5dacdee425f581fba43f78808
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
3
|
+
# Please see the documentation for all configuration options:
|
4
|
+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
5
|
+
|
6
|
+
version: 2
|
7
|
+
updates:
|
8
|
+
- package-ecosystem: "bundler"
|
9
|
+
directory: "/"
|
10
|
+
schedule:
|
11
|
+
interval: "daily"
|
12
|
+
|
13
|
+
- package-ecosystem: "github-actions"
|
14
|
+
directory: "/"
|
15
|
+
schedule:
|
16
|
+
interval: "daily"
|
data/.github/workflows/test.yml
CHANGED
@@ -7,20 +7,28 @@ jobs:
|
|
7
7
|
test:
|
8
8
|
name: Test on ruby ${{ matrix.ruby_version }}
|
9
9
|
runs-on: ubuntu-latest
|
10
|
+
# Run this build only on either pull request or push.
|
11
|
+
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
|
12
|
+
|
10
13
|
strategy:
|
11
14
|
matrix:
|
12
15
|
ruby_version:
|
13
|
-
- 2.5
|
14
|
-
- 2.6
|
15
|
-
- 2.7
|
16
|
+
- 2.5
|
17
|
+
- 2.6
|
18
|
+
- 2.7
|
19
|
+
- 3.0
|
16
20
|
steps:
|
17
|
-
- uses: actions/checkout@
|
21
|
+
- uses: actions/checkout@v2
|
22
|
+
|
18
23
|
- name: Set up Ruby ${{ matrix.ruby_version }}
|
19
|
-
uses:
|
24
|
+
uses: ruby/setup-ruby@v1
|
20
25
|
with:
|
21
26
|
ruby-version: ${{ matrix.ruby_version }}
|
22
|
-
|
27
|
+
|
28
|
+
- name: Install dependencies
|
23
29
|
run: |
|
24
30
|
gem install bundler
|
25
31
|
bundle install --jobs 4 --retry 3
|
26
|
-
|
32
|
+
|
33
|
+
- name: Run tests
|
34
|
+
run: bundle exec rake test
|
data/CHANGELOG.md
CHANGED
@@ -1,29 +1,68 @@
|
|
1
|
+
## 3.0.0
|
2
|
+
|
3
|
+
### Breaking Changes
|
4
|
+
|
5
|
+
Revert 'Add default_index option #2'. Please follow the instructions below to migrate:
|
6
|
+
|
7
|
+
First, modify your Rakefile as follows:
|
8
|
+
|
9
|
+
```diff
|
10
|
+
require 'flexdot'
|
11
|
+
|
12
|
+
Flexdot.setup(
|
13
|
+
+ home_dir: '..'
|
14
|
+
- home_dir: '..',
|
15
|
+
- default_index: 'macOS'
|
16
|
+
)
|
17
|
+
|
18
|
+
+ task default: 'install:macOS'
|
19
|
+
```
|
20
|
+
|
21
|
+
Then, update flexdot:
|
22
|
+
|
23
|
+
```
|
24
|
+
$ bundle update flexdot
|
25
|
+
```
|
26
|
+
|
27
|
+
Now you can run the following command to install the default index dotfiles:
|
28
|
+
|
29
|
+
```
|
30
|
+
$ rake
|
31
|
+
```
|
32
|
+
|
1
33
|
## 2.0.0
|
2
34
|
|
3
35
|
### Breaking Changes
|
4
36
|
|
5
|
-
|
37
|
+
- Change the syntax of configuration in the `Rakefile`
|
38
|
+
|
39
|
+
### Enchancements
|
40
|
+
|
41
|
+
- Add `default_index` option fixes #2
|
42
|
+
- Option renaming and simplification by default value
|
43
|
+
|
44
|
+
### Migrating from v1.0.x
|
45
|
+
|
46
|
+
First, you need to rewrite the `Rakefile` configuration to the v2.0.0 syntax.
|
6
47
|
|
7
48
|
```ruby
|
8
|
-
#
|
49
|
+
# v1.0.x
|
9
50
|
Flexdot.install_tasks(
|
10
51
|
target_dir: '/home/username',
|
11
52
|
base_dir: '.'
|
12
53
|
)
|
13
54
|
```
|
14
55
|
|
15
|
-
v2.0.0
|
16
|
-
|
17
56
|
```ruby
|
57
|
+
# v2.0.0
|
18
58
|
Flexdot.setup(
|
19
59
|
home_dir: '/home/username',
|
20
60
|
dotfiles_dir: '.'
|
21
61
|
)
|
22
62
|
```
|
23
63
|
|
24
|
-
|
64
|
+
Note that If the `dotfiles_dir` option is `'.'` (current directory) , you can omit it.
|
25
65
|
|
26
|
-
|
27
|
-
- Option renaming and simplification by default value
|
66
|
+
Then, update flexdot to v2.0.0 and you're done.
|
28
67
|
|
29
|
-
|
68
|
+
$ bundle update flexdot
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -47,17 +47,17 @@ Flexdot.setup(
|
|
47
47
|
# (optional)
|
48
48
|
# The dotfile directory path.
|
49
49
|
# Default '.'.
|
50
|
-
dotfiles_dir: '.'
|
51
|
-
|
52
|
-
# (optional)
|
53
|
-
# The `rake install` command will be available to install the dotfile for the specified index file.
|
54
|
-
# Default nil.
|
55
|
-
#
|
56
|
-
# Note that the `rake install` command is always available if you have a single index file.
|
57
|
-
default_index: 'name_of_an_index_file'
|
50
|
+
dotfiles_dir: '.'
|
58
51
|
)
|
59
52
|
```
|
60
53
|
|
54
|
+
It is recommended that you add the Rakefile to `gitignore`:
|
55
|
+
|
56
|
+
```
|
57
|
+
# .gitignore
|
58
|
+
Rakefile
|
59
|
+
```
|
60
|
+
|
61
61
|
Finally, run `rake -T` in the `$HOME/dotfiles` and make sure that the output is as follows:
|
62
62
|
|
63
63
|
$ rake -T
|
@@ -124,9 +124,12 @@ $HOME/dotfiles
|
|
124
124
|
require 'flexdot'
|
125
125
|
|
126
126
|
Flexdot.setup(
|
127
|
-
home_dir: '..'
|
128
|
-
default_index: 'macOS'
|
127
|
+
home_dir: '..'
|
129
128
|
)
|
129
|
+
|
130
|
+
# You can execute `install:macOS` when you run `rake` command
|
131
|
+
# with no arguments by defining it as follows:
|
132
|
+
task default: 'install:macOS'
|
130
133
|
```
|
131
134
|
|
132
135
|
### Available Commands
|
@@ -135,7 +138,6 @@ When you run the `rake -T` command in that directory structure, you should have
|
|
135
138
|
|
136
139
|
$ rake -T
|
137
140
|
rake clear_backups # Clear all backups
|
138
|
-
rake install # Install dotfiles for macOS
|
139
141
|
rake install:macOS # Install dotfiles for macOS
|
140
142
|
rake install:ubuntu # Install dotfiles for ubuntu
|
141
143
|
|
@@ -211,11 +213,11 @@ ubuntu:
|
|
211
213
|
stop.sh: .xkeysnail
|
212
214
|
```
|
213
215
|
|
214
|
-
### Installing dotfiles
|
216
|
+
### Installing dotfiles for macOS
|
215
217
|
|
216
|
-
$ rake
|
218
|
+
$ rake
|
217
219
|
|
218
|
-
Or
|
220
|
+
Or,
|
219
221
|
|
220
222
|
$ rake install:macOS
|
221
223
|
|
data/lib/flexdot.rb
CHANGED
@@ -4,7 +4,7 @@ require_relative 'flexdot/version'
|
|
4
4
|
require_relative 'flexdot/tasks'
|
5
5
|
|
6
6
|
module Flexdot
|
7
|
-
def self.setup(home_dir:, dotfiles_dir: '.'
|
8
|
-
Tasks.new(dotfiles_dir, home_dir
|
7
|
+
def self.setup(home_dir:, dotfiles_dir: '.')
|
8
|
+
Tasks.new(dotfiles_dir, home_dir).install
|
9
9
|
end
|
10
10
|
end
|
data/lib/flexdot/tasks.rb
CHANGED
@@ -10,8 +10,7 @@ module Flexdot
|
|
10
10
|
|
11
11
|
Index = Struct.new(:filename, :name, keyword_init: true)
|
12
12
|
|
13
|
-
def initialize(dotfiles_dir, home_dir
|
14
|
-
@default_index_name = default_index_name
|
13
|
+
def initialize(dotfiles_dir, home_dir)
|
15
14
|
@dotfiles_dir = Pathname.new(dotfiles_dir).expand_path
|
16
15
|
@home_dir = Pathname.new(home_dir).expand_path
|
17
16
|
end
|
@@ -35,31 +34,12 @@ module Flexdot
|
|
35
34
|
end
|
36
35
|
end
|
37
36
|
end
|
38
|
-
|
39
|
-
if default_index
|
40
|
-
desc "Install dotfiles for #{default_index.name}"
|
41
|
-
task :install do
|
42
|
-
Rake::Task["install:#{default_index.name}"].invoke
|
43
|
-
end
|
44
|
-
end
|
45
37
|
end
|
46
38
|
|
47
39
|
private
|
48
40
|
|
49
41
|
attr_reader :dotfiles_dir, :home_dir
|
50
42
|
|
51
|
-
def default_index
|
52
|
-
@default_index ||=
|
53
|
-
if @default_index_name
|
54
|
-
ifnone = -> { raise "#{@default_index_name} index is not found" }
|
55
|
-
indexes.find(ifnone) { |index| index.name == @default_index_name }
|
56
|
-
elsif indexes.size == 1
|
57
|
-
indexes.first
|
58
|
-
else
|
59
|
-
nil
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
43
|
def indexes
|
64
44
|
@indexes ||= Pathname.new(dotfiles_dir).glob('*.yml').map do |index_file|
|
65
45
|
Index.new(name: index_file.basename('.*').to_s, filename: index_file)
|
data/lib/flexdot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flexdot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katsuya Hidaka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Flexdot is a Flexible and Rake based dotfile manager
|
14
14
|
email:
|
@@ -18,6 +18,7 @@ extensions: []
|
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
20
|
- ".github/FUNDING.yml"
|
21
|
+
- ".github/dependabot.yml"
|
21
22
|
- ".github/workflows/test.yml"
|
22
23
|
- ".gitignore"
|
23
24
|
- CHANGELOG.md
|
@@ -53,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
54
|
- !ruby/object:Gem::Version
|
54
55
|
version: '0'
|
55
56
|
requirements: []
|
56
|
-
rubygems_version: 3.1.
|
57
|
+
rubygems_version: 3.1.4
|
57
58
|
signing_key:
|
58
59
|
specification_version: 4
|
59
60
|
summary: A Flexible and Rake based dotfile manager
|