forcer 0.4.0 → 0.4.1
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.
- checksums.yaml +4 -4
- data/.idea/.rakeTasks +1 -1
- data/.travis.yml +2 -0
- data/README.md +52 -22
- data/forcer.gemspec +1 -1
- data/lib/forcer/version.rb +1 -1
- data/lib/metadata_services/sfdc_directory_service.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb1fd96dfadc874bec262c32d376f0bbcf4cc4c7
|
4
|
+
data.tar.gz: eda105c28bb04c7d82419766e97d9ac77d9acc31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
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
|
13
|
-
|
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
|
-
|
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
|
-
|
43
|
+
To list options and flags available for each command call help for each operation separately:
|
45
44
|
|
46
|
-
$: forcer deploy
|
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
|
-
|
53
|
-
$:
|
53
|
+
$: cd ~/my_workspace/TestProject/
|
54
|
+
$: ls
|
55
|
+
src
|
56
|
+
config
|
57
|
+
...
|
58
|
+
|
59
|
+
Here is a very simple deploy command:
|
54
60
|
|
55
|
-
|
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
|
-
|
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
|
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
|
-
##
|
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/
|
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.
|
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
|
data/lib/forcer/version.rb
CHANGED
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.
|
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.
|
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.
|
26
|
+
version: '1.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|