forcer 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94c1656e20d26d73a5c5c8db07e973905482fe6e
4
- data.tar.gz: acc02f4ee9798c79317800870e4a104578e05d71
3
+ metadata.gz: eb1fd96dfadc874bec262c32d376f0bbcf4cc4c7
4
+ data.tar.gz: eda105c28bb04c7d82419766e97d9ac77d9acc31
5
5
  SHA512:
6
- metadata.gz: 954aac62b125c0f0118d7337287b44d1aeefc5b5a78e397971e82823f415c5ed1818153a15086c4b537da93bc2b65384df4001df117671f87a1109c01abfeef2
7
- data.tar.gz: 4268010c989d39363cd3cc88fa468508d1c1bf44601a5cc501fb42db80133ca8b65cab71e560b89c5b3d684c2168f16983ea609a054cf007c27ec583988e9963
6
+ metadata.gz: 1690c8c58d314b9ab95c34ecd49cf7966ace3e3073443cf1817aed315c223c1dc1f1843977695e64d5f96ce96a3a115c5263e39d14b90510aecdc55a16f12ff3
7
+ data.tar.gz: 2335743d2ee3ead3cd41c255a2ac23acb92ddd726ab11ab18a3e7f08fe3a74da5c63688258ef94769b8c1480340a3c0b32e7277f9ec8ac3e6ef91281fb36d2ad
data/.idea/.rakeTasks CHANGED
@@ -4,4 +4,4 @@ You are allowed to:
4
4
  1. Remove rake task
5
5
  2. Add existing rake tasks
6
6
  To add existing rake tasks automatically delete this file and reload the project.
7
- --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build forcer-0.1.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install forcer-0.1.0.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install forcer-0.1.0.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.1.0 and build and push forcer-0.1.0.gem to Rubygems" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build forcer-0.4.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install forcer-0.4.0.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install forcer-0.4.0.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.4.0 and build and push forcer-0.4.0.gem to Rubygems" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
data/.travis.yml CHANGED
@@ -1,3 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.2.0
4
+
5
+ script: rspec spec
data/README.md CHANGED
@@ -1,16 +1,17 @@
1
1
  # Forcer
2
- forcer is a ruby gem designed to help force.com developers who utilize git and proper development process that includes:
2
+ forcer is a ruby command line application and gem designed to help force.com developers who utilize git and proper development process that includes:
3
3
 
4
4
  1. every developer should have a separate dev_org\dev_sandbox
5
5
  2. code reviews
6
6
  3. parallel development of multiple features by a single developer
7
7
 
8
+
8
9
  This project is inspired by metaforce. It turned out to be easier to start my own project after trying to understand how metaforce
9
10
  is written and attempting to contribute into it. So after days of reading metaforces code and trying to understand, how
10
11
  SOAP api calls are done to salesforce and how 'thor' is used to create command line app, I was ready to write my own tool.
11
12
  The idea is to make structure of forcer simpler than metaforce and let contributors understand code by reading smaller amount
12
- of files. I admit that my code is not perfect and far from professional ruby styles, so I will be glad if you (yes I mean you!)
13
- help me. But please lets keep this tool simple with only necessary commands and functionality.
13
+ of files. I admit that my code is not perfect and far from professional ruby styles, so I will be glad if you help me.
14
+ But please lets keep this tool simple with only necessary commands and functionality.
14
15
 
15
16
 
16
17
  ## Installation
@@ -30,32 +31,67 @@ Or install it yourself as:
30
31
  $ gem install forcer
31
32
 
32
33
  ## Usage
34
+ Currently the app is tested and being used only on Mac OS. I will do my best to make forcer available for Linux and Windows.
33
35
 
34
- Currently the app is tested and being used only on Mac OS. Sorry Linux/Windows users! But I will do my best to make
35
- forcer available for first Linux and then Windows. Linux is first because it is easier.
36
-
37
- call help to list all available operations for forcer:
36
+ Call help to list all available operations for forcer:
38
37
 
39
38
  $: forcer help
40
39
  deploy ...
41
40
  list ...
42
41
  ...
43
42
 
44
- to list options and flags available for each command call help for each operation separately:
43
+ To list options and flags available for each command call help for each operation separately:
45
44
 
46
- $: forcer deploy help
45
+ $: forcer help deploy
47
46
  --dest ...
48
47
  --checkOnly ...
49
48
  ...
50
49
 
50
+ To deploy your project (stored in local filesystem) to destination org first from terminal you need to change directory
51
+ to project folder that somewhere inside contains folder "src" with all metadata to deploy:
51
52
 
52
- Here is a sample command to start deployment of a project in current folder:
53
- $: forcer deploy --dest dest_alias_in_configuration_yml
53
+ $: cd ~/my_workspace/TestProject/
54
+ $: ls
55
+ src
56
+ config
57
+ ...
58
+
59
+ Here is a very simple deploy command:
54
60
 
55
- This command will recursively search for sfdc project source folder "src" and use the first found for deployment.
61
+ $: forcer deploy
62
+
63
+ This command will start deployment recursively searching for sfdc project source folder "src" and using the first found for deployment.
56
64
  Please note that "src" folder must contain a valid package.xml file that you intend to use for deployment.
57
65
 
58
- If you want to call validation-only request then, since it is a part of "deploy" soap call, you need to just add flag --checkOnly :
66
+
67
+ ### Configuration
68
+ forcer can store information about deployment organization to avoid typing details for each deployment. Information like username,
69
+ password (it is strongly recommended to avoid storing password) can be saved in configuration.yml file. And here is a template content:
70
+
71
+ anything_as_your_org_alias:
72
+ host: login.salesforce.com
73
+ username: sample_username
74
+ password:
75
+ security_token: sample_token
76
+
77
+ For more information on setup and usage of configuration.yml please visit wiki pages of this project.
78
+
79
+ ### Excluding certain metadata from deployment
80
+ forcer is a flexible tool that allows developers exclude certain:
81
+
82
+ 1. components (metadata files) from deployment. For example object Idea.object (excluded by default) usually fails deployments.
83
+ 2. XML elements from deployment. For example all references to "Social..." layouts (excluded by default) in profiles fail deployments.
84
+
85
+ For more information on how to use configuration files to exclude components and XML snippets please visit wiki pages
86
+ of this project.
87
+
88
+
89
+ ### Command line examples
90
+ If you already filled configuration.yml correctly then deployments are much faster. Here is a sample command to start deployment of a project in current folder:
91
+
92
+ $: forcer deploy --dest dest_alias_in_configuration_yml
93
+
94
+ If you want to call validation-only request then, since it is part of "deploy" soap call, you need to just add flag --checkOnly :
59
95
 
60
96
  $: forcer deploy --dest dest_alias_in_configuration_yml --checkOnly
61
97
 
@@ -65,7 +101,7 @@ Please note almost all options support short aliases. So the same validation-onl
65
101
  $: forcer deploy -d dest_alias_in_configuration_yml -c
66
102
 
67
103
 
68
- After program successfully starts deploy (or any other available command) the program starts printing status messages in console:
104
+ After forcer successfully starts deploy (or any other available command) the program starts printing status messages in console:
69
105
 
70
106
  "initiating DEPLOYMENT"
71
107
  "DEPLOYMENT STARTED. YOU CAN ALSO CHECK DEPLOYMENT STATUS IN SALESFORCE ORG."
@@ -76,15 +112,9 @@ After program successfully starts deploy (or any other available command) the pr
76
112
  Please note that messages and language can and will change because the app development is an ongoing process.
77
113
 
78
114
 
79
- ## Development
80
-
81
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
82
-
83
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
84
-
85
- ## Contributing (surprise surprise! guess the steps!)
115
+ ## Contributing
86
116
 
87
- 1. Fork it ( https://github.com/[my-github-username]/forcer/fork )
117
+ 1. Fork it ( https://github.com/gazazello/forcer/fork )
88
118
  2. Create your feature branch (`git checkout -b my-new-feature`)
89
119
  3. Commit your changes (`git commit -am 'Add some feature'`)
90
120
  4. Push to the branch (`git push origin my-new-feature`)
data/forcer.gemspec CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_development_dependency "bundler", "~> 1.9"
30
+ spec.add_development_dependency "bundler", "~> 1.7"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
32
  spec.required_ruby_version = ">=2.2.0"
33
33
  end
@@ -1,3 +1,3 @@
1
1
  module Forcer
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
@@ -2,7 +2,7 @@ require "zip"
2
2
  require "securerandom"
3
3
  require "yaml"
4
4
  require "nokogiri"
5
- require "Find"
5
+ require "find"
6
6
 
7
7
  module Metadata
8
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forcer
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
  - gaziz tazhenov
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.9'
19
+ version: '1.7'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.9'
26
+ version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement