meta_project 0.4.2 → 0.4.3
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.
- data/CHANGES +8 -0
- data/Rakefile +1 -1
- data/lib/meta_project/project/base.rb +1 -1
- data/lib/meta_project/project/codehaus/codehaus_project_svn.rb +1 -0
- data/lib/meta_project/project/xforge/xforge_base.rb +4 -3
- data/lib/meta_project/project_analyzer.rb +2 -2
- data/lib/meta_project/tracker/jira/jira_tracker.rb +8 -8
- data/lib/meta_project/tracker/xforge/xforge_tracker.rb +1 -1
- metadata +2 -2
data/CHANGES
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
= XForge Changelog
|
2
2
|
|
3
|
+
== Version 0.4.3
|
4
|
+
|
5
|
+
This is a bugfix release.
|
6
|
+
|
7
|
+
* Aligned properties between TracTracker and JiraTracker with ProjectAnalyzer.
|
8
|
+
* Stripping leading and trailing whitespace from issue summaries (SF seems to have changed).
|
9
|
+
* Added name to XForge projects.
|
10
|
+
|
3
11
|
== Version 0.4.2
|
4
12
|
|
5
13
|
This is a minor release that accommodates fos some changes needed by DamageControl.
|
data/Rakefile
CHANGED
@@ -4,6 +4,7 @@ module MetaProject
|
|
4
4
|
class CodehausProjectSvn < Base
|
5
5
|
|
6
6
|
def initialize(project_id, svn_path, jira_id)
|
7
|
+
@name = project_id
|
7
8
|
@scm = RSCM::Subversion.new("svn://svn.#{project_id}.codehaus.org/#{project_id}/scm/#{svn_path}", svn_path)
|
8
9
|
@tracker = ::MetaProject::Tracker::Jira::JiraTracker.new("http://jira.codehaus.org", jira_id)
|
9
10
|
|
@@ -10,6 +10,7 @@ module MetaProject
|
|
10
10
|
def initialize(host, unix_name, cvs_mod)
|
11
11
|
@host = host
|
12
12
|
@unix_name = unix_name
|
13
|
+
@name = unix_name
|
13
14
|
|
14
15
|
@tracker = tracker_class.new(group_id_uri("tracker"), self)
|
15
16
|
|
@@ -45,14 +46,14 @@ module MetaProject
|
|
45
46
|
def group_id
|
46
47
|
unless(@group_id)
|
47
48
|
regexp = /stats\/[?&]group_id=(\d+)/
|
48
|
-
html = open(
|
49
|
+
html = open(xforge_project_url) { |data| data.read }
|
49
50
|
@group_id = html[regexp, 1]
|
50
51
|
raise "Couldn't get group_id" unless @group_id
|
51
52
|
end
|
52
53
|
@group_id
|
53
54
|
end
|
54
55
|
|
55
|
-
def
|
56
|
+
def xforge_project_url
|
56
57
|
"http://#{@host}/projects/#{@unix_name}/"
|
57
58
|
end
|
58
59
|
|
@@ -63,7 +64,7 @@ module MetaProject
|
|
63
64
|
# The home page of this project
|
64
65
|
def home_page
|
65
66
|
unless(@home_page)
|
66
|
-
html = open(
|
67
|
+
html = open(xforge_project_url) { |data| data.read }
|
67
68
|
@home_page = html[home_page_regexp, 1]
|
68
69
|
raise "Couldn't get home_page" unless @home_page
|
69
70
|
end
|
@@ -20,14 +20,14 @@ module MetaProject
|
|
20
20
|
if(url =~ /(http:\/\/.*)\/browser\/(.*)/)
|
21
21
|
trac_base_url = $1
|
22
22
|
svn_path = $2[-1..-1] == "/" ? $2[0..-2] : $2
|
23
|
-
return Project::Trac::TracProject.new(trac_base_url, options[:
|
23
|
+
return Project::Trac::TracProject.new(trac_base_url, options[:trac_svn_root_url], svn_path)
|
24
24
|
end
|
25
25
|
|
26
26
|
# Codehaus SVN
|
27
27
|
if(url =~ /http:\/\/svn.(.*).codehaus.org\/(.*)/)
|
28
28
|
svn_id = $1
|
29
29
|
svn_path = $2[-1..-1] == "/" ? $2[0..-2] : $2
|
30
|
-
return Project::Codehaus::CodehausProjectSvn.new(svn_id, svn_path, options[:
|
30
|
+
return Project::Codehaus::CodehausProjectSvn.new(svn_id, svn_path, options[:jira_project_id])
|
31
31
|
end
|
32
32
|
|
33
33
|
end
|
@@ -6,7 +6,7 @@ module MetaProject
|
|
6
6
|
class JiraTracker < Base
|
7
7
|
JIRA_API = "jira1"
|
8
8
|
|
9
|
-
attr_accessor :
|
9
|
+
attr_accessor :jira_base_url, :jira_project_id
|
10
10
|
|
11
11
|
# Creates a new JiraTracker. In order to successfully get issue info (via XMLRPC),
|
12
12
|
# two env vars must be defined. Example:
|
@@ -17,8 +17,8 @@ module MetaProject
|
|
17
17
|
#
|
18
18
|
# JIRA_CODEHAUS_ORG_JIRA_USER
|
19
19
|
# JIRA_CODEHAUS_ORG_JIRA_PASSWORD
|
20
|
-
def initialize(
|
21
|
-
@
|
20
|
+
def initialize(jira_base_url=nil, jira_project_id=nil)
|
21
|
+
@jira_base_url, @jira_project_id = jira_base_url, jira_project_id
|
22
22
|
end
|
23
23
|
|
24
24
|
def identifier_regexp
|
@@ -30,14 +30,14 @@ module MetaProject
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def overview
|
33
|
-
"#{@
|
33
|
+
"#{@jira_base_url}/browse/#{@jira_project_id}"
|
34
34
|
end
|
35
35
|
|
36
36
|
def issue(issue_identifier)
|
37
37
|
begin
|
38
38
|
session = login
|
39
39
|
issue = session.getIssue(issue_identifier)
|
40
|
-
Issue.new("#{@
|
40
|
+
Issue.new("#{@jira_base_url}/browse/#{issue_identifier}", issue["summary"])
|
41
41
|
rescue XMLRPC::FaultException => e
|
42
42
|
# Probably bad issue number or failed login
|
43
43
|
STDERR.puts("Couldn't get issue #{issue_identifier}: #{e.message}")
|
@@ -60,7 +60,7 @@ module MetaProject
|
|
60
60
|
private
|
61
61
|
|
62
62
|
def login
|
63
|
-
client = XMLRPC::Client.new2("#{@
|
63
|
+
client = XMLRPC::Client.new2("#{@jira_base_url}/rpc/xmlrpc")
|
64
64
|
token = client.call("#{JIRA_API}.login", user, password)
|
65
65
|
Session.new(client, token)
|
66
66
|
end
|
@@ -76,10 +76,10 @@ module MetaProject
|
|
76
76
|
end
|
77
77
|
|
78
78
|
def login_env_var_prefix
|
79
|
-
if(
|
79
|
+
if(jira_base_url =~ /http:\/\/([^\/]+)/)
|
80
80
|
$1.gsub(/\./, "_").upcase
|
81
81
|
else
|
82
|
-
raise "Bad
|
82
|
+
raise "Bad jira_base_url: #{jira_base_url}"
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
@@ -49,7 +49,7 @@ module MetaProject
|
|
49
49
|
regexp = @tracker.issue_regexp(identifier)
|
50
50
|
if(html =~ regexp)
|
51
51
|
issue_uri = @tracker.project.group_id_uri("tracker/index.php", "&atid=#{@atid}&func=detail&aid=#{identifier}")
|
52
|
-
return Issue.new(issue_uri, $1)
|
52
|
+
return Issue.new(issue_uri, $1.strip)
|
53
53
|
end
|
54
54
|
nil
|
55
55
|
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: meta_project
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.4.
|
7
|
-
date: 2005-08-
|
6
|
+
version: 0.4.3
|
7
|
+
date: 2005-08-24 00:00:00 -04:00
|
8
8
|
summary: Ruby based make-like utility.
|
9
9
|
require_paths:
|
10
10
|
- lib
|