projektbauer 0.0.2

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.
Files changed (44) hide show
  1. data/.gitignore +20 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +118 -0
  5. data/lib/projektbauer.rb +466 -0
  6. data/lib/projektbauer/erb/index_html.erb +6 -0
  7. data/lib/projektbauer/erb/post-commit.erb +24 -0
  8. data/lib/projektbauer/erb/project_location_httpd_conf.erb +31 -0
  9. data/lib/projektbauer/erb/svn_authz_file.erb +15 -0
  10. data/lib/projektbauer/erb/trac.ini.erb +258 -0
  11. data/lib/projektbauer/erb/virtual_host_httpd_conf.erb +27 -0
  12. data/lib/projektbauer/version.rb +3 -0
  13. data/projektbauer.gemspec +30 -0
  14. data/rakefile.rb +22 -0
  15. data/spec/reference/domain_01/include_locations.httpd.conf +2 -0
  16. data/spec/reference/domain_01/project_01/Feldbauer-environment.htdigest +8 -0
  17. data/spec/reference/domain_01/project_01/Feldbauer-environment.htdigest.txt +11 -0
  18. data/spec/reference/domain_01/project_01/project_01.dav_svn_authz +15 -0
  19. data/spec/reference/domain_01/project_01/project_01.httpd.conf +31 -0
  20. data/spec/reference/domain_01/project_02/Feldbauer-environment.htdigest +7 -0
  21. data/spec/reference/domain_01/project_02/Feldbauer-environment.htdigest.txt +9 -0
  22. data/spec/reference/domain_01/project_02/project_02.dav_svn_authz +15 -0
  23. data/spec/reference/domain_01/project_02/project_02.httpd.conf +31 -0
  24. data/spec/reference/domain_01/virtual_host.httpd.conf +43 -0
  25. data/spec/reference/domain_01/www/index.html +6 -0
  26. data/spec/reference/domain_02/include_locations.httpd.conf +1 -0
  27. data/spec/reference/domain_02/project_01/Feldbauer-environment.htdigest +7 -0
  28. data/spec/reference/domain_02/project_01/Feldbauer-environment.htdigest.txt +9 -0
  29. data/spec/reference/domain_02/project_01/project_01.dav_svn_authz +15 -0
  30. data/spec/reference/domain_02/project_01/project_01.httpd.conf +31 -0
  31. data/spec/reference/domain_02/virtual_host.httpd.conf +43 -0
  32. data/spec/reference/domain_02/www/index.html +6 -0
  33. data/spec/reference/include_virtual_hosts.httpd.conf +4 -0
  34. data/spec/reference/space domain 02/include_locations.httpd.conf +1 -0
  35. data/spec/reference/space domain 02/space project 01/Feldbauer-environment.htdigest +7 -0
  36. data/spec/reference/space domain 02/space project 01/Feldbauer-environment.htdigest.txt +9 -0
  37. data/spec/reference/space domain 02/space project 01/space project 01.dav_svn_authz +15 -0
  38. data/spec/reference/space domain 02/space project 01/space project 01.httpd.conf +31 -0
  39. data/spec/reference/space domain 02/virtual_host.httpd.conf +43 -0
  40. data/spec/reference/space domain 02/www/index.html +6 -0
  41. data/spec/setup_project_spec.rb +88 -0
  42. data/testresults/test_results.html +308 -0
  43. data/weichel21_projekbauer.rb +28 -0
  44. metadata +251 -0
@@ -0,0 +1,6 @@
1
+ <html>
2
+ <body>
3
+ <p>Please contact the project manager
4
+ <%= "mailto:#{@server_admin}?subject=what%20is%20#{@server_name}" %></p>
5
+ </body>
6
+ </html>
@@ -0,0 +1,24 @@
1
+ #!/bin/sh
2
+ #
3
+ # The hook program typically does not inherit the environment of
4
+ # its parent process. For example, a common problem is for the
5
+ # PATH environment variable to not be set to its usual value, so
6
+ # that subprograms fail to launch unless invoked via absolute path.
7
+ # If you're having unexpected problems with a hook program, the
8
+ # culprit may be unusual (or missing) environment variables.
9
+ #
10
+ # Here is an example hook script, for a Unix /bin/sh interpreter.
11
+ # For more examples and pre-written hooks, see those in
12
+ # /usr/share/subversion/hook-scripts, and in the repository at
13
+ # http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and
14
+ # http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
15
+
16
+
17
+ REPOS="$1"
18
+ REV="$2"
19
+
20
+ #"$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/mailer.conf
21
+
22
+ export PYTHON_EGG_CACHE="<%= @_project_trac_dir%>/.egg-cache"
23
+ <%=@trac_admin%> "<%= @_project_trac_dir %>" changeset added "$1" "$2"
24
+
@@ -0,0 +1,31 @@
1
+ DavLockDB "<%= @server_root %>/DavLock"
2
+ #Alias /<%= @virtual_host %>/<%= @project_name %> <%= @server_root %>/<%= @virtual_host %>/<%= @project_name %>/
3
+ ScriptAlias /<%= @project_name %>/trac/ <%= @server_root %>/<%= @virtual_host %>/<%= @project_name %>/trac/cgi-bin/trac.fcgi/
4
+
5
+ <Location /<%= @project_name %>/svn>
6
+ DAV svn
7
+ #todo: investigate usage of parentpath
8
+ SVNPath <%= @_project_svn_dir %>
9
+
10
+ AuthType Digest
11
+ AuthName "<%= @project_realm %>"
12
+ AuthDigestDomain https://<%= @server_name %>:<%= @server_port_ssl %>/<%= @project_name %>
13
+ AuthDigestProvider file
14
+ AuthUserFile <%= @_project_auth_user_file %>
15
+ AuthzSVNAccessFile <%= @_project_svn_authz_file %>
16
+ <LimitExcept OPTIONS>
17
+ Require valid-user
18
+ </LimitExcept>
19
+ </Location>
20
+
21
+ <Location /<%= @project_name %>/trac/login>
22
+ AuthType Digest
23
+ AuthName "<%= @project_realm %>"
24
+ AuthDigestDomain https://<%= @server_name %>:<%= @server_port_ssl %>/<%= @project_name %>
25
+ AuthDigestProvider file
26
+ AuthUserFile <%= @_project_auth_user_file %>
27
+
28
+ <LimitExcept OPTIONS>
29
+ Require valid-user
30
+ </LimitExcept>
31
+ </Location>
@@ -0,0 +1,15 @@
1
+ ### This file is authorization file for <%= @project_name %>
2
+ # do not remove * = at [/]
3
+
4
+ [groups]
5
+ observer=
6
+ admin=<%= @project_users[:admin].join(", ") %>
7
+ contributor=<%= @project_users[:contributor].join(", ") %>
8
+ observer=<%= @project_users[:observer].join(", ") %>
9
+
10
+
11
+ [/]
12
+ @admin=rw
13
+ @contributor=rw
14
+ @observer=r
15
+ * = r
@@ -0,0 +1,258 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ [attachment]
4
+ max_size = 262144
5
+ max_zip_size = 2097152
6
+ render_unsafe_content = true
7
+
8
+ [browser]
9
+ color_scale = True
10
+ downloadable_paths = /trunk, /branches/*, /tags/*
11
+ hide_properties = svk:merge
12
+ intermediate_color =
13
+ intermediate_point =
14
+ newest_color = (255, 136, 136)
15
+ oldest_color = (136, 136, 255)
16
+ oneliner_properties = trac:summary
17
+ render_unsafe_content = true
18
+ wiki_properties = trac:description
19
+
20
+ [changeset]
21
+ max_diff_bytes = 10000000
22
+ max_diff_files = 0
23
+ wiki_format_messages = true
24
+
25
+ [components]
26
+ pdfredirector.* = enabled
27
+ pdfredirector.pdfredirector.pdfredirector = enabled
28
+ tracopt.ticket.commit_updater.committicketreferencemacro = enabled
29
+ tracopt.ticket.commit_updater.committicketupdater = enabled
30
+ tracopt.versioncontrol.svn.* = enabled
31
+ tracopt.versioncontrol.svn.svn_fs.subversionconnector = enabled
32
+ tracopt.versioncontrol.svn.svn_prop.subversionmergepropertydiffrenderer = enabled
33
+ tracopt.versioncontrol.svn.svn_prop.subversionmergepropertyrenderer = enabled
34
+ tracopt.versioncontrol.svn.svn_prop.subversionpropertyrenderer = enabled
35
+
36
+ [header_logo]
37
+ alt = <%= @project_name %>
38
+ height = -1
39
+ link =
40
+ src = <% "logo-file.png" %>
41
+ width = -1
42
+
43
+ [inherit]
44
+ htdocs_dir =
45
+ plugins_dir =
46
+ templates_dir =
47
+
48
+ [logging]
49
+ log_file = trac.log
50
+ log_level = DEBUG
51
+ log_type = none
52
+
53
+ [milestone]
54
+ stats_provider = DefaultTicketGroupStatsProvider
55
+
56
+ [mimeviewer]
57
+ max_preview_size = 26214400
58
+ mime_map = text/x-dylan:dylan, text/x-idl:ice, text/x-ada:ads:adb, application/pdf:pdf
59
+ mime_map_patterns = text/plain:README|INSTALL|COPYING.*
60
+ pygments_default_style = trac
61
+ pygments_modes =
62
+ tab_width = 8
63
+ treat_as_binary = application/octet-stream, application/pdf, application/postscript, application/msword,application/rtf,
64
+
65
+ [notification]
66
+ admit_domains =
67
+ always_notify_owner = true
68
+ always_notify_reporter = true
69
+ always_notify_updater = true
70
+ ambiguous_char_width = single
71
+ batch_subject_template = $prefix Batch modify: $tickets_descr
72
+ email_sender = SmtpEmailSender
73
+ ignore_domains =
74
+ mime_encoding = none
75
+ sendmail_path = sendmail
76
+ smtp_always_bcc =
77
+ smtp_always_cc =
78
+ smtp_default_domain = <%= @smtp_default_domain %>
79
+ smtp_enabled = true
80
+ smtp_from = <%= @smtp_from %>
81
+ smtp_from_author = false
82
+ smtp_from_name = <%= @smtp_from_name %>
83
+ smtp_password = <%= @smtp_password %>
84
+ smtp_port = <%= @smtp_port %>
85
+ smtp_replyto = <%= @smtp_replyto %>
86
+ smtp_server = <%= @smtp_server %>
87
+ smtp_subject_prefix = __default__
88
+ smtp_user = <%= @smtp_user %>
89
+ ticket_subject_template = $prefix #$ticket.id: $summary
90
+ use_public_cc = false
91
+ use_short_addr = false
92
+ use_tls = false
93
+
94
+ [project]
95
+ admin =
96
+ admin_trac_url = .
97
+ descr = <%= @project_name %>
98
+ footer = Visit the Trac open source project at<br /><a href="http://trac.edgewall.org/">http://trac.edgewall.org/</a>
99
+ icon = common/trac.ico
100
+ name = <%= @project_name %>
101
+ url =
102
+
103
+ [query]
104
+ default_anonymous_query = status!=closed&cc~=$USER
105
+ default_query = status!=closed&owner=$USER
106
+ items_per_page = 100
107
+ ticketlink_query = ?status=!closed
108
+
109
+ [report]
110
+ items_per_page = 100
111
+ items_per_page_rss = 0
112
+
113
+ [revisionlog]
114
+ default_log_limit = 100
115
+ graph_colors = ['#cc0', '#0c0', '#0cc', '#00c', '#c0c', '#c00']
116
+
117
+ [roadmap]
118
+ stats_provider = DefaultTicketGroupStatsProvider
119
+
120
+ [search]
121
+ min_query_length = 3
122
+
123
+ [ticket]
124
+ default_cc =
125
+ default_component =
126
+ default_description =
127
+ default_keywords =
128
+ default_milestone =
129
+ default_owner = < default >
130
+ default_priority = major
131
+ default_resolution = fixed
132
+ default_severity =
133
+ default_summary =
134
+ default_type = defect
135
+ default_version =
136
+ max_comment_size = 262144
137
+ max_description_size = 262144
138
+ preserve_newlines = default
139
+ restrict_owner = false
140
+ workflow = ConfigurableTicketWorkflow
141
+
142
+ [ticket-workflow]
143
+ accept = new,assigned -> assigned
144
+ accept.operations = set_owner_to_self
145
+ accept.permissions = TICKET_MODIFY
146
+
147
+ leave = * -> *
148
+ leave.default = 1
149
+ leave.operations = leave_status
150
+
151
+ reassign = new -> new
152
+ reassign.operations = set_owner
153
+ reassign.permissions = TICKET_MODIFY
154
+
155
+ reassignAssigned = assigned -> assigned
156
+ reassignAssigned.name = reassign
157
+ reassignAssigned.operations = set_owner
158
+ reassignAssigned.permissions = TICKET_MODIFY
159
+
160
+ reassignReopen = reopened -> reopened
161
+ reassignReopen.name = reassign
162
+ reassignReopen.operations = set_owner
163
+ reassignReopen.permissions = TICKET_MODIFY
164
+
165
+
166
+ reassignReview = to_be_verified -> to_be_verified
167
+ reassignReview.name = reassign
168
+ reassignReview.operations = set_owner
169
+ reassignReview.permissions = TICKET_MODIFY
170
+
171
+ reopen = closed,to_be_deployed -> reopened
172
+ reopen.operations = set_owner,del_resolution
173
+ reopen.permissions = TICKET_CREATE
174
+
175
+ resolve = new,assigned,reopened,to_be_verified -> closed
176
+ resolve.operations = set_resolution
177
+ resolve.permissions = TICKET_MODIFY
178
+
179
+ review = new, reopened, assigned -> to_be_verified
180
+ review.name = review
181
+ review.operations = set_owner
182
+ review.permissions = TICKET_MODIFY
183
+
184
+ reject = to_be_verified -> reopened
185
+ reject.name = reopen
186
+ reject.operations = set_owner
187
+ reject.permissions = TICKET_MODIFY
188
+
189
+ review_deploy = to_be_verified -> to_be_deployed
190
+ review_deploy.name = deploy
191
+ review_deploy.operations = set_owner
192
+ review_deploy.permissions = TICKET_MODIFY
193
+
194
+ deploy = to_be_deployed -> closed
195
+ deploy.name = release
196
+ deploy.operations = set_owner, set_resolution
197
+ deploy.permissions = TICKET_MODIFY
198
+
199
+
200
+ [timeline]
201
+ abbreviated_messages = True
202
+ changeset_collapse_events = false
203
+ changeset_long_messages = false
204
+ changeset_show_files = 0
205
+ default_daysback = 30
206
+ max_daysback = 90
207
+ newticket_formatter = oneliner
208
+ ticket_show_details = true
209
+
210
+ [trac]
211
+ auth_cookie_lifetime = 0
212
+ auth_cookie_path =
213
+ authz_file =
214
+ authz_module_name =
215
+ auto_preview_timeout = 2.0
216
+ auto_reload = False
217
+ backup_dir = db
218
+ base_url =
219
+ check_auth_ip = false
220
+ database = sqlite:db/trac.db
221
+ debug_sql = False
222
+ default_charset = utf-8
223
+ default_dateinfo_format = relative
224
+ genshi_cache_size = 128
225
+ htdocs_location =
226
+ ignore_auth_case = false
227
+ jquery_location =
228
+ jquery_ui_location =
229
+ jquery_ui_theme_location =
230
+ mainnav = wiki, timeline, roadmap, browser, tickets, newticket, search
231
+ metanav = login, logout, prefs, help, about
232
+ mysqldump_path = mysqldump
233
+ never_obfuscate_mailto = false
234
+ permission_policies = DefaultPermissionPolicy, LegacyAttachmentPolicy
235
+ permission_store = DefaultPermissionStore
236
+ pg_dump_path = pg_dump
237
+ repository_dir =
238
+ repository_sync_per_request = (default)
239
+ repository_type = svn
240
+ resizable_textareas = true
241
+ secure_cookies = False
242
+ show_email_addresses = false
243
+ show_ip_addresses = false
244
+ timeout = 20
245
+ use_base_url_for_redirect = False
246
+
247
+ [versioncontrol]
248
+ allowed_repository_dir_prefixes =
249
+
250
+
251
+
252
+ [wiki]
253
+ ignore_missing_pages = false
254
+ max_size = 262144
255
+ render_unsafe_content = false
256
+ safe_schemes = cvs, file, ftp, git, irc, http, https, news, sftp, smb, ssh, svn, svn+ssh
257
+ split_page_names = false
258
+
@@ -0,0 +1,27 @@
1
+
2
+ ###
3
+ # virtual host for <%= server_name %> ssl
4
+ #
5
+ NameVirtualHost <%= @virtual_host_ip %>:<%= @server_port_ssl %>
6
+ <VirtualHost <%= @virtual_host_ip %>:<%= @server_port_ssl %>>
7
+ ServerName <%= @server_name %>
8
+ ServerAdmin <%= @server_admin %>
9
+ DocumentRoot <%= @_document_root_dir %>
10
+ #CustomLog /home/log/access_log mesos1
11
+
12
+ SSLEngine on
13
+ #todo make location of certificate configurable
14
+ SSLCertificateKeyFile /etc/ssl/localcerts/<%= @server_name %>.key
15
+ SSLCertificateFile /etc/ssl/localcerts/<%= @server_name %>.pem
16
+ SetEnvIf User-Agent ".*MSIE.*" \
17
+ nokeepalive ssl-unclean-shutdown \
18
+ downgrade-1.0 force-response-1.0
19
+ <Files ~ "\.(cgi|shtml|phtml|php3?)$">
20
+ SSLOptions +StdEnvVars
21
+ </Files>
22
+
23
+ ###
24
+ # this file contains the locations for <%= server_name %>
25
+ Include "<%= @_virtual_host_locations_httpd_conf %>
26
+
27
+ </VirtualHost>
@@ -0,0 +1,3 @@
1
+ module Projektbauer
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'projektbauer/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "projektbauer"
8
+ spec.version = Projektbauer::VERSION
9
+ spec.authors = ["Bernhard Weichel"]
10
+ spec.email = ["github.com@nospam.weichel21.de"]
11
+ spec.description = %q{This gem creates and maintaines an SVN/Trac environment}
12
+ spec.summary = %q{Create an SVN/Trac environment}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "inifile", "~> 2.0.2"
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.3"
24
+ spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "rspec"
26
+ spec.add_development_dependency "yard"
27
+ spec.add_development_dependency "redcarpet"
28
+ spec.add_development_dependency "wortsammler"
29
+ spec.add_development_dependency "pry"
30
+ end
@@ -0,0 +1,22 @@
1
+ require "bundler/gem_tasks"
2
+ require 'rspec/core/rake_task'
3
+ require 'rake/clean'
4
+
5
+ desc "Run specs"
6
+ RSpec::Core::RakeTask.new do |t|
7
+ t.pattern = "./**/*_spec.rb" # don't need this, it's default.
8
+ t.rspec_opts = ['-fd -fd --out ./testresults/test_results.log -fh --out ./testresults/test_results.html']
9
+ # Put spec opts in a file named .rspec in root
10
+ end
11
+
12
+
13
+ desc "document (yard) helpers defined here"
14
+ task :doc do
15
+ sh "yard --markup markdown doc . "
16
+ end
17
+
18
+ CLEAN << "spec/tmp_output"
19
+
20
+ task :default do
21
+ sh "rake -T"
22
+ end
@@ -0,0 +1,2 @@
1
+ Include /Volumes/Macintosh HD/Users/beweiche/beweiche_noTimeMachine/207_projektbauer-gem/spec/tmp_output/domain_01/project_01/project_01.httpd.conf
2
+ Include /Volumes/Macintosh HD/Users/beweiche/beweiche_noTimeMachine/207_projektbauer-gem/spec/tmp_output/domain_01/project_02/project_02.httpd.conf
@@ -0,0 +1,8 @@
1
+ admin.first:Feldbauer-environment:9274beeb33f01ed1ddb17a54f88b8d0f
2
+ admin.othersecond:Feldbauer-environment:66ca6257c9fef977044cc85f8547e0b0
3
+ contributor.first:Feldbauer-environment:fb70cd5036b23409fcc0b07cfd1a2f13
4
+ contributor.second:Feldbauer-environment:278a73f0b1cb67812af191cd5a328faf
5
+ contributor.third:Feldbauer-environment:93874aac447c448cef70aca853d698d3
6
+ observer.first:Feldbauer-environment:3c7aff341e6062eedfbc1404fcc8fa65
7
+ observer.second:Feldbauer-environment:162a81a2adfdc74ed71b25ec9cf35b1d
8
+ observer.third:Feldbauer-environment:88da6eedc843bdb92a7e75f8c6f188e1
@@ -0,0 +1,11 @@
1
+ generated passwords for Feldbauer-environment
2
+
3
+ admin.first => <password unchanged>
4
+ admin.othersecond => cmxnmzncdk
5
+ admin.second => <user deleted>
6
+ contributor.first => <password unchanged>
7
+ contributor.second => <password unchanged>
8
+ contributor.third => <password unchanged>
9
+ observer.first => <password unchanged>
10
+ observer.second => <password unchanged>
11
+ observer.third => kplntussvf