common/tools/populateziptemplate.pl
changeset 670 6e80d1c1b9d9
parent 656 4fd3846740b0
child 767 69d150dcf917
equal deleted inserted replaced
669:3772513ee796 670:6e80d1c1b9d9
   121 	}
   121 	}
   122 	elsif ($package->{source} =~ m{/rnd/([^/]+)/([^/]+)})
   122 	elsif ($package->{source} =~ m{/rnd/([^/]+)/([^/]+)})
   123 	{
   123 	{
   124 		# RnD repository
   124 		# RnD repository
   125 		my $licenseType = $1;
   125 		my $licenseType = $1;
   126 		my $name="bin_$1_$2";
   126 		my $binName="bin_$1_$2";
       
   127 		my $srcName="src_$1_$2";
   127 		my $postbuildName = "binaries_$2";
   128 		my $postbuildName = "binaries_$2";
   128 		my $config = "rnd";
   129 		my $config = "rnd";
   129 		if ($licenseType eq "internal")
   130 		if ($licenseType eq "internal")
   130 		{
   131 		{
   131 			$name = "binaries_$2_prebuild";
   132 			$binName = "binaries_$2_prebuild";
   132 			$config = "rnd-internal";
   133 			$config = "rnd-internal";
   133 		}
   134 		}
   134 		
   135 		
   135 		# Create a zip object
   136 		# Create a zip object
   136 		push @{$zipConfig->{config}->{config}->{$config}->{config}},
   137 		push @{$zipConfig->{config}->{config}->{$config}->{config}},
   141 					name => "root.dir",
   142 					name => "root.dir",
   142 					value=> "\${build.drive}/$package->{dst}",
   143 					value=> "\${build.drive}/$package->{dst}",
   143 				},
   144 				},
   144 				{
   145 				{
   145 					name => "name",
   146 					name => "name",
   146 					value=> "$name",
   147 					value=> "$binName",
   147 				},
   148 				},
   148 				{
   149 				{
   149 					name => "include",
   150 					name => "include",
   150 					value=> "/**",
   151 					value=> "epoc32/**",
       
   152 				},
       
   153 				{
       
   154 					name => "include",
       
   155 					value=> "*.txt",
   151 				},
   156 				},
   152 			]
   157 			]
   153 		};
   158 		};
   154 		# Enumerate all the files on the local disk that are in this repository
   159 		# Enumerate all the files on the local disk that are in this repository
   155 		(my $dosCompatibleDst = $package->{dst}) =~ s{/}{\\}g;
   160 		(my $dosCompatibleDst = $package->{dst}) =~ s{/}{\\}g;
   156 		my @files = `dir /b/s/a-d $dosCompatibleDst 2> nul:`;
   161 		my @files = `dir /b/s/a-d $dosCompatibleDst 2> nul:`;
   157 		next unless @files;
   162 		next unless @files;
   158 		# Add the files to the global list of items to be excluded in the binary zips
   163 		# Add the files to the global list of items to be excluded in the binary zips
   159 		@files = grep {
   164 		foreach (@files)
       
   165 		{
   160 			chomp;
   166 			chomp;
   161 			s{\\}{/}g;
   167 			s{\\}{/}g;
   162 			s!^[A-Z]:/$package->{dst}/!!i;
   168 			s!^[A-Z]:/$package->{dst}/!!i;
       
   169 		}
       
   170 		my @srcFiles = grep { !m{^epoc32/} and !m{^[^/]+\.txt$}i and !m{^\.hg} } @files;
       
   171 		if (@srcFiles)
       
   172 		{
       
   173 			# Create a zip object for the source
       
   174 			push @{$zipConfig->{config}->{config}->{$config}->{config}},
       
   175 			{
       
   176 				set =>
       
   177 				[
       
   178 					{
       
   179 						name => "root.dir",
       
   180 						value=> "\${build.drive}/$package->{dst}",
       
   181 					},
       
   182 					{
       
   183 						name => "name",
       
   184 						value=> "$srcName",
       
   185 					},
       
   186 					{
       
   187 						name => "include",
       
   188 						value=> "**",
       
   189 					},
       
   190 					{
       
   191 						name => "exclude",
       
   192 						value=> "epoc32/**",
       
   193 					},
       
   194 					{
       
   195 						name => "exclude",
       
   196 						value=> ".hg/**",
       
   197 					},
       
   198 					{
       
   199 						name => "exclude",
       
   200 						value=> ".hg_archival.txt",
       
   201 					},
       
   202 				]
       
   203 			};
       
   204 		}
       
   205 		@files = grep {
   163 			m{^epoc32/}i;
   206 			m{^epoc32/}i;
   164 		} @files;
   207 		} @files;
   165 		push @allRndFiles, @files;
   208 		push @allRndFiles, @files;
   166 
   209 
   167 		if ($licenseType eq "internal")
   210 		if ($licenseType eq "internal")