dyci 0.1.1 → 0.2.0

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.
data/README.md CHANGED
@@ -1,20 +1,10 @@
1
- # Dyci
1
+ # DyCI
2
2
 
3
3
  This gem helps you to install [DyCI](http://dyci.github.com/) on your computer.
4
4
 
5
5
  ## Installation
6
6
 
7
- Add this line to your application's Gemfile:
8
-
9
- gem 'dyci'
10
-
11
- And then execute:
12
-
13
- $ bundle
14
-
15
- Or install it yourself as:
16
-
17
- $ gem install dyci
7
+ $ sudo gem install dyci
18
8
 
19
9
  ## Usage
20
10
 
@@ -22,9 +12,9 @@ Or install it yourself as:
22
12
 
23
13
  ### Parameters
24
14
 
25
- `as_proxy` : replace Xcode's `clang` with fake script.
26
- `as_plugin` : add new compiler to Xcode.
27
- `app_code` : install AppCode DyCI plugin.
15
+ as_proxy : replace Xcode's clang with fake script.
16
+ as_plugin : add new compiler to Xcode.
17
+ app_code : install AppCode DyCI plugin.
28
18
 
29
19
  ## Contributing
30
20
 
data/lib/dyci.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'dyci/version'
2
2
  require 'dyci/commands/install_command'
3
+ require 'dyci/commands/uninstall_command'
3
4
 
4
5
  module DyCI
5
6
  class Runner
@@ -12,6 +13,8 @@ module DyCI
12
13
  case arg
13
14
  when 'install'
14
15
  InstallCommand
16
+ when 'uninstall'
17
+ UninstallCommand
15
18
  else
16
19
  usage
17
20
  exit 0
@@ -46,14 +46,16 @@ Available parameters:
46
46
 
47
47
  def install_app_code
48
48
  app_code_path = "#{File.expand_path '~'}/Library/Preferences/appCode10"
49
- if File.exists?(app_code_path) && File.directory?(app_code_path)
49
+ unless File.exists?(app_code_path) && File.directory?(app_code_path)
50
50
  puts "AppCode preferences was not found at path '#{app_code_path}'"
51
51
  return
52
52
  end
53
53
  app_code_plugin_path = "#{app_code_path}/tools/"
54
54
  FileUtils.mkdir_p app_code_plugin_path
55
- app_code_plugin = "#{self.root_path}/pligins/AppCode/DyCIPlugin.xml"
55
+ app_code_plugin = "#{self.root_path}/lib/plugins/AppCode/DyCIPlugin.xml"
56
+ print "Installing AppCode plugin. "
56
57
  FileUtils.cp app_code_plugin, app_code_plugin_path
58
+ puts "Done."
57
59
  end
58
60
 
59
61
  def backup_clang
@@ -0,0 +1,49 @@
1
+ module DyCI
2
+ class UninstallCommand
3
+ def self.run args
4
+ uninstall_appcode_plugin
5
+ uninstall_xcode_plugin "DyCIFakeClang"
6
+ uninstall_xcode_plugin "DyCIHelper"
7
+ restore_clang
8
+ end
9
+
10
+ def self.restore_clang
11
+ developer_path = %x[ xcode-select -print-path ].chomp
12
+ clang_path = "#{developer_path}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
13
+ clang_backup_path = "#{clang_path}.backup"
14
+ if File.exists? clang_backup_path
15
+ print "Restore clang."
16
+ %x[ sudo mv #{clang_backup_path} #{clang_path} ]
17
+ puts "Done."
18
+ end
19
+ end
20
+
21
+ def self.uninstall_appcode_plugin
22
+ app_code_path = "#{File.expand_path '~'}/Library/Preferences/appCode10"
23
+ app_code_plugin_path = "#{app_code_path}/tools/DyCIPlugin.xml"
24
+ if File.exists? app_code_plugin_path
25
+ print "Removing AppCode plugin. "
26
+ FileUtils.remove_file app_code_plugin_path
27
+ puts "Done."
28
+ end
29
+ end
30
+
31
+ def self.uninstall_xcode_plugin plugin_name
32
+ plugin_path = "#{plugins_dir}/#{plugin_name}.xcplugin"
33
+ if File.exists? plugin_path
34
+ print "Removing #{plugin_name}. "
35
+ FileUtils.rm_rf plugin_path
36
+ puts "Done."
37
+ end
38
+ end
39
+
40
+ def self.plugins_dir
41
+ user_dir = File.expand_path("~")
42
+ plugins_dir = "#{user_dir}/Library/Application Support/Developer/Shared/Xcode/Plug-ins"
43
+ FileUtils.mkdir_p plugins_dir
44
+ plugins_dir
45
+ end
46
+
47
+ end
48
+ end
49
+
data/lib/dyci/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module DyCI
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,40 +1,47 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dyci
3
- version: !ruby/object:Gem::Version
4
- version: 0.1.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Alex Denisov
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-11-13 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2012-11-18 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: dyci-compiler
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '0.1'
22
- type: :runtime
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
25
24
  none: false
26
- requirements:
25
+ requirements:
27
26
  - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '0.1'
27
+ - !ruby/object:Gem::Version
28
+ hash: 9
29
+ segments:
30
+ - 0
31
+ - 1
32
+ version: "0.1"
33
+ type: :runtime
34
+ version_requirements: *id001
30
35
  description: Installation helper for DyCI
31
- email:
36
+ email:
32
37
  - 1101.debian@gmail.com
33
- executables:
38
+ executables:
34
39
  - dyci
35
40
  extensions: []
41
+
36
42
  extra_rdoc_files: []
37
- files:
43
+
44
+ files:
38
45
  - .gitignore
39
46
  - .rvmrc
40
47
  - Gemfile
@@ -45,7 +52,7 @@ files:
45
52
  - dyci.gemspec
46
53
  - lib/dyci.rb
47
54
  - lib/dyci/commands/install_command.rb
48
- - lib/dyci/commands/setup_command.rb
55
+ - lib/dyci/commands/uninstall_command.rb
49
56
  - lib/dyci/version.rb
50
57
  - lib/plugins/.DS_Store
51
58
  - lib/plugins/AppCode/DyCIPlugin.xml
@@ -55,26 +62,36 @@ files:
55
62
  - lib/plugins/DyCIHelper.xcplugin/Contents/MacOS/SFDCIHelper
56
63
  homepage: https://github.com/DyCI/dyci-installer-rb
57
64
  licenses: []
65
+
58
66
  post_install_message:
59
67
  rdoc_options: []
60
- require_paths:
68
+
69
+ require_paths:
61
70
  - lib
62
- required_ruby_version: !ruby/object:Gem::Requirement
71
+ required_ruby_version: !ruby/object:Gem::Requirement
63
72
  none: false
64
- requirements:
65
- - - ! '>='
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
69
81
  none: false
70
- requirements:
71
- - - ! '>='
72
- - !ruby/object:Gem::Version
73
- version: '0'
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ hash: 3
86
+ segments:
87
+ - 0
88
+ version: "0"
74
89
  requirements: []
90
+
75
91
  rubyforge_project:
76
92
  rubygems_version: 1.8.24
77
93
  signing_key:
78
94
  specification_version: 3
79
95
  summary: This tool helps you to install DyCI on your computer
80
96
  test_files: []
97
+
@@ -1,13 +0,0 @@
1
- module DyCI
2
- class SetupCommand
3
- def self.run args
4
- command = SetupCommand.new args
5
- end
6
-
7
- def initialize args = nil
8
-
9
- end
10
-
11
- end
12
- end
13
-