1 package WixWorkspaceCreator
;
3 # ************************************************************
4 # Description : A Wix Workspace creator
5 # Author : James H. Hill
6 # Create Date : 6/23/2009
7 # ************************************************************
9 # ************************************************************
11 # ************************************************************
14 use WixProjectCreator
;
19 @ISA = qw(WinWorkspaceBase WorkspaceCreator);
21 # ************************************************************
23 # ************************************************************
26 # ************************************************************
28 # ************************************************************
30 sub workspace_file_extension
{
34 sub workspace_file_name
{
36 return $self->get_modified_workspace_name($self->get_workspace_name(),
42 my $crlf = $self->crlf();
43 my $name = $self->get_workspace_name();
45 ## Begin the project definition for the workspace
46 print $fh '<?xml version="1.0" encoding="utf-8" standalone="yes"?>', $crlf,
52 my $crlf = $self->crlf();
55 # print the target for clean
56 foreach my $project ($self->sort_dependencies($self->get_projects())) {
57 print $fh " <?include $project ?>", $crlf;
63 my $info = $self->get_project_info();
64 my $crlf = $self->crlf();
66 # Create a component group consisting of all the projects.
69 ' <ComponentGroup Id="',
70 $self->get_workspace_name(), '">', $crlf;
72 foreach my $project ($self->sort_dependencies($self->get_projects())) {
73 print $fh ' <ComponentGroupRef Id="ComponentGroup.',
74 $$info{$project}->[0], '" />', $crlf;
77 print $fh ' </ComponentGroup>', $crlf,
78 ' </Fragment>', $crlf,