build_package.pl
changeset 58 806b67128bee
parent 57 c9602bd403ca
child 59 d41d4cdb97ad
equal deleted inserted replaced
57:c9602bd403ca 58:806b67128bee
    28 
    28 
    29 my $sFbfProjectRepo = "\\\\bishare\\mercurial_development\\oss\\FCL\\interim\\fbf\\projects\\packages";
    29 my $sFbfProjectRepo = "\\\\bishare\\mercurial_development\\oss\\FCL\\interim\\fbf\\projects\\packages";
    30 my $sFbfProjectDir = '';
    30 my $sFbfProjectDir = '';
    31 my $sSubProject = '';
    31 my $sSubProject = '';
    32 my $sSubprojVariant = '';
    32 my $sSubprojVariant = '';
    33 my $bRVCT4 = 0;
    33 my $sSBSConfig = '';
    34 #my $sSourcesFile = '';
    34 #my $sSourcesFile = '';
    35 #my $sModelFile = '';
    35 #my $sModelFile = '';
    36 my $sFbfConfigRepo="\\\\bishare\\mercurial_development\\oss\\FCL\\interim\\fbf\\configs\\default";
    36 my $sFbfConfigRepo="\\\\bishare\\mercurial_development\\oss\\FCL\\interim\\fbf\\configs\\default";
    37 my $sFbfConfigDir = '';
    37 my $sFbfConfigDir = '';
    38 my $nCmdLineNumber;
    38 my $nCmdLineNumber;
    46 	'configdir=s' => \$sFbfConfigDir,
    46 	'configdir=s' => \$sFbfConfigDir,
    47 	'projectrepo=s' => \$sFbfProjectRepo,
    47 	'projectrepo=s' => \$sFbfProjectRepo,
    48 	'projectdir=s' => \$sFbfProjectDir,
    48 	'projectdir=s' => \$sFbfProjectDir,
    49 	'subproj=s' => \$sSubProject,
    49 	'subproj=s' => \$sSubProject,
    50 	'variant=s' => \$sSubprojVariant,
    50 	'variant=s' => \$sSubprojVariant,
    51 	'rvct4!' => \$bRVCT4,
    51 	'sbsconfig!' => \$sSBSConfig,
    52 	#'sources=s' => \$sSourcesFile,
    52 	#'sources=s' => \$sSourcesFile,
    53 	#'model=s' => \$sModelFile,
    53 	#'model=s' => \$sModelFile,
    54 	'number=s' => \$nCmdLineNumber,
    54 	'number=s' => \$nCmdLineNumber,
    55 	'tag=s' => \$sDiamondsTag,
    55 	'tag=s' => \$sDiamondsTag,
    56 	'hudson!' => \$bHudson,
    56 	'hudson!' => \$bHudson,
    64 	print "Usage: build_package.pl --subproj=RELPATH [OPTIONS]\n";
    64 	print "Usage: build_package.pl --subproj=RELPATH [OPTIONS]\n";
    65 	print "       build_package.pl --projectrepo=REPO [OPTIONS]\n";
    65 	print "       build_package.pl --projectrepo=REPO [OPTIONS]\n";
    66 	print "where OPTIONS are:\n";
    66 	print "where OPTIONS are:\n";
    67 	print "\t--subproj=RELPATH Select subproject located at RELPATH (relative to the root of the project repository)\n";
    67 	print "\t--subproj=RELPATH Select subproject located at RELPATH (relative to the root of the project repository)\n";
    68 	print "\t--variant=VARIANT If specified use sources_VARIANT.csv instead of sources.csv and add \"VARIANT\" as tag for this build\n";
    68 	print "\t--variant=VARIANT If specified use sources_VARIANT.csv instead of sources.csv and add \"VARIANT\" as tag for this build\n";
    69 	print "\t--rvct4 Enable build with RVCT4 on top of the other targets\n";
    69 	print "\t--sbsconfig=CONFIG Pass on CONFIG as configuration to SBS (can also be a comma separated list, e.g. 'armv5,winscw')\n";
    70 	print "\t--projectrepo=REPO[#REV] Use repository REPO at revision REV for the project (instead of \\\\bishare\\mercurial_internal\\fbf\\projects\\packages)\n";
    70 	print "\t--projectrepo=REPO[#REV] Use repository REPO at revision REV for the project (instead of \\\\bishare\\mercurial_internal\\fbf\\projects\\packages)\n";
    71 	print "\t--projectdir=DIR Use DIR location for the project (exclusive with --projectrepo).\n";
    71 	print "\t--projectdir=DIR Use DIR location for the project (exclusive with --projectrepo).\n";
    72 	#print "\t--sources=FILE ...\n";
    72 	#print "\t--sources=FILE ...\n";
    73 	#print "\t--model=FILE ...\n";
    73 	#print "\t--model=FILE ...\n";
    74 	print "\t--configrepo=REPO[#REV] Use repository REPO at revision REV for the config (instead of \\\\bishare\\mercurial_internal\\fbf\\config\\default)\n";
    74 	print "\t--configrepo=REPO[#REV] Use repository REPO at revision REV for the config (instead of \\\\bishare\\mercurial_internal\\fbf\\config\\default)\n";
   228 
   228 
   229 my $sSubProjArg = '';
   229 my $sSubProjArg = '';
   230 $sSubProjArg = "-Dsf.subproject.path=$sSubProject" if ($sSubProject);
   230 $sSubProjArg = "-Dsf.subproject.path=$sSubProject" if ($sSubProject);
   231 my $sVariantArg = '';
   231 my $sVariantArg = '';
   232 $sVariantArg = "-Dsf.spec.sourcesync.sourcespecfile=sources_$sSubprojVariant.csv" if ($sSubprojVariant);
   232 $sVariantArg = "-Dsf.spec.sourcesync.sourcespecfile=sources_$sSubprojVariant.csv" if ($sSubprojVariant);
   233 my $sRVCT4Arg = '';
   233 my $sSBSConfigArg = '';
   234 $sRVCT4Arg = "-Dsf.spec.sbs.config=\"tools2_rel.whatlog,tools2_rel.whatlog.rvct4_0,winscw.whatlog,winscw.whatlog.rvct4_0,armv5.whatlog,armv5.whatlog.rvct4_0\"" if ($bRVCT4);
   234 $sSBSConfigArg = "-Dsf.spec.sbs.config=\"$sSBSConfig\"" if ($sSBSConfig);
   235 my $sAllTags = '';
   235 my $sAllTags = '';
   236 $sAllTags = $sDiamondsTag if ($sDiamondsTag);
   236 $sAllTags = $sDiamondsTag if ($sDiamondsTag);
   237 $sAllTags .= ',' if ($sAllTags and $sSubprojVariant);
   237 $sAllTags .= ',' if ($sAllTags and $sSubprojVariant);
   238 $sAllTags .= $sSubprojVariant if ($sSubprojVariant);
   238 $sAllTags .= $sSubprojVariant if ($sSubprojVariant);
   239 my $sTagsArg = "";
   239 my $sTagsArg = "";
   240 $sTagsArg = "-Dsf.spec.publish.diamonds.tag=\"$sAllTags\"" if ($sAllTags);
   240 $sTagsArg = "-Dsf.spec.publish.diamonds.tag=\"$sAllTags\"" if ($sAllTags);
   241 print("cd $sJobDir\\sf-config\n");
   241 print("cd $sJobDir\\sf-config\n");
   242 chdir("$sJobDir\\sf-config");
   242 chdir("$sJobDir\\sf-config");
   243 print "###### BUILD PREPARATION ######\n";
   243 print "###### BUILD PREPARATION ######\n";
   244 my $sPreparationCmd = "hlm sf-prep -Dsf.project.type=package $sSubProjArg -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter: $sTagsArg $sNoPublishOpt $sJobRootDirArg $sHlmDefineOpt $sVariantArg $sRVCT4Arg";
   244 my $sPreparationCmd = "hlm sf-prep -Dsf.project.type=package $sSubProjArg -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter: $sTagsArg $sNoPublishOpt $sJobRootDirArg $sHlmDefineOpt $sVariantArg $sSBSConfigArg";
   245 print("$sPreparationCmd\n");
   245 print("$sPreparationCmd\n");
   246 system($sPreparationCmd);
   246 system($sPreparationCmd);
   247 
   247 
   248 print "###### EXECUTE BUILD ######\n";
   248 print "###### EXECUTE BUILD ######\n";
   249 my $sBuildallCmd = "hlm sf-build-all -Dsf.project.type=package $sSubProjArg -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter: $sTagsArg $sNoPublishOpt $sJobRootDirArg $sHlmDefineOpt $sVariantArg $sRVCT4Arg";
   249 my $sBuildallCmd = "hlm sf-build-all -Dsf.project.type=package $sSubProjArg -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter: $sTagsArg $sNoPublishOpt $sJobRootDirArg $sHlmDefineOpt $sVariantArg $sSBSConfigArg";
   250 print("$sBuildallCmd\n");
   250 print("$sBuildallCmd\n");
   251 system($sBuildallCmd);
   251 system($sBuildallCmd);
   252 
   252 
   253 print("cd $sBOOTSTRAP_DIR\n");
   253 print("cd $sBOOTSTRAP_DIR\n");
   254 chdir("$sBOOTSTRAP_DIR");
   254 chdir("$sBOOTSTRAP_DIR");