#
-# Cookbook Name:: mediawiki
+# Cookbook:: mediawiki
# Resource:: mediawiki_extension
#
-# Copyright 2015, OpenStreetMap Foundation
+# Copyright:: 2015, OpenStreetMap Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# limitations under the License.
#
+unified_mode true
+
default_action :create
-property :extension, :kind_of => String, :name_attribute => true
+property :extension, :kind_of => String, :name_property => true
property :site, :kind_of => String, :required => true
property :source, :kind_of => String
property :template, :kind_of => String
property :repository, :kind_of => String
property :tag, :kind_of => String
property :reference, :kind_of => String
-property :compose, :kind_of => [TrueClass, FalseClass], :default => false
property :update_site, :kind_of => [TrueClass, FalseClass], :default => true
action :create do
source new_resource.source
owner node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0o755
+ mode "755"
files_owner node[:mediawiki][:user]
files_group node[:mediawiki][:group]
- files_mode 0o755
+ files_mode "755"
end
else
extension_repository = new_resource.repository || default_repository
action :sync
repository extension_repository
reference extension_reference
+ depth 1
enable_submodules true
user node[:mediawiki][:user]
group node[:mediawiki][:group]
- ignore_failure extension_repository.start_with?("git://github.com/wikimedia/mediawiki-extensions")
+ ignore_failure extension_repository.start_with?("https://github.com/wikimedia/mediawiki-extensions")
end
end
- if new_resource.template # ~FC023
+ if new_resource.template
declare_resource :template, "#{mediawiki_directory}/LocalSettings.d/Ext-#{new_resource.extension}.inc.php" do
cookbook new_resource.template_cookbook
source new_resource.template
user node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0o664
+ mode "664"
variables new_resource.variables
end
else
- extension_script = "#{extension_directory}/#{new_resource.extension}.php"
-
file "#{mediawiki_directory}/LocalSettings.d/Ext-#{new_resource.extension}.inc.php" do
content "<?php wfLoadExtension( '#{new_resource.extension}' );\n"
user node[:mediawiki][:user]
group node[:mediawiki][:group]
- mode 0o664
- only_if { ::File.exist?(extension_script) }
- end
- end
-
- if new_resource.compose # ~FC023
- execute "composer-#{new_resource.extension}" do
- action :nothing
- command "composer install --no-dev"
- cwd extension_directory
- user node[:mediawiki][:user]
- group node[:mediawiki][:group]
- subscribes :run, "git[#{extension_directory}]"
+ mode "664"
end
end
end
end
def default_repository
- "git://github.com/wikimedia/mediawiki-extensions-#{new_resource.extension}.git"
+ "https://github.com/wikimedia/mediawiki-extensions-#{new_resource.extension}.git"
end
end
def after_created
- if update_site
- notifies :update, "mediawiki_site[#{site}]"
- else
- site_directory = node[:mediawiki][:sites][site][:directory]
-
- notifies :create, "template[#{site_directory}/w/LocalSettings.php]"
- notifies :run, "execute[#{site_directory}/w/maintenance/update.php]"
- end
+ notifies :update, "mediawiki_site[#{site}]" if update_site
end