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 +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
|