1 package UVISWorkspaceCreator
;
3 # ************************************************************
4 # Description : The Keil uVision Workspace Creator
5 # Author : Chad Elliott
6 # Create Date : 11/1/2016
7 # ************************************************************
9 # ************************************************************
11 # ************************************************************
15 use UVISProjectCreator
;
20 @ISA = qw(WinWorkspaceBase WorkspaceCreator);
22 # ************************************************************
24 # ************************************************************
33 sub workspace_file_extension
{
41 my $crlf = $self->crlf();
43 print $fh "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>$crlf",
44 "<ProjectWorkspace xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_mpw.xsd\">$crlf$crlf",
45 " <SchemaVersion>1.0</SchemaVersion>$crlf$crlf",
46 " <Header>### uVision Project, (C) Keil Software</Header>$crlf$crlf";
52 my $crlf = $self->crlf();
54 print $fh ' <WorkspaceName>', $self->get_workspace_name(), ' - ',
55 $self->create_command_line_string($0, @ARGV),
56 '</WorkspaceName>', $crlf, $crlf;
57 foreach my $project ($self->sort_dependencies($self->get_projects(), 0)) {
58 print $fh " <project>$crlf",
59 " <PathAndName>", $self->slash_to_backslash($project),
60 "</PathAndName>$crlf",
61 " </project>$crlf$crlf";
68 print $fh '</ProjectWorkspace>' . $self->crlf();