ucb_deployer 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,11 +13,23 @@
13
13
  <!-- =====================================================
14
14
  THIS MUST BE THE FIRST FILTER IN THE DEFINED CHAIN
15
15
  ===================================================== -->
16
+ <!-- This *has* to come first to ensure no other filter runs before this trying to access the ComponentManager
17
+ since that can cause deadlocks during a data import -->
18
+ <filter>
19
+ <filter-name>JiraImportProgressFilter</filter-name>
20
+ <filter-class>com.atlassian.jira.web.filters.JiraImportProgressFilter</filter-class>
21
+ </filter>
22
+
16
23
  <filter>
17
24
  <filter-name>JiraFirstFilter</filter-name>
18
25
  <filter-class>com.atlassian.jira.web.filters.JiraFirstFilter</filter-class>
19
26
  </filter>
20
-
27
+
28
+ <filter>
29
+ <filter-name>MultiTenantFilter</filter-name>
30
+ <filter-class>com.atlassian.multitenant.servlet.MultiTenantServletFilter</filter-class>
31
+ </filter>
32
+
21
33
  <!-- If serious problems were encountered on Startup, this filter will display an
22
34
  appropriate error message for any requests. Basically it locks JIRA. -->
23
35
  <filter>
@@ -25,6 +37,35 @@
25
37
  <filter-class>com.atlassian.jira.startup.JiraStartupChecklistFilter</filter-class>
26
38
  </filter>
27
39
 
40
+ <filter>
41
+ <filter-name>active-requests-filter</filter-name>
42
+ <filter-class>com.atlassian.jira.web.monitor.ActiveRequestsFilter</filter-class>
43
+
44
+ <!-- register in JMX using this object name -->
45
+ <init-param>
46
+ <param-name>jmx.name</param-name>
47
+ <param-value>com.atlassian.jira:name=Requests</param-value>
48
+ </init-param>
49
+
50
+ <!-- create a log entry if a request takes more than this number of ms (default: 5s. 0 to disable) -->
51
+ <init-param>
52
+ <param-name>request.log.threshold</param-name>
53
+ <param-value>15000</param-value>
54
+ </init-param>
55
+
56
+ <!-- create a thread dump if a request takes more than this number of ms (default: 30s. 0 to disable) -->
57
+ <init-param>
58
+ <param-name>request.dumpthreads.threshold</param-name>
59
+ <param-value>0</param-value>
60
+ </init-param>
61
+
62
+ <!-- save the thread dump in the logs directory -->
63
+ <init-param>
64
+ <param-name>request.dumpthreads.dir</param-name>
65
+ <param-value>${catalina.base}/logs</param-value>
66
+ </init-param>
67
+ </filter>
68
+
28
69
  <filter>
29
70
  <filter-name>headersanitising</filter-name>
30
71
  <filter-class>com.atlassian.core.filters.HeaderSanitisingFilter</filter-class>
@@ -73,17 +114,6 @@
73
114
  </init-param>
74
115
  </filter>
75
116
 
76
- <filter>
77
- <filter-name>request-cleanup</filter-name>
78
- <filter-class>com.atlassian.jira.web.filters.RequestCleanupFilter</filter-class>
79
- </filter>
80
-
81
- <!-- this filter sets an attribute in the request to stop JiraWebworkActionDispatcher from popping all actions off the stack.
82
- It will clear the action stack AFTER the sitemesh decorator has rendered the page.-->
83
- <filter>
84
- <filter-name>action-cleanup-delay</filter-name>
85
- <filter-class>com.atlassian.jira.web.filters.ActionCleanupDelayFilter</filter-class>
86
- </filter>
87
117
 
88
118
  <filter>
89
119
  <filter-name>filter-plugin-dispatcher-before-decoration-request</filter-name>
@@ -161,6 +191,11 @@
161
191
  <filter-class>com.atlassian.jira.web.filters.PathMatchingEncodingFilter</filter-class>
162
192
  </filter>
163
193
 
194
+ <filter>
195
+ <filter-name>postencoding</filter-name>
196
+ <filter-class>com.atlassian.jira.web.filters.JiraPostEncodingFilter</filter-class>
197
+ </filter>
198
+
164
199
  <filter>
165
200
  <filter-name>filter-plugin-dispatcher-after-encoding-request</filter-name>
166
201
  <filter-class>com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter</filter-class>
@@ -349,7 +384,7 @@
349
384
  </filter>
350
385
 
351
386
  <!-- =====================================================
352
- THIS MUST BE THE LAST FILTER IN THE DEFINED CHAIN
387
+ THIS MUST BE THE LAST FILTER IN THE DEFINED CHAIN
353
388
  ===================================================== -->
354
389
  <filter>
355
390
  <filter-name>JiraLastFilter</filter-name>
@@ -357,14 +392,27 @@
357
392
  </filter>
358
393
 
359
394
  <!-- =====================================================
360
- FILTER MAPPINGS FOLLOW :
395
+ FILTER MAPPINGS FOLLOW :
361
396
  ===================================================== -->
362
397
 
398
+ <!-- This *has* to come first to ensure no other filter runs before this trying to access the ComponentManager
399
+ since that can cause deadlocks during a data import -->
400
+ <filter-mapping>
401
+ <filter-name>JiraImportProgressFilter</filter-name>
402
+ <url-pattern>/importprogress</url-pattern>
403
+ </filter-mapping>
404
+
363
405
  <filter-mapping>
364
406
  <filter-name>JiraFirstFilter</filter-name>
365
407
  <url-pattern>/*</url-pattern>
366
408
  </filter-mapping>
367
409
 
410
+ <filter-mapping>
411
+ <filter-name>MultiTenantFilter</filter-name>
412
+ <url-pattern>/*</url-pattern>
413
+ <dispatcher>REQUEST</dispatcher>
414
+ <dispatcher>ERROR</dispatcher>
415
+ </filter-mapping>
368
416
  <!-- If serious problems were encountered on Startup, this filter will display an
369
417
  appropriate error message for any requests. Basically it locks JIRA. -->
370
418
  <filter-mapping>
@@ -372,6 +420,10 @@
372
420
  <url-pattern>/*</url-pattern>
373
421
  </filter-mapping>
374
422
 
423
+ <filter-mapping>
424
+ <filter-name>active-requests-filter</filter-name>
425
+ <url-pattern>/*</url-pattern>
426
+ </filter-mapping>
375
427
 
376
428
  <!-- THIS MUST REMAIN AS THE TOP FILTER SO THAT THE ENCODING CAN BE SET BEFORE ANYTHING ELSE TOUCHES IT -->
377
429
  <filter-mapping>
@@ -396,6 +448,11 @@
396
448
  </filter-mapping>
397
449
  -->
398
450
 
451
+ <filter-mapping>
452
+ <filter-name>postencoding</filter-name>
453
+ <url-pattern>/*</url-pattern>
454
+ </filter-mapping>
455
+
399
456
  <filter-mapping>
400
457
  <filter-name>filter-plugin-dispatcher-after-encoding-request</filter-name>
401
458
  <url-pattern>/*</url-pattern>
@@ -505,17 +562,6 @@
505
562
  <url-pattern>/rpc/xmlrpc</url-pattern>
506
563
  </filter-mapping>
507
564
 
508
-
509
- <filter-mapping>
510
- <filter-name>request-cleanup</filter-name>
511
- <url-pattern>/*</url-pattern>
512
- </filter-mapping>
513
-
514
- <filter-mapping>
515
- <filter-name>action-cleanup-delay</filter-name>
516
- <url-pattern>/*</url-pattern>
517
- </filter-mapping>
518
-
519
565
  <filter-mapping>
520
566
  <filter-name>profiling</filter-name>
521
567
  <url-pattern>*.jsp</url-pattern>
@@ -581,6 +627,8 @@
581
627
  <filter-mapping>
582
628
  <filter-name>login</filter-name>
583
629
  <url-pattern>/*</url-pattern>
630
+ <dispatcher>REQUEST</dispatcher>
631
+ <dispatcher>FORWARD</dispatcher> <!-- we want security/login to be applied after urlrewrites, for example -->
584
632
  </filter-mapping>
585
633
 
586
634
  <filter-mapping>
@@ -591,6 +639,8 @@
591
639
  <filter-mapping>
592
640
  <filter-name>security</filter-name>
593
641
  <url-pattern>/*</url-pattern>
642
+ <dispatcher>REQUEST</dispatcher>
643
+ <dispatcher>FORWARD</dispatcher> <!-- we want security to be applied after urlrewrites, for example -->
594
644
  </filter-mapping>
595
645
 
596
646
  <filter-mapping>
@@ -689,53 +739,51 @@
689
739
  <filter-name>JiraLastFilter</filter-name>
690
740
  <url-pattern>/*</url-pattern>
691
741
  </filter-mapping>
692
-
693
742
 
694
- <!-- =====================================================
695
- LISTENERS FOLLOW :
696
- ===================================================== -->
697
743
 
698
- <!--
699
- This order is important for shutdown and startup, ie the ConsistencyLauncher will call "SHUTDOWN"
700
- on a HSQL DB database, and so must be called 'after' the com.atlassian.jira.scheduler.JiraSchedulerLauncher
701
- -->
744
+ <!-- SERVLET CONTEXT LISTENERS -->
702
745
 
746
+ <!-- This goes before the LauncherContextListener because parts of the LauncherContextListener expect
747
+ the ServletContextProvider to work. And this listener it was makes that work. -->
703
748
  <listener>
704
749
  <listener-class>com.atlassian.jira.web.ServletContextProviderListener</listener-class>
705
750
  </listener>
706
751
 
707
- <!--
708
- This listener runs startup checks and locks JIRA if problems are encountered.
709
- -->
752
+ <!-- Start up JIRA. This listener actually delegates to a bunch of JiraLaunchers to ensure
753
+ that JIRA starts as intended. -->
710
754
  <listener>
711
- <listener-class>com.atlassian.jira.startup.JiraStartupChecklistContextListener</listener-class>
755
+ <listener-class>com.atlassian.jira.startup.LauncherContextListener</listener-class>
712
756
  </listener>
713
757
 
714
- <!-- Check consistency of database etc -->
715
- <listener>
716
- <listener-class>com.atlassian.jira.upgrade.ConsistencyLauncher</listener-class>
717
- </listener>
758
+ <!-- ========================================
759
+ DO NOT ADD ANY SERVLET CONTEXT LISTENERS
718
760
 
719
- <!-- Check for upgrades, and automatically perform them if neccessary. -->
720
- <listener>
721
- <listener-class>com.atlassian.jira.upgrade.UpgradeLauncher</listener-class>
722
- </listener>
761
+ Unless you really know what you're doing. And if you think you do, you're probably wrong.
762
+ Because everything you thought you knew is wrong! Multitenancy is like (The Crying Game + The Usual Suspects) * 42.
723
763
 
724
- <!-- Launch the scheduler, which loads all the jobs from scheduler-config.xml -->
725
- <listener>
726
- <listener-class>com.atlassian.jira.scheduler.JiraSchedulerLauncher</listener-class>
727
- </listener>
764
+ The right place to add many context-listeners is now in the DefaultJiraLauncher which has to know when to do
765
+ what to make tenants happy.
766
+ ========================================
767
+ -->
768
+
769
+ <!-- SESSION LISTENERS
770
+ Session listeners are multi-tenant copacetic. -->
728
771
 
729
772
  <!-- XML-RPC / SOAP Listener -->
730
773
  <listener>
731
774
  <listener-class>com.atlassian.jira.soap.axis.JiraAxisHttpListener</listener-class>
732
775
  </listener>
733
776
 
734
- <!-- The JIRA user session tracker support -->
777
+ <!-- The JIRA user session tracker support. -->
735
778
  <listener>
736
779
  <listener-class>com.atlassian.jira.web.session.currentusers.JiraUserSessionDestroyListener</listener-class>
737
780
  </listener>
738
781
 
782
+ <!-- Multi-Tenant session fixation prevention -->
783
+ <listener>
784
+ <listener-class>com.atlassian.multitenant.servlet.MultiTenantSessionListener</listener-class>
785
+ </listener>
786
+
739
787
  <!-- servlets -->
740
788
  <servlet>
741
789
  <servlet-name>action</servlet-name>
@@ -827,16 +875,6 @@
827
875
  </init-param>
828
876
  </servlet>
829
877
 
830
- <!-- IE6 expects CSS files to end with .css (JRA-3747) -->
831
- <servlet>
832
- <servlet-name>global.css</servlet-name>
833
- <jsp-file>/styles/global_css.jsp</jsp-file>
834
- <init-param>
835
- <param-name>fork</param-name>
836
- <param-value>false</param-value>
837
- </init-param>
838
- </servlet>
839
-
840
878
  <servlet>
841
879
  <servlet-name>calendar.css</servlet-name>
842
880
  <jsp-file>/includes/js/calendar/skins/aqua/theme.jsp</jsp-file>
@@ -886,7 +924,12 @@
886
924
  <servlet-name>attachmentzip</servlet-name>
887
925
  <servlet-class>com.atlassian.jira.web.servlet.AttachmentZipServlet</servlet-class>
888
926
  </servlet>
889
-
927
+
928
+ <!-- Multi-Tenant -->
929
+ <servlet>
930
+ <servlet-name>multitenant</servlet-name>
931
+ <servlet-class>com.atlassian.multitenant.servlet.MultiTenantServlet</servlet-class>
932
+ </servlet>
890
933
 
891
934
  <!-- JCAPTCHA -->
892
935
  <servlet>
@@ -906,7 +949,7 @@
906
949
  <servlet-name>attachmentzip</servlet-name>
907
950
  <url-pattern>/secure/attachmentzip/*</url-pattern>
908
951
  </servlet-mapping>
909
-
952
+
910
953
  <servlet-mapping>
911
954
  <servlet-name>file-server</servlet-name>
912
955
  <url-pattern>/download/*</url-pattern>
@@ -917,11 +960,6 @@
917
960
  <url-pattern>/styles/calendar.css</url-pattern>
918
961
  </servlet-mapping>
919
962
 
920
- <servlet-mapping>
921
- <servlet-name>global.css</servlet-name>
922
- <url-pattern>/styles/global.css</url-pattern>
923
- </servlet-mapping>
924
-
925
963
  <servlet-mapping>
926
964
  <servlet-name>servlet-module-container-servlet</servlet-name>
927
965
  <url-pattern>/plugins/servlet/*</url-pattern>
@@ -1043,9 +1081,14 @@
1043
1081
  <url-pattern>*.vmd</url-pattern>
1044
1082
  </servlet-mapping>
1045
1083
 
1084
+ <servlet-mapping>
1085
+ <servlet-name>multitenant</servlet-name>
1086
+ <url-pattern>/multitenant/*</url-pattern>
1087
+ </servlet-mapping>
1088
+
1046
1089
  <!-- session config -->
1047
1090
  <session-config>
1048
- <session-timeout>60</session-timeout>
1091
+ <session-timeout>300</session-timeout>
1049
1092
  </session-config>
1050
1093
 
1051
1094
  <!-- mime mapping -->
@@ -1084,6 +1127,7 @@
1084
1127
  <taglib>
1085
1128
  <taglib-uri>webwork</taglib-uri>
1086
1129
  <taglib-location>/WEB-INF/tld/webwork.tld</taglib-location>
1130
+
1087
1131
  </taglib>
1088
1132
  <taglib>
1089
1133
  <taglib-uri>sitemesh-page</taglib-uri>
@@ -25,92 +25,11 @@ describe UcbDeployer::JiraDeployer do
25
25
  lambda { @jdep.load_config(@bad_deploy_file) }.should raise_error(UcbDeployer::ConfigError)
26
26
  end
27
27
 
28
- it "should configure souldwing (CAS auth) in web.xml" do
29
- @jdep.build_dir = test_build_dir
30
- # just checking if spec_helper did the right
31
- File.exists?(@jdep.web_xml).should be_true
32
-
33
- @jdep.configure()
34
- File.exists?(@jdep.web_xml).should be_true
35
- lines = File.readlines(@jdep.web_xml)
36
- lines.grep(/<\?xml version="1\.0"\?>/).should be_true
37
- lines.grep(/^<web-app /).should be_true
38
- lines.grep(/#{@jdep.cas_server_url}/).should have(1).record
39
- lines.grep(/#{@jdep.cas_service_url}/).should have(1).record
40
- lines.grep(/<\/web-app>/).should be_true
41
- end
42
-
43
- it "should configure the soulwing (CAS) authenticator in seraph_config.xml" do
44
- @jdep.build_dir = test_build_dir
45
- # just checking if spec_helper did the right
46
- File.exists?(@jdep.seraph_config_xml).should be_true
47
-
48
- @jdep.configure()
49
- File.exists?(@jdep.seraph_config_xml).should be_true
50
- lines = File.readlines(@jdep.seraph_config_xml)
51
- lines.grep(/<security-config>/).should be_true
52
- lines.grep(/#{Regexp.quote(@jdep.cas_authenticator_class)}/).should have(1).record
53
- lines.grep(/#{Regexp.quote(@jdep.cas_server_url)}\/logout/).should have(1).record
54
- lines.grep(/<\/security-config>/).should be_true
55
- end
56
-
57
- it "should configure the postgres72 db option in entityengine.xml" do
58
- @jdep.build_dir = test_build_dir
59
- # just checking if spec_helper did the right
60
- File.exists?(@jdep.entityengine_xml).should be_true
61
-
62
- @jdep.configure()
63
- File.exists?(@jdep.entityengine_xml).should be_true
64
- lines = File.readlines(@jdep.entityengine_xml)
65
- lines.any? { |l| l =~ /<entity-config>/ }.should be_true
66
- lines.any? { |l| l =~ /#{Regexp.quote(@jdep.entityengine_db)}/ }.should be_true
67
- lines.any? { |l| l =~ /#{Regexp.quote(@jdep.entityengine_schema)}/ }.should be_true
68
- lines.any? { |l| l =~ /<\/entity-config>/ }.should be_true
69
- end
70
-
71
- context "jira-application.properties file" do
72
- it "should configure jira.home" do
73
- @jdep.build_dir = test_build_dir()
74
- # just checking if spec_helper did the right
75
- File.exists?(@jdep.jira_application_properties).should be_true
76
-
77
- @jdep.configure()
78
- File.exists?(@jdep.jira_application_properties).should be_true
79
- lines = File.readlines(@jdep.jira_application_properties)
80
- lines.any? { |l| l =~ /# JIRA HOME/ }.should be_true
81
- lines.any? { |l| l =~ /# JIRA SECURITY SETTINGS/ }.should be_true
82
- lines.any? { |l| l =~ /#{Regexp.quote(@jdep.jira_home_token + ' ' + @jdep.data_dir)}/ }.should be_true
83
- lines.any? { |l| l =~ /# NOTES FOR DEVELOPERS/ }.should be_true
84
- end
85
-
86
- it "should configure jira.projectkey.pattern" do
87
- @jdep.build_dir = test_build_dir()
88
- # just checking if spec_helper did the right
89
- File.exists?(@jdep.jira_application_properties()).should be_true
90
-
91
- @jdep.configure()
92
- File.exists?(@jdep.jira_application_properties).should be_true
93
- lines = File.readlines(@jdep.jira_application_properties)
94
- lines.any? { |l| l =~ /# JIRA HOME/ }.should be_true
95
- lines.any? { |l| l =~ /# JIRA SECURITY SETTINGS/ }.should be_true
96
- lines.any? { |l| l =~ /#{Regexp.quote(@jdep.jira_projectkey_token() + ' ' + "([A-Z][A-Z0-9]+)")}/ }.should be_true
97
- lines.any? { |l| l =~ /# NOTES FOR DEVELOPERS/ }.should be_true
98
- end
99
- end
100
-
101
- it "should place ist_banner.jpg in webapps" do
102
- @jdep.build_dir = test_build_dir()
28
+ it "should execute all the config tasks" do
29
+ task = mock("task", {:execute => true})
30
+ task.should_receive(:execute)
31
+ @jdep.stub!(:load_tasks).and_return([task])
103
32
  @jdep.configure()
104
- File.exists?("#{@jdep.build_dir}/src/webapp/images/ist_banner.jpg").should be_true
105
- end
106
-
107
- it "should reshuffle jar files" do
108
- @jdep.build_dir = test_build_dir()
109
- @jdep.configure()
110
- Dir["#{@jdep.build_dir}/src/edit-webapp/WEB-INF/lib/soulwing-casclient-*"].should_not be_empty
111
- ["activation", "javamail", "commons-logging", "log4j"].each do |lib|
112
- Dir["#{@jdep.build_dir}/src/edit-webapp/WEB-INF/lib/#{lib}-*"].should be_empty
113
- end
114
33
  end
115
34
  end
116
35
 
@@ -134,3 +53,67 @@ describe UcbDeployer::JiraDeployer do
134
53
  end
135
54
  end
136
55
  end
56
+
57
+
58
+ describe UcbDeployer::ConfigTasks::Jira do
59
+ before(:each) do
60
+ @config = mock("config", {
61
+ :resources_dir => UcbDeployer::RESOURCES_DIR,
62
+ :build_dir => "#{TEST_BUILD_DIR}/jira",
63
+ :cas_server_url => "THE CAS SERVER URL",
64
+ :cas_service_url => "THE CAS SERVICE URL",
65
+ :deployer_home => UcbDeployer::DEPLOYER_HOME,
66
+ :data_dir => "#{TEST_BUILD_DIR}/jira"
67
+ })
68
+ end
69
+
70
+ it "should configure cas authentication" do
71
+ task = UcbDeployer::ConfigTasks::Jira::ConfigCasAuth.new(@config)
72
+ task.execute()
73
+
74
+ lines = File.readlines(task.seraph_config_path())
75
+ lines.grep(/<security-config>/).should be_true
76
+ lines.grep(/#{Regexp.quote(task.cas_authenticator_class())}/).should have(1).record
77
+ lines.grep(/#{Regexp.quote(@config.cas_server_url())}\/logout/).should have(1).record
78
+ lines.grep(/<\/security-config>/).should be_true
79
+
80
+ lines = File.readlines(task.web_xml_path())
81
+ lines.grep(/#{Regexp.quote(@config.cas_server_url())}/).should have(1).record
82
+ lines.grep(/#{Regexp.quote(@config.cas_service_url())}/).should have(1).record
83
+ end
84
+
85
+ it "should remove conflicing jar file" do
86
+ task = UcbDeployer::ConfigTasks::Jira::RemoveConflictingJarFiles.new(@config)
87
+ task.execute()
88
+
89
+ Dir["#{@config.build_dir}/src/edit-webapp/WEB-INF/lib/soulwing-casclient-*"].should_not be_empty
90
+ ["activation", "javamail", "commons-logging", "log4j"].each do |lib|
91
+ Dir["#{@config.build_dir}/src/edit-webapp/WEB-INF/lib/#{lib}-*"].should be_empty
92
+ end
93
+ end
94
+
95
+ it "should configure the ist banner image" do
96
+ task = UcbDeployer::ConfigTasks::Jira::ConfigIstBanner.new(@config)
97
+ task.execute()
98
+
99
+ File.exists?("#{@config.build_dir()}/src/webapp/images/ist_banner.jpg").should be_true
100
+ end
101
+
102
+ it "should configure the jira-config.properties file" do
103
+ task = UcbDeployer::ConfigTasks::Jira::ConfigJiraConfigProperties.new(@config)
104
+ task.execute()
105
+
106
+ lines = File.readlines(task.jira_config_properties_path())
107
+ lines.any? { |l| l =~ /#{Regexp.quote(task.projectkey_config())}/ }.should be_true
108
+ end
109
+
110
+ it "should configure the jira-application.properties file" do
111
+ task = UcbDeployer::ConfigTasks::Jira::ConfigAppProperties.new(@config)
112
+ task.execute()
113
+
114
+ lines = File.readlines(task.jira_app_properties_path())
115
+ lines.any? { |line|
116
+ line =~ /#{Regexp.quote(task.jira_home_token() + ' ' + @config.data_dir)}/
117
+ }.should be_true
118
+ end
119
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ucb_deployer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 0
9
8
  - 1
10
- version: 1.0.1
9
+ - 0
10
+ version: 1.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Steven Hansen
@@ -15,10 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-12-19 00:00:00 Z
18
+ date: 2011-12-02 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- type: :runtime
21
+ name: rake
22
+ prerelease: false
22
23
  requirement: &id001 !ruby/object:Gem::Requirement
23
24
  none: false
24
25
  requirements:
@@ -30,11 +31,11 @@ dependencies:
30
31
  - 8
31
32
  - 7
32
33
  version: 0.8.7
33
- prerelease: false
34
- name: rake
34
+ type: :runtime
35
35
  version_requirements: *id001
36
36
  - !ruby/object:Gem::Dependency
37
- type: :development
37
+ name: rspec
38
+ prerelease: false
38
39
  requirement: &id002 !ruby/object:Gem::Requirement
39
40
  none: false
40
41
  requirements:
@@ -46,11 +47,11 @@ dependencies:
46
47
  - 3
47
48
  - 0
48
49
  version: 1.3.0
49
- prerelease: false
50
- name: rspec
50
+ type: :development
51
51
  version_requirements: *id002
52
52
  - !ruby/object:Gem::Dependency
53
- type: :development
53
+ name: rcov
54
+ prerelease: false
54
55
  requirement: &id003 !ruby/object:Gem::Requirement
55
56
  none: false
56
57
  requirements:
@@ -62,11 +63,11 @@ dependencies:
62
63
  - 9
63
64
  - 9
64
65
  version: 0.9.9
65
- prerelease: false
66
- name: rcov
66
+ type: :development
67
67
  version_requirements: *id003
68
68
  - !ruby/object:Gem::Dependency
69
- type: :development
69
+ name: diff-lcs
70
+ prerelease: false
70
71
  requirement: &id004 !ruby/object:Gem::Requirement
71
72
  none: false
72
73
  requirements:
@@ -78,11 +79,11 @@ dependencies:
78
79
  - 1
79
80
  - 2
80
81
  version: 1.1.2
81
- prerelease: false
82
- name: diff-lcs
82
+ type: :development
83
83
  version_requirements: *id004
84
84
  - !ruby/object:Gem::Dependency
85
- type: :development
85
+ name: ruby-debug
86
+ prerelease: false
86
87
  requirement: &id005 !ruby/object:Gem::Requirement
87
88
  none: false
88
89
  requirements:
@@ -94,8 +95,7 @@ dependencies:
94
95
  - 10
95
96
  - 4
96
97
  version: 0.10.4
97
- prerelease: false
98
- name: ruby-debug
98
+ type: :development
99
99
  version_requirements: *id005
100
100
  description: Tool for deploying Confluence and JIRA war files to tomcat
101
101
  email:
@@ -115,6 +115,11 @@ files:
115
115
  - TODO.md
116
116
  - bin/ucb_deploy
117
117
  - lib/ucb_deployer.rb
118
+ - lib/ucb_deployer/config_tasks/jira/config_app_properties.rb
119
+ - lib/ucb_deployer/config_tasks/jira/config_cas_auth.rb
120
+ - lib/ucb_deployer/config_tasks/jira/config_ist_banner.rb
121
+ - lib/ucb_deployer/config_tasks/jira/config_jira_config_properties.rb
122
+ - lib/ucb_deployer/config_tasks/jira/remove_conflicting_jar_files.rb
118
123
  - lib/ucb_deployer/confluence_deployer.rb
119
124
  - lib/ucb_deployer/deployer.rb
120
125
  - lib/ucb_deployer/jira_deployer.rb