Skip to content
This repository was archived by the owner on Oct 1, 2020. It is now read-only.

Commit 3f2a30b

Browse files
author
Alexander Paliarush
committedDec 31, 2015
- Added PHP Storm configuration during project initialization
1 parent 54e7d49 commit 3f2a30b

20 files changed

+200
-18
lines changed
 

‎Vagrantfile

+15-5
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,33 @@
11
# -*- mode: ruby -*-
22
# vi: set ft=ruby :
33

4+
# Method for reading values from local config
5+
def get_variable_value(variable_name)
6+
custom_value_path = Dir.pwd + '/local.config/' + variable_name + '.txt'
7+
default_value_path = Dir.pwd + '/local.config/' + variable_name + '.txt.dist'
8+
if File.exist?(custom_value_path)
9+
return File.read(custom_value_path)
10+
else
11+
return File.read(default_value_path)
12+
end
13+
end
14+
415
module OS
516
def OS.is_windows
617
(/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
718
end
819
end
920

10-
require 'pathname.rb'
11-
host_magento_dir = Pathname.new(Dir.pwd + '/magento2ce').realpath.to_s
12-
magento_host_name = 'magento2.vagrant'
13-
magento_ip_address = '192.168.10.11'
21+
host_magento_dir = Dir.pwd + '/magento2ce'
22+
magento_host_name = get_variable_value('magento_host_name')
23+
magento_ip_address = get_variable_value('magento_ip_address')
1424

1525
VAGRANT_API_VERSION = 2
1626
Vagrant.configure(VAGRANT_API_VERSION) do |config|
1727
config.vm.box = "ubuntu/trusty64"
1828

1929
config.vm.provider "virtualbox" do |vb|
20-
vb.memory = 3072 # Around 3Gb is necessary to be able to run tests
30+
vb.memory = get_variable_value('guest_ram') # Default is 2Gb, around 3Gb is necessary to run functional tests
2131
end
2232

2333
config.vm.synced_folder '.', '/vagrant'

‎local.config/.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,7 @@
55
!/composer/auth.json.dist
66
!/ce_repository_url.txt.dist
77
!/ee_repository_url.txt.dist
8-
!/magento2_virtual_host.conf.dist
8+
!/magento2_virtual_host.conf.dist
9+
!/magento_host_name.txt.dist
10+
!/magento_ip_address.txt.dist
11+
!/guest_ram.txt.dist

‎local.config/guest_ram.txt.dist

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2048
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
magento2.vagrant
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
192.168.10.11

‎magento2ce/magento2ee/.gitkeep

Whitespace-only changes.

‎scripts/host/configure_php_storm.sh

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/usr/bin/env bash
2+
3+
vagrant_dir=$(cd "$(dirname "$0")/../.."; pwd)
4+
composer_auth_json="${vagrant_dir}/local.config/composer/auth.json"
5+
6+
# Enable trace printing and exit on the first error
7+
set -ex
8+
9+
cd ${vagrant_dir}
10+
ssh_port="$(vagrant port --guest 22)"
11+
magento_host_name=$(sh "${vagrant_dir}/scripts/host/get_variable_value.sh" "magento_host_name")
12+
13+
cp -R "${vagrant_dir}/scripts/host/php-storm-configs" "${vagrant_dir}/.idea"
14+
15+
enabled_virtual_host_config="/etc/apache2/sites-available/magento2.conf"
16+
sed -i '' "s|<host_name>|${magento_host_name}|g" "${vagrant_dir}/.idea/webServers.xml"
17+
sed -i '' "s|<ssh_port>|${ssh_port}|g" "${vagrant_dir}/.idea/webServers.xml"
18+
sed -i '' "s|<host_name>|${magento_host_name}|g" "${vagrant_dir}/.idea/deployment.xml"
19+
sed -i '' "s|<host_name>|${magento_host_name}|g" "${vagrant_dir}/.idea/.name"
20+
sed -i '' "s|<host_name>|${magento_host_name}|g" "${vagrant_dir}/.idea/modules.xml"
21+
22+
mv "${vagrant_dir}/.idea/<host_name>.iml" "${vagrant_dir}/.idea/${magento_host_name}.iml"
23+
24+
ee_repository_url=$(sh "${vagrant_dir}/scripts/host/get_variable_value.sh" "ee_repository_url")
25+
if [ -z ${ee_repository_url} ]; then
26+
mv "${vagrant_dir}/.idea/vcs.ce.xml" "${vagrant_dir}/.idea/vcs.xml"
27+
rm "${vagrant_dir}/.idea/vcs.ee.xml"
28+
else
29+
mv "${vagrant_dir}/.idea/vcs.ee.xml" "${vagrant_dir}/.idea/vcs.xml"
30+
rm "${vagrant_dir}/.idea/vcs.ce.xml"
31+
fi

‎scripts/host/get_variable_value.sh

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env bash
2+
3+
vagrant_dir=$(cd "$(dirname "$0")/../.."; pwd)
4+
variable_name=$1
5+
6+
# Enable trace printing and exit on the first error
7+
set -ex
8+
9+
path_to_custom_value="${vagrant_dir}/local.config/${variable_name}.txt"
10+
path_to_default_value="${vagrant_dir}/local.config/${variable_name}.txt.dist"
11+
12+
if [ -f ${path_to_custom_value} ]; then
13+
cat ${path_to_custom_value}
14+
else
15+
cat ${path_to_default_value}
16+
fi

‎scripts/host/init_project.sh

+5-12
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,26 @@
33
vagrant_dir=$(cd "$(dirname "$0")/../.."; pwd)
44
magento_ce_dir="${vagrant_dir}/magento2ce"
55
magento_ee_dir="${magento_ce_dir}/magento2ee"
6-
ce_repository_default="${vagrant_dir}/local.config/ce_repository_url.txt.dist"
7-
ce_repository_custom="${vagrant_dir}/local.config/ce_repository_url.txt"
8-
# By default EE repository is not specified and EE project cannot be checked out
9-
ee_repository_custom="${vagrant_dir}/local.config/ee_repository_url.txt"
106

117
# Enable trace printing and exit on the first error
128
set -ex
139

1410
bash "${vagrant_dir}/scripts/host/check_requirements.sh"
1511

1612
# Check out CE repository
17-
rm -f "${magento_ee_dir}/.gitkeep"
18-
rm -rf ${magento_ee_dir}
19-
if [ -f ${ce_repository_custom} ]; then
20-
ce_repository_url=$(cat ${ce_repository_custom})
21-
else
22-
ce_repository_url=$(cat ${ce_repository_default})
23-
fi
13+
ce_repository_url=$(sh "${vagrant_dir}/scripts/host/get_variable_value.sh" "ce_repository_url")
2414
git clone ${ce_repository_url} ${magento_ce_dir}
2515

2616
# Check out EE repository
17+
# By default EE repository is not specified and EE project is not checked out
18+
ee_repository_custom="${vagrant_dir}/local.config/ee_repository_url.txt"
2719
if [ -f ${ee_repository_custom} ]; then
2820
ee_repository_url=$(cat ${ee_repository_custom})
2921
git clone ${ee_repository_url} ${magento_ee_dir}
3022
else
3123
set +x
3224
echo "Note: URL to Magento EE repository may be specified in ${ee_repository_custom}, then it will be checked out automatically."
3325
set -x
34-
mkdir ${magento_ee_dir}
3526
fi
3627

3728
# Update Magento dependencies via Composer
@@ -41,3 +32,5 @@ bash "${vagrant_dir}/scripts/host/composer.sh" install
4132
# Create vagrant project
4233
cd ${vagrant_dir}
4334
vagrant up
35+
36+
bash "${vagrant_dir}/scripts/host/configure_php_storm.sh"

‎scripts/host/php-storm-configs/.name

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<host_name>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="WEB_MODULE" version="4">
3+
<component name="NewModuleRootManager">
4+
<content url="file://$MODULE_DIR$">
5+
<sourceFolder url="file://$MODULE_DIR$/magento2ce/app/code" isTestSource="false" />
6+
<sourceFolder url="file://$MODULE_DIR$/magento2ce/dev/tests" isTestSource="true" />
7+
<sourceFolder url="file://$MODULE_DIR$/magento2ce/magento2ee/app/code" isTestSource="false" />
8+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/dev/tests/integration/tmp" />
9+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/pub/static" />
10+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/var/cache" />
11+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/var/composer_home" />
12+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/var/di" />
13+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/var/log" />
14+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/var/page_cache" />
15+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/var/report" />
16+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/var/tmp" />
17+
<excludeFolder url="file://$MODULE_DIR$/magento2ce/var/view_preprocessed" />
18+
</content>
19+
</component>
20+
</module>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project version="4">
3+
<component name="PublishConfigData">
4+
<serverData>
5+
<paths name="<host_name>">
6+
<serverdata>
7+
<mappings>
8+
<mapping deploy="$PROJECT_DIR$/magento2ce" local="$PROJECT_DIR$/magento2ce" web="/" />
9+
</mappings>
10+
</serverdata>
11+
</paths>
12+
</serverData>
13+
</component>
14+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project version="4">
3+
<component name="Encoding">
4+
<file url="PROJECT" charset="UTF-8" />
5+
</component>
6+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<component name="InspectionProjectProfileManager">
2+
<profile version="1.0">
3+
<option name="myName" value="Project Default" />
4+
<option name="myLocal" value="true" />
5+
<inspection_tool class="MessDetectorValidationInspection" enabled="true" level="WARNING" enabled_by_default="true">
6+
<scope name="Changed Files" level="ERROR" enabled="true">
7+
<option name="customRulesets">
8+
<list>
9+
<RulesetDescriptor>
10+
<option name="name" value="Magento PHPMD rule set" />
11+
<option name="path" value="$PROJECT_DIR$/magento2ce/dev/tests/static/testsuite/Magento/Test/Php/_files/phpmd/ruleset.xml" />
12+
</RulesetDescriptor>
13+
</list>
14+
</option>
15+
</scope>
16+
<option name="customRulesets">
17+
<list>
18+
<RulesetDescriptor>
19+
<option name="name" value="Magento PHPMD rule set" />
20+
<option name="path" value="$PROJECT_DIR$/magento2ce/dev/tests/static/testsuite/Magento/Test/Php/_files/phpmd/ruleset.xml" />
21+
</RulesetDescriptor>
22+
</list>
23+
</option>
24+
</inspection_tool>
25+
<inspection_tool class="PhpCSValidationInspection" enabled="true" level="WARNING" enabled_by_default="true">
26+
<scope name="Changed Files" level="ERROR" enabled="true">
27+
<option name="CODING_STANDARD" value="Custom" />
28+
<option name="CUSTOM_RULESET_PATH" value="$PROJECT_DIR$/magento2ce/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcs" />
29+
</scope>
30+
<option name="CODING_STANDARD" value="Custom" />
31+
<option name="CUSTOM_RULESET_PATH" value="$PROJECT_DIR$/magento2ce/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcs" />
32+
<option name="WARNING_HIGHLIGHT_LEVEL_NAME" value="ERROR" />
33+
</inspection_tool>
34+
</profile>
35+
</component>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<component name="InspectionProjectProfileManager">
2+
<settings>
3+
<option name="PROJECT_PROFILE" value="Project Default" />
4+
<option name="USE_PROJECT_PROFILE" value="true" />
5+
<version value="1.0" />
6+
</settings>
7+
</component>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project version="4">
3+
<component name="ProjectModuleManager">
4+
<modules>
5+
<module fileurl="file://$PROJECT_DIR$/.idea/<host_name>.iml" filepath="$PROJECT_DIR$/.idea/<host_name>.iml" />
6+
</modules>
7+
</component>
8+
</project>
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project version="4">
3+
<component name="PhpUnit">
4+
<phpunit_settings>
5+
<PhpUnitSettings load_method="CUSTOM_LOADER" custom_loader_path="$PROJECT_DIR$/magento2ce/vendor/phpunit/phpunit/phpunit" phpunit_phar_path="" />
6+
</phpunit_settings>
7+
</component>
8+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project version="4">
3+
<component name="VcsDirectoryMappings">
4+
<mapping directory="$PROJECT_DIR$/magento2ce" vcs="Git" />
5+
</component>
6+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project version="4">
3+
<component name="VcsDirectoryMappings">
4+
<mapping directory="$PROJECT_DIR$/magento2ce" vcs="Git" />
5+
<mapping directory="$PROJECT_DIR$/magento2ce/magento2ee" vcs="Git" />
6+
</component>
7+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project version="4">
3+
<component name="WebServers">
4+
<option name="servers">
5+
<webServer id="8eec3df1-5f59-4fcc-a1dc-dd86806122d4" name="<host_name>" url="http://127.0.0.1">
6+
<fileTransfer host="127.0.0.1" port="<ssh_port>" privateKey="$PROJECT_DIR$/.vagrant/machines/<host_name>/virtualbox/private_key" accessType="SFTP" username="vagrant" keyPair="true">
7+
<advancedOptions>
8+
<advancedOptions dataProtectionLevel="Private" />
9+
</advancedOptions>
10+
</fileTransfer>
11+
</webServer>
12+
</option>
13+
</component>
14+
</project>

0 commit comments

Comments
 (0)